summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2018-11-23 15:34:44 -0500
committerChet Ramey <chet.ramey@case.edu>2018-11-23 15:34:44 -0500
commit8d65a36b20ba8dfc74d7be3f89606c3081c0f92f (patch)
tree9a791cb97aac2fc9df4ac33ca1ade2e79fe2b86f
parent19781f3a76dee894f372cca01a529b275fb14448 (diff)
readline-8.0-beta2 releasereadline-8.0-beta2
-rw-r--r--CHANGES18
-rw-r--r--MANIFEST1
-rw-r--r--NEWS6
-rw-r--r--aclocal.m45
-rw-r--r--bind.c101
-rwxr-xr-xconfigure43
-rw-r--r--display.c8
-rw-r--r--doc/history.dvibin69556 -> 71556 bytes
-rw-r--r--doc/history.html44
-rw-r--r--doc/history.info80
-rw-r--r--doc/history.pdfbin202136 -> 203688 bytes
-rw-r--r--doc/history.ps1815
-rw-r--r--doc/readline.dvibin316452 -> 317928 bytes
-rw-r--r--doc/readline.html631
-rw-r--r--doc/readline.info163
-rw-r--r--doc/readline.pdfbin393823 -> 395235 bytes
-rw-r--r--doc/readline.ps3030
-rw-r--r--doc/rltech.texi15
-rw-r--r--doc/rluser.texi6
-rw-r--r--doc/rluserman.dvibin112652 -> 112748 bytes
-rw-r--r--doc/rluserman.html14
-rw-r--r--doc/rluserman.info68
-rw-r--r--doc/rluserman.pdfbin229996 -> 230088 bytes
-rw-r--r--doc/rluserman.ps257
-rw-r--r--doc/version.texi6
-rw-r--r--examples/Makefile.in13
-rw-r--r--examples/rlkeymaps.c61
-rw-r--r--histexpand.c8
-rw-r--r--histsearch.c20
-rw-r--r--input.c18
-rw-r--r--isearch.c37
-rw-r--r--keymaps.h3
-rw-r--r--kill.c24
-rw-r--r--readline.h3
-rw-r--r--rlprivate.h2
-rw-r--r--rltty.c1
-rw-r--r--search.c2
-rwxr-xr-xsupport/config.guess120
-rwxr-xr-xsupport/config.sub1275
-rw-r--r--terminal.c1
-rw-r--r--undo.c27
-rw-r--r--vi_mode.c1
42 files changed, 4208 insertions, 3719 deletions
diff --git a/CHANGES b/CHANGES
index 3d0e987..09eab6e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -86,6 +86,18 @@ bb. Fixes to the vi-mode `b', `B', `w', `W', `e', and `E' commands to better
cc. Fixed a redisplay problem that caused an extra newline to be generated on
accept-line when the line length is exactly the screenwidth.
+dd. Fixed a bug with adding multibyte characters to an incremental search
+ string.
+
+ee. Fixed a bug with redoing text insertions in vi mode.
+
+ff. Fixed a bug with pasting text into an incremental search string if bracketed
+ paste mode is enabled. ESC cannot be one of the incremental search
+ terminator characters for this to work.
+
+gg. Fixed a bug with anchored search patterns when performing searches in vi
+ mode.
+
2. New Features in Readline
a. Non-incremental vi-mode search (`N', `n') can search for a shell pattern, as
@@ -121,6 +133,12 @@ i. The history library has a new variable that allows applications to set the
initial quoting state, so quoting state can be inherited from a previous
line.
+j. Readline now allows application-defined keymap names; there is a new public
+ function, rl_set_keymap_name(), to do that.
+
+k. The "Insert" keypad key, if available, now puts readline into overwrite
+ mode.
+
-------------------------------------------------------------------------------
This document details the changes between this version, readline-7.0, and the
previous version, readline-6.3.
diff --git a/MANIFEST b/MANIFEST
index bfd0547..ad49d66 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -118,6 +118,7 @@ examples/rl-fgets.c f
examples/rlbasic.c f
examples/rlcat.c f
examples/rlevent.c f
+examples/rlkeymaps.c f
examples/rltest.c f
examples/rl-callbacktest.c f
examples/rl.c f
diff --git a/NEWS b/NEWS
index 1919a48..42be21e 100644
--- a/NEWS
+++ b/NEWS
@@ -36,6 +36,12 @@ i. The history library has a new variable that allows applications to set the
initial quoting state, so quoting state can be inherited from a previous
line.
+j. Readline now allows application-defined keymap names; there is a new public
+ function, rl_set_keymap_name(), to do that.
+
+k. The "Insert" keypad key, if available, now puts readline into overwrite
+ mode.
+
-------------------------------------------------------------------------------
This is a terse description of the new features added to readline-7.0 since
the release of readline-6.3.
diff --git a/aclocal.m4 b/aclocal.m4
index 6ed03e1..76dc9bc 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -962,7 +962,8 @@ AC_CACHE_VAL(bash_cv_termcap_lib,
[AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo,
[AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
[AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
- bash_cv_termcap_lib=gnutermcap)])])])])])
+ [AC_CHECK_LIB(ncursesw, tgetent, bash_cv_termcap_lib=libncursesw,
+ bash_cv_termcap_lib=gnutermcap)])])])])])])
if test "X$_bash_needmsg" = "Xyes"; then
AC_MSG_CHECKING(which library has the termcap functions)
fi
@@ -1852,7 +1853,7 @@ main()
],
ac_cv_rl_version=`cat conftest.rlv`,
ac_cv_rl_version='0.0',
-ac_cv_rl_version='7.0')])
+ac_cv_rl_version='8.0')])
CFLAGS="$_save_CFLAGS"
LDFLAGS="$_save_LDFLAGS"
diff --git a/bind.c b/bind.c
index 2e05b46..57ae10f 100644
--- a/bind.c
+++ b/bind.c
@@ -95,6 +95,9 @@ static const char *string_varname PARAMS((int));
static char *_rl_get_string_variable_value PARAMS((const char *));
static int substring_member_of_array PARAMS((const char *, const char * const *));
+static int _rl_get_keymap_by_name PARAMS((const char *));
+static int _rl_get_keymap_by_map PARAMS((Keymap));
+
static int currently_reading_init_file;
/* used only in this file */
@@ -2255,10 +2258,12 @@ glean_key_from_name (char *name)
}
/* Auxiliary functions to manage keymaps. */
-static const struct {
- const char * const name;
+struct name_and_keymap {
+ char *name;
Keymap map;
-} keymap_names[] = {
+};
+
+static struct name_and_keymap builtin_keymap_names[] = {
{ "emacs", emacs_standard_keymap },
{ "emacs-standard", emacs_standard_keymap },
{ "emacs-meta", emacs_meta_keymap },
@@ -2272,27 +2277,101 @@ static const struct {
{ (char *)0x0, (Keymap)0x0 }
};
+/* -1 for NULL entry */
+#define NUM_BUILTIN_KEYMAPS (sizeof (builtin_keymap_names) / sizeof (builtin_keymap_names[0]) - 1)
+
+static struct name_and_keymap *keymap_names = builtin_keymap_names;
+
+static int
+_rl_get_keymap_by_name (const char *name)
+{
+ register int i;
+
+ for (i = 0; keymap_names[i].name; i++)
+ if (_rl_stricmp (name, keymap_names[i].name) == 0)
+ return (i);
+ return -1;
+}
+
Keymap
rl_get_keymap_by_name (const char *name)
{
+ int i;
+
+ i = _rl_get_keymap_by_name (name);
+ return ((i >= 0) ? keymap_names[i].map : (Keymap) NULL);
+}
+
+static int
+_rl_get_keymap_by_map (Keymap map)
+{
register int i;
for (i = 0; keymap_names[i].name; i++)
- if (_rl_stricmp (name, keymap_names[i].name) == 0)
- return (keymap_names[i].map);
- return ((Keymap) NULL);
+ if (map == keymap_names[i].map)
+ return (i);
+ return -1;
}
char *
rl_get_keymap_name (Keymap map)
{
- register int i;
+ int i;
+
+ i = _rl_get_keymap_by_map (map);
+ return ((i >= 0) ? keymap_names[i].name : (char *)NULL);
+}
+
+int
+rl_set_keymap_name (const char *name, Keymap map)
+{
+ int i, ni, mi;
+
+ /* First check whether or not we're trying to rename a builtin keymap */
+ mi = _rl_get_keymap_by_map (map);
+ if (mi >= 0 && mi < NUM_BUILTIN_KEYMAPS)
+ return -1;
+
+ /* Then reject attempts to set one of the builtin names to a new map */
+ ni = _rl_get_keymap_by_name (name);
+ if (ni >= 0 && ni < NUM_BUILTIN_KEYMAPS)
+ return -1;
+
+ /* Renaming a keymap we already added */
+ if (mi >= 0) /* XXX - could be >= NUM_BUILTIN_KEYMAPS */
+ {
+ xfree (keymap_names[mi].name);
+ keymap_names[mi].name = savestring (name);
+ return mi;
+ }
+
+ /* Associating new keymap with existing name */
+ if (ni >= 0)
+ {
+ keymap_names[ni].map = map;
+ return ni;
+ }
+
for (i = 0; keymap_names[i].name; i++)
- if (map == keymap_names[i].map)
- return ((char *)keymap_names[i].name);
- return ((char *)NULL);
+ ;
+
+ if (keymap_names == builtin_keymap_names)
+ {
+ keymap_names = xmalloc ((i + 2) * sizeof (struct name_and_keymap));
+ memcpy (keymap_names, builtin_keymap_names, i * sizeof (struct name_and_keymap));
+ }
+ else
+ keymap_names = xrealloc (keymap_names, (i + 2) * sizeof (struct name_and_keymap));
+
+ keymap_names[i].name = savestring (name);
+ keymap_names[i].map = map;
+
+ keymap_names[i+1].name = NULL;
+ keymap_names[i+1].map = NULL;
+
+ return i;
}
-
+
void
rl_set_keymap (Keymap map)
{
diff --git a/configure b/configure
index ddc51a9..c9b7ade 100755
--- a/configure
+++ b/configure
@@ -5323,7 +5323,7 @@ else
typedef RETSIGTYPE sigfunc();
-int nsigint;
+volatile int nsigint;
#ifdef HAVE_POSIX_SIGNALS
sigfunc *
@@ -6255,6 +6255,45 @@ $as_echo "$ac_cv_lib_ncurses_tgetent" >&6; }
if test "x$ac_cv_lib_ncurses_tgetent" = xyes; then :
bash_cv_termcap_lib=libncurses
else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lncursesw" >&5
+$as_echo_n "checking for tgetent in -lncursesw... " >&6; }
+if ${ac_cv_lib_ncursesw_tgetent+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lncursesw $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tgetent ();
+int
+main ()
+{
+return tgetent ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_ncursesw_tgetent=yes
+else
+ ac_cv_lib_ncursesw_tgetent=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncursesw_tgetent" >&5
+$as_echo "$ac_cv_lib_ncursesw_tgetent" >&6; }
+if test "x$ac_cv_lib_ncursesw_tgetent" = xyes; then :
+ bash_cv_termcap_lib=libncursesw
+else
bash_cv_termcap_lib=gnutermcap
fi
@@ -6268,6 +6307,8 @@ fi
fi
+fi
+
if test "X$_bash_needmsg" = "Xyes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which library has the termcap functions" >&5
$as_echo_n "checking which library has the termcap functions... " >&6; }
diff --git a/display.c b/display.c
index b2ed115..4c6cc00 100644
--- a/display.c
+++ b/display.c
@@ -2873,14 +2873,14 @@ space_to_eol (int count)
void
_rl_clear_screen (void)
{
-#ifndef __DJGPP__
+#if defined (__DJGPP__)
+ ScreenClear ();
+ ScreenSetCursor (0, 0);
+#else
if (_rl_term_clrpag)
tputs (_rl_term_clrpag, 1, _rl_output_character_function);
else
rl_crlf ();
-#else
- ScreenClear ();
- ScreenSetCursor (0, 0);
#endif /* __DJGPP__ */
}
diff --git a/doc/history.dvi b/doc/history.dvi
index f7efa74..ee3173a 100644
--- a/doc/history.dvi
+++ b/doc/history.dvi
Binary files differ
diff --git a/doc/history.html b/doc/history.html
index 5ddf9f0..1ebac18 100644
--- a/doc/history.html
+++ b/doc/history.html
@@ -1,6 +1,6 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on May, 21 2018 by texi2html 1.64 -->
+<!-- Created on September, 19 2018 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -118,6 +118,16 @@ History expansions are introduced by the appearance of the
history expansion character, which is <SAMP>`!'</SAMP> by default.
</P><P>
+History expansion implements shell-like quoting conventions:
+a backslash can be used to remove the special handling for the next character;
+single quotes enclose verbatim sequences of characters, and can be used to
+inhibit history expansion;
+and characters enclosed within double quotes may be subject to history
+expansion, since backslash can escape the history expansion character,
+but single quotes may not, since they are not treated specially within
+double quotes.
+</P><P>
+
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="history.html#SEC3">1.1.1 Event Designators</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to specify which history line to use.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="history.html#SEC4">1.1.2 Word Designators</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Specifying which words are of interest.</TD></TR>
@@ -1021,7 +1031,7 @@ to the "normal" terminating characters.
<DD>Return an array of tokens parsed out of <VAR>string</VAR>, much as the
shell might. The tokens are split on the characters in the
<VAR>history_word_delimiters</VAR> variable,
-and shell quoting conventions are obeyed.
+and shell quoting conventions are obeyed as described below.
</DL>
</P><P>
@@ -1147,13 +1157,32 @@ carriage return, and <SAMP>`='</SAMP>.
<A NAME="IDX46"></A>
<DL>
<DT><U>Variable:</U> int <B>history_quotes_inhibit_expansion</B>
-<DD>If non-zero, double-quoted words are not scanned for the history expansion
-character or the history comment character. The default value is 0.
+<DD>If non-zero, the history expansion code implements shell-like quoting:
+single-quoted words are not scanned for the history expansion
+character or the history comment character, and double-quoted words may
+have history expansion performed, since single quotes are not special
+within double quotes.
+The default value is 0.
</DL>
</P><P>
<A NAME="IDX47"></A>
<DL>
+<DT><U>Variable:</U> int <B>history_quoting_state</B>
+<DD>An application may set this variable to indicate that the current line
+being expanded is subject to existing quoting. If set to <SAMP>`''</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>`"'</SAMP>, 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 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</VAR> is set.
+</DL>
+</P><P>
+
+<A NAME="IDX48"></A>
+<DL>
<DT><U>Variable:</U> rl_linebuf_func_t * <B>history_inhibit_expansion_function</B>
<DD>This should be set to the address of a function that takes two arguments:
a <CODE>char *</CODE> (<VAR>string</VAR>)
@@ -1977,13 +2006,14 @@ to permit their use in free software.
<TR><TD></TD><TD valign=top><A HREF="history.html#IDX17"><CODE>history_get</CODE></A></TD><TD valign=top><A HREF="history.html#SEC12">2.3.3 Information About the History List</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="history.html#IDX3"><CODE>history_get_history_state</CODE></A></TD><TD valign=top><A HREF="history.html#SEC10">2.3.1 Initializing History and State Management</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="history.html#IDX18"><CODE>history_get_time</CODE></A></TD><TD valign=top><A HREF="history.html#SEC12">2.3.3 Information About the History List</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="history.html#IDX47"><CODE>history_inhibit_expansion_function</CODE></A></TD><TD valign=top><A HREF="history.html#SEC17">2.4 History Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="history.html#IDX48"><CODE>history_inhibit_expansion_function</CODE></A></TD><TD valign=top><A HREF="history.html#SEC17">2.4 History Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="history.html#IDX13"><CODE>history_is_stifled</CODE></A></TD><TD valign=top><A HREF="history.html#SEC11">2.3.2 History List Management</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="history.html#IDX37"><CODE>history_length</CODE></A></TD><TD valign=top><A HREF="history.html#SEC17">2.4 History Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="history.html#IDX14"><CODE>history_list</CODE></A></TD><TD valign=top><A HREF="history.html#SEC12">2.3.3 Information About the History List</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="history.html#IDX38"><CODE>history_max_entries</CODE></A></TD><TD valign=top><A HREF="history.html#SEC17">2.4 History Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="history.html#IDX45"><CODE>history_no_expand_chars</CODE></A></TD><TD valign=top><A HREF="history.html#SEC17">2.4 History Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="history.html#IDX46"><CODE>history_quotes_inhibit_expansion</CODE></A></TD><TD valign=top><A HREF="history.html#SEC17">2.4 History Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="history.html#IDX47"><CODE>history_quoting_state</CODE></A></TD><TD valign=top><A HREF="history.html#SEC17">2.4 History Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="history.html#IDX24"><CODE>history_search</CODE></A></TD><TD valign=top><A HREF="history.html#SEC14">2.3.5 Searching the History List</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="history.html#IDX44"><CODE>history_search_delimiter_chars</CODE></A></TD><TD valign=top><A HREF="history.html#SEC17">2.4 History Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="history.html#IDX26"><CODE>history_search_pos</CODE></A></TD><TD valign=top><A HREF="history.html#SEC14">2.3.5 Searching the History List</A></TD></TR>
@@ -2136,7 +2166,7 @@ to permit their use in free software.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="history.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>May, 21 2018</I>
+This document was generated by <I>chet</I> on <I>September, 19 2018</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
@@ -2298,7 +2328,7 @@ the following structure:
<BR>
<FONT SIZE="-1">
This document was generated
-by <I>Chet Ramey</I> on <I>May, 21 2018</I>
+by <I>chet</I> on <I>September, 19 2018</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
diff --git a/doc/history.info b/doc/history.info
index 69c533d..caa8648 100644
--- a/doc/history.info
+++ b/doc/history.info
@@ -1,8 +1,8 @@
This is history.info, produced by makeinfo version 6.5 from
history.texi.
-This document describes the GNU History library (version 7.0, 28
-December 2017), a programming tool that provides a consistent user
+This document describes the GNU History library (version 8.0, 18
+September 2018), a programming tool that provides a consistent user
interface for recalling lines of previously typed input.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
@@ -79,6 +79,14 @@ Bash does, so that several words surrounded by quotes are considered one
word. History expansions are introduced by the appearance of the
history expansion character, which is '!' by default.
+ History expansion implements shell-like quoting conventions: a
+backslash can be used to remove the special handling for the next
+character; single quotes enclose verbatim sequences of characters, and
+can be used to inhibit history expansion; and characters enclosed within
+double quotes may be subject to history expansion, since backslash can
+escape the history expansion character, but single quotes may not, since
+they are not treated specially within double quotes.
+
* Menu:
* Event Designators:: How to specify which history line to use.
@@ -602,7 +610,7 @@ These functions implement history expansion.
Return an array of tokens parsed out of STRING, much as the shell
might. The tokens are split on the characters in the
HISTORY_WORD_DELIMITERS variable, and shell quoting conventions are
- obeyed.
+ obeyed as described below.
-- Function: char * history_arg_extract (int first, int last, const
char *string)
@@ -668,10 +676,25 @@ GNU History Library.
space, tab, newline, carriage return, and '='.
-- Variable: int history_quotes_inhibit_expansion
- If non-zero, double-quoted words are not scanned for the history
- expansion character or the history comment character. The default
+ If non-zero, the history expansion code implements shell-like
+ quoting: single-quoted words are not scanned for the history
+ expansion character or the history comment character, and
+ double-quoted words may have history expansion performed, since
+ single quotes are not special within double quotes. The default
value is 0.
+ -- Variable: 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 ''',
+ 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 '"', 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
+ 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.
+
-- Variable: rl_linebuf_func_t * history_inhibit_expansion_function
This should be set to the address of a function that takes two
arguments: a 'char *' (STRING) and an 'int' index into that string
@@ -1308,7 +1331,7 @@ Appendix C Function and Variable Index
(line 14)
* history_get_time: Information About the History List.
(line 29)
-* history_inhibit_expansion_function: History Variables. (line 62)
+* history_inhibit_expansion_function: History Variables. (line 77)
* history_is_stifled: History List Management.
(line 50)
* history_length: History Variables. (line 12)
@@ -1317,6 +1340,7 @@ Appendix C Function and Variable Index
* history_max_entries: History Variables. (line 15)
* history_no_expand_chars: History Variables. (line 52)
* history_quotes_inhibit_expansion: History Variables. (line 57)
+* history_quoting_state: History Variables. (line 65)
* history_search: Searching the History List.
(line 12)
* history_search_delimiter_chars: History Variables. (line 47)
@@ -1362,27 +1386,27 @@ Appendix C Function and Variable Index

Tag Table:
-Node: Top849
-Node: Using History Interactively1494
-Node: History Interaction2002
-Node: Event Designators3426
-Node: Word Designators4565
-Node: Modifiers6202
-Node: Programming with GNU History7425
-Node: Introduction to History8169
-Node: History Storage9859
-Node: History Functions10994
-Node: Initializing History and State Management11983
-Node: History List Management12795
-Node: Information About the History List15089
-Node: Moving Around the History List16703
-Node: Searching the History List17796
-Node: Managing the History File19721
-Node: History Expansion21541
-Node: History Variables23451
-Node: History Programming Example26521
-Node: GNU Free Documentation License29198
-Node: Concept Index54370
-Node: Function and Variable Index55075
+Node: Top850
+Node: Using History Interactively1495
+Node: History Interaction2003
+Node: Event Designators3901
+Node: Word Designators5040
+Node: Modifiers6677
+Node: Programming with GNU History7900
+Node: Introduction to History8644
+Node: History Storage10334
+Node: History Functions11469
+Node: Initializing History and State Management12458
+Node: History List Management13270
+Node: Information About the History List15564
+Node: Moving Around the History List17178
+Node: Searching the History List18271
+Node: Managing the History File20196
+Node: History Expansion22016
+Node: History Variables23945
+Node: History Programming Example27925
+Node: GNU Free Documentation License30602
+Node: Concept Index55774
+Node: Function and Variable Index56479

End Tag Table
diff --git a/doc/history.pdf b/doc/history.pdf
index c7849ae..023be9a 100644
--- a/doc/history.pdf
+++ b/doc/history.pdf
Binary files differ
diff --git a/doc/history.ps b/doc/history.ps
index 6cf9ff3..2c1e3a1 100644
--- a/doc/history.ps
+++ b/doc/history.ps
@@ -1,7 +1,7 @@
%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.997 Copyright 2017 Radical Eye Software
+%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software
%%Title: history.dvi
-%%CreationDate: Mon May 21 14:32:51 2018
+%%CreationDate: Wed Sep 19 15:10:43 2018
%%Pages: 24
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
@@ -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 2018.05.21:1032
+%DVIPSSource: TeX output 2018.09.19:1110
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -2641,6 +2641,7 @@ dup 89 /Y put
dup 91 /bracketleft put
dup 93 /bracketright put
dup 97 /a put
+dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
@@ -2846,279 +2847,284 @@ F44580845F0FA422868CFCC8029513235C0286B76196E350498845EA934DF289
C93ECCD6BBCD792189A12FC9366BA7134EFD67A22B4FD62465250E0BA6B7C627
73E8F50E379328B7FABA341B0D50F9A2CFB055E01DDF6BBCF6FE4114BC36C10B
E581D76A84EA12995506C33DAE9035683FBD5F54AA1545992B94B8ED946E5866
-2F2CF263CBDE3B77E12E7D863F0A87788D89A93707CFEB6A5EA14C8BAC433C65
-56730E3E8985960FC4D00F2B821A9218A20F11EEC2D6A153C403EC4BCD0B7573
-5BA5398D8A252EA71E8928674FAB4CFC6C2FC36E7CB12136830849198CB0B249
-74C07C83EC06B2E0A5323E3320ED056D02B614EAD64E0F8F083F5892BC3881A7
-A9279ED632967D7F5BBA2B7CA37F7BE21987D8BD349C3DADF4682D4088DDBB35
-D6F8F74749063C4F59AF41B9AC950E6E588B3856C7F7AA1C9030B9AEE3D70321
-2DA63309EA56951A6E077EE1FEB9BA112BA69982E9EDCFC5A3B462FCA9D16A5B
-951C2128F30DAFEAB3007F0DC4F16F3D38371618A2F4848A9D0D59062E63CBD4
-E4E0F337CEEA736493E344617B5F1EBC96096B66ADEFD26110B4A59C69FC619F
-4CBB9FAC2C9314C831A6399B611D597F4F817603450983BEEE834691DD492844
-A222BFBD54593B70F18BBEF4D0969B1EA062F7DC61DB08F88E988B58EF871C3E
-EE1F380B98FBA95CA4E524DFC9DB291A5222D9792B9AE3A1F64E868B1BA4B5EA
-E2BC7C68C837776B01738FD3B8D41A3091D8B9A27050E56E0AA39F8F3AE52AC6
-42D30C4363786477D1C2D2FD832C7E2418A7B1E24FAEA7AB5AD1B99E319E3319
-BA790965EFBEDC46D4E7699CD4FA57A28ABCF8D4C05D4C7618C133ED3180C465
-80FAD466CB46D5FD53216F0F15EB9776562B7B6F808A9D8D9F4DE099D7C99C9D
-06588071FA8C36F774B05C0D65259DD0514539030DCDBAB67D6E1A19B2A6A547
-3BACEF7DCCA65B35BF4FCA3531D08DC5A301E0C112FAE9D9173B7B47E7F7C531
-3103B70633AA09E4F87D64CF5E3B7FEC94276E910FAED3C4B30C32C3743A5C39
-B5FBFB0D16C2B1998F53A0C3CB48DF19B4FA9E98BA3D503F5B82EDC2EFCD8521
-8C9006735D194CCCB8DEDF3D465F2C057E1F8F2D35B362EF9D084D429BB71584
-62AE48163478E7FB8AD99F01600BAA8B77C6F98DB7DCBE7E0C46B917EDD2CFA1
-F209D9A01CC283B773BC469257401809BFAAACC0C9980C497DEEA796A60B992E
-39F098D4218AC55FF0ECE7BE1CA314F586AE82CE5B71E4AE1D768BB52FDAA949
-AD21F4FBFC0EF3CDD44FE8D92EB97776F618AD9E38553BD0492149B3BACD7FBD
-7440BB8786D93167C8E4FCF61AC3D360B06C4424F4D46FA91B862D7A27BCEEE6
-C3ADEAB1CD0F8A8752EFCCB3E592162C57933169DA1DAEBFC2C866C10A5F7840
-5447A38BD856996DDD56BCAFDFDA2979FBA4AB6D4FB7E70E20B76F5A2AA3442A
-4EEF4B1CDBCB3278A1F55C99C7C4F7F34C81B063F8255348553E00D3CD5F5A33
-C7FA5E4FFF58B2D19B9D04915B1A33903ECD61512AEEFB41E67535D32AAFA528
-10FA9F87F68EF03DE847AD8BE921CF3D20D06098BE223F66DED6AD3BBA11F79F
-CE8F4EC2A83A6264406B36A48FF893E972BBD98613C6BA7C27804BCF2FD5A4CA
-D8DAA8D54F14C21A361CD594B9F76822908797D78288D86EBF0E627CC4C8F79C
-CBED3B764D2CA0D05BEDABDBAC5E09E2080CE815A76245D0E0F13314ADCE77A8
-6656CFD4C2460601ACED80939C44F600BCA055BB0332198CC80ABD2A7E361E26
-2AE4C41F97E34A97897586C5D79FFB57F5BEF34EC91CFEF1FF1F64F7D1FE945F
-F0DA4CCA520C5941F83318E765966FF0B9729FAED847F59264E7C5752AEB8AB1
-77426AFF9CE3AF2C1A3FC8F8EFC4B6E74A2201B08036FAEE8F74D6E74A0D397C
-7A7CE3E2D1F9BC1CDC1FDBE1647CA8FDD2AD012EBA5D8D4DBBA99BCF9ED3EEA8
-E8773C09545D482E30653D9FBCC67B925D48363D75B11A0E402D9585C2D5D053
-EBF046430962FA0D514308B0E9DCC14CFB51C0F9836B2244650E77777826DC35
-B5480DF48F8D9A9D731D50FAE55365BAACBE23E7FD0F4F6E22EE8B17F1CB806E
-3FA29E94280B973A85EB8CB57C047605811637076E0D98C349353BD4207FCA1D
-A11094D4DCDBB76B4AF79BBBC627ED1D176D82FE6CF34A24EF452B1F26F543ED
-2193C75C0C003B6B3C030BD9AC90C312698C4EEEF07D64753999E7E45C326DE9
-D5F1F3717D94E94E4B27F809444E1E474358D138DFABCBD6FC00E5DF2B6628F9
-89CC2B4821E8486147E9EB9CC942809FD4514C3FFCB1A9DEAEFF56EF66277F41
-8E3F7CB7997BDFAAC4429B1FBE3CEDC59DB54BA0A335AF065DE6A9981D9CB365
-86B48861A11FE0AC44C1C6CC9EFE479427C4CC328AC44D3C4312EA23A04F6D82
-A9A0062AB6D412C5A1A8CB99E7527C3B37FF79343AB8ACD53B6090341960823C
-D6F5B332A2EA6C19E5B237FED411F3C088AFFB94F1AE2E4EBCD67885214C1333
-3644DA63A8BAD52C9408C0E34AF8ED898422A0A2A4B8E9698142B53D76462200
-36CF4D53F66C51AFE6336651AC3CE180B9C382998331BFB6A86B973955D28045
-E5106EF370EBD1B57300A0EC9EAF11BA81A19131076A75D6364556F0CCB5FBA3
-872299EBC8A91563904119DA00450E360B5B7C5B6A6EEA87C10DE6B911109D46
-FBF66B637688E63AFBA42D647637A654D7D16F5A85382EBF72A7103359CB5899
-AFA4C0217EF645D765BA796BC00788DB7590F64EF066F5DEB3321090F544FFA6
-1F2185AE24C9C6051D625C2FF4D0CE0A476178E9DEE5A1A76E2139419AC8C875
-CABCCB25A1A1D18E4422015C6B8BB9EAC87F01E6DC4B5C194A0AFDAFADCABC1A
-14F9B80BC7CF2B18E2C9140ECB160CE260278344E3168A17DFB3612E8336800D
-FF3A13DBE3EDA20852D38D89CAA2B692EAF9E380302C7587C5ABE01A862FD37C
-1BD1315ECE39E266FEF9D847FD2A45DDD7A3E662C4182233EF90573138EEE323
-F64817AA1398052715686BCF461D29AAB9957671EF40869821CD6D5D499C0862
-17951DC682C529CBE8E8C0D49A5E6FA0956B2BD29EF5870CC2A2AF06EC743EAE
-6D9530AE87BF2018CEF6408BC4D97086451A0124A841A094C34F2A6FEAA97D68
-7F60A45619136B914439B1B12326314B821BEC74CC70ACB09953F287C5A0932B
-FF84B72200A20FFCC7F0038B44A5A0E9958490F023D786EB9E2C7C88D95C1EB5
-570424C0A458E89B31F2E681B99CEEC4F6A72E7BC4B7E6F159C84268138AE583
-138484A95D42F3743423480678BC749D90B1E0233071693B87E9277F3A1D9D43
-1A0CCAC46EB872FD71CE75BFE106580A89DE930211125CC6255361FAAF2DAF57
-9F4A86FB8F1FD6BFF647488691B113F5F4621614E87502EC3AD9C70B8770755F
-ECEC384171BE34CB185439F8B1CA228A0E1E2FA02D38FC2E6B1A1B1BDDA7648E
-C39306D18013CDF6F9FE27861C172CC1E5EBCA0F9395DA7C363799EB6476A573
-CC95218E4B1387908DD37C402C5E14DB7E1236B1BC094407906120EFCE4D620B
-6D8279BA52D64C5C3BE3D6E162975B61D1B8630C10A5F342D4244C9793C6651B
-10B0B67CB877E7BBD8190FDB646C044734EDA86407D9E3414404E392EF366FCD
-C7461F6E08AB2B09B4FCC7C98C97E4ED4CDFBFF8AC9EE7E97C1A7B3A0DDAA3C2
-F9849E4003A8F043BA005D297E5A292982CBB759439F9011B3261433C8EB3F92
-E3AE95248806CB2665DCDF4B3759A48E1EE84BB1B8693AE805F4631974522203
-3F467FDC225087213BF2D79B8B148A47D96DCF3F22F3005FF5541898F95B54C5
-07B931899E8EA1BD0F4F46457F63D64E57CE355BBA9EC53AC8257B1B37ABF0EB
-3429392E1427A120FEFAA66D1FDDED3F1D26439168690F10CA3C48C8921735D7
-E059470DF5C64F1EA4A20857EBFB70FD768C2DF77B90FD83D907268269F2D233
-D603056697E13F1B46DE86C3153A92A619912D6E5316E0D1DD7F5DD8C7FF1B5F
-F2FB39A652F6536A5BAD407AB9A5C9D93CA5A6284A9FAB4D353D54C5CE177C95
-C2C3E5918524DA01F22BDC2E60FD35D43C46686877A088099F000C632412562B
-D30BFA5DA02A94740A250DA5F130E3ADCDC390F2BDB1192DC7C5A7E4D7D908AE
-2E2D50846BBD1191FA262B2E38416B5F99EF71510530CD803DA1303CEA9CD053
-24ED32D8F992521D8F3B358A56B42D89EC455210D052023EEFC35FBD2CEE6A76
-A9F715D6A19BAACB7A6E56E4DF72F516C4F9354024800017E30C3D97EF968CF0
-07992318D1C9B8DC96AA1639B0B0F460D679D6306B34CE67203A97C9A2043AC3
-671DA26BFA89B90E564C29089000CE852D7E76776ED7BB562036B78CC746FD2A
-B45880E09EEF0F7BF4BEB7FD573382968226E4AD9094D801F07B16E63B83850E
-88111A93497978E539051BD0176D51E8888C1CB09AB7B64333C87C5574772010
-A74416F6D539634394B1BFFAED30DA7F67B36781606366C11D722A8C712638E9
-0341CBA1A31CF39EA1EFDECD7969DC31B06538765A2E1C8C7267737847BDFEF8
-971FBBFF86F375979CF48E6A34FC82FA9E2A934764DC72035324577A84225BE3
-D0BB79BA56D8EAB0DDCB541E50A2DBB501D7CB45D8FE16C9655ADA08BFFCC38B
-3077D05BA9ADC17F6EFE5F85125AE6A8935B00856BD588BDF0562E5224A4A4F5
-3A863355F6067AC8BD4ADBAAC72A99F351D82404292DBE2EFAC89921EE4B4784
-28661DEB2AF55AE6EEEAF6FB1C7483135D0D15ABFCA646FF3D64EC992ABA0FD5
-A8FCFDBA5080ADC60FC4B93CF4A84FC30E122C67D92DB0DA18DFDCB0D6BA9FD9
-E0F8C0286FF73E9129F37A863033C1E933896E2D47785B8FEE054EBAB376D670
-3346EFE8319B56827B4448429C5CD70ED1138B209FE7CE20CB3CF16612657665
-73856F9D127751D0F82A61FA10A366060746C0A627E39ADBB3B6A3056998D623
-1A08E7F86E6CB07B00AF5781F287BB62B553BB1490CE885BEBB92C9240F1EFF2
-CD6B893C8CF63B600B2FC17BC96AFB51C0BCE68427D843E5F98851B5AF735302
-EB6EC9BE8DE93BC5C6F48B309CEC0006D15506538F01AE8773F457CDB07D8A98
-EE767B499D60D9F115A692949754FF4983B95599F4DE322CA7F9DFAAC1658C36
-C2268D5569835DCE35DB6E40030CB28B30E31AD16AC8395F66F39F5D9DCC0E5A
-273E3111A4DD69ADE07B9FA18C7A7EA669164C6851A72EFFFFEA3E18B5B87D7F
-9A5331599ECC82C362A2103DD50E9D8825898D360C73A7E1E4E9ED66130746F8
-3BF5542959DC2210652383EFF1857D9657C67984629BC1E14570EB254C3D5043
-1E8A0347F9ED66FBF17BDA2C713CD7DC0F5347F06B3432967D1D0C4F7211B5B5
-CCD61164D5C9F01A0BA207D6EA2724F67F84BA845A28F1DCFB5E59D4DC57BFE1
-50864ADC1A703DBA46EF00F2F4ACA298EC1C1DCD26D647014806CECCC8A93E87
-158F2982A72C2B7167A87207D637B92826AFE261D9763A456F90E735DDFDBD09
-1C176B0C0D1774D9FAA5462C2943715E71F3C8CCB0BEF0AEBB5D00812E64CFEE
-282505EE165C6777C37A0CB2B7066F4CCF84B1578DC1A1165D1C60324CFA0263
-08FD152E9D3BC399CF45036466B70C54DF463A19923356834E49FBAA86250899
-4F1DA6637091255FB9B16BFC9DB377AC505FBBD1DAF88233EFCE65F1F91D7428
-10BAFF60705AFB67647EF947A26D86E868681A18E60CBBB552B96FD411100658
-1EF8A14F2E4373667B2879ABCB2D13D97A7084B345EDFEBC6B329CFF8F828330
-8DAA4AE60B8B3BBE78C05ACD0DC43A6907EC875605F84716A4E95FB406A4EC1E
-C5DA35309A932CAB84F62A9045A2D391A7728D51B18ACB5CA1FD1AE58976FDA8
-1F8D86E3052DA3A64360E1DF8B9407979E583F2EB2752C8317B255F73A2F87DF
-8BB2B5FE9464B360868C02DC6182C634140D9D51206B57DA40198D911CEF0691
-9EC2165F4BC87618D1177D281B5AD42F39FB0B76F678BAB0A757130078135EAA
-BB8A0260B772B9A748752D281FA0568790E80AFCBB1340C5E6DC160471802D8D
-D754FEE5FBA6532EAF51163DF21702C81E315834EE88F771CC9CF1D33E20F561
-1E3E661D89EC5C535FF486DDD590AD7F072B432EB842C7A6CE4C52C2A5C1B80B
-EBBC113C933400A257B2E16888290B16DC53991FDC668B304842C8600B9313E9
-08D29D7F02375F216DEE47DFD6E1D3C04F2D50977387457AF1A7FEA816D34427
-0278A675204C264FFE5C0EE3A21CD6BE7FB3A025CD33D6FB112BB0D0D20A416B
-EBCF0FCDD560A5E0983019CC7AF66D92B52C881153E8E12AD300571ACB5BAE05
-17C00671628B1E76E899D116B9A140BDD9CBCCDA64600402E6341305E77B1A7F
-418E108F85A4427F425784705844344B6F405352259DC6DE7584C7E0E5E2D22B
-6BA08FDA205B0DB705E8FBC9C917A0CE1C4AE14C17A0E98042CCAD0D2279BC79
-FB504AD1E264015F95B5DECD45332947C70C69FA10CE0B5FE6C933960B4866DA
-43E4B1283ADC307D18ABDFE9A8A2B10E862C5A771B346896C7FACE788569E483
-FE26378F52AF1D05FF2CF8C09119F7250D4EDB175CB7B958A8013CF68483A2FF
-93A39E2D0C51D4DEBC50E275869570686EA784F7F13401D7CD2619FC435F1344
-320D875C32319F796E494F75604B326CBACA2D5E16F37DF3E0BE72A649BA7562
-7EE30478DC8DE07D32A0FF5C7072D0A4C4CF36CD9E3E1DD20BD28B90776865E3
-16334B2A74EBFA0185FA602445ED88AC4FC8ABD184BD0FEB2713A6DEF4CA992C
-FED715F768F9D9842BB6DBF76B201A04D23055193A9C93CCD0717A2045A7E0B9
-0D6466D1B7FCBFDA58AB8F758593FA72A067C5C627C52EF12587397C6D626AE1
-28C12AE56AA1ED22573AC2897FBB7CF56EBD98BFBE369545F66FE6B4350EE538
-A419F9F61A592B7A54179B1CD577380DECBA2465B62EB9662BF2B82EB64279F5
-728D63F13B123102FD0727CCB312918FF43FF5543BDF8A0B01A7881E71F4D05A
-531BE4A89EA6809F2BB681A9DE9F53E37FA6E2E710086DFBD2FB8A7EC5060864
-9DB12C1E043A0C0FDB3EA5EDC78F400753FDA077EAD9EFB407EFF4A4ACDC3BC1
-0A149991A58B908EEB75581D2E2EF47E64EF9145485F652379E9A3C01117EDA2
-281D91D363E8D7588F24794AD2CF2590995A3339C7430364163AEC6E31529CEF
-EDE730EFB5FBC05DFB61BC9BC79367E9FBDCA34A4A537F78AF4F141DF5291A77
-A2225E7B7EA8DE8048F644DBEA4A47DDD8F275A462452E5737F8EFC04EF2D779
-25BD61881D197873B097172331B61256D45FFB8447D6774AB3BD150CEF43E0BD
-043C86D3C7427A3D521D2C484715E4A48693D647DE2D84003B48AED1A96FF440
-4A586D53BA76A434AC33BA6F9C6F4B443135F1F35FB197B0FC92080ACEBB2DAC
-A46B38126DC5B87DB7E1E83C7DE21AE5C7156CA18005ED6AD02B4CDF99E1B21F
-978FAFC5954EEDE6E394FEB95CC559A6DABF05ACDC0796DA6A39DD25A7BC9477
-C4795C728928C1A9EE1672205D07B1EFAA8F4BB2BB413D45738E8D474CDE2299
-552B37BF12EE136DC692F5E742D809DFE6D18BF866909A87A2C62C526BCE085E
-FE8C7ACCAF4A4B9561E3E3BE14A8633B885B86EC57C0D8095751536548C74963
-054189593A7BDE80B28F6642190AA560ED47BFA85FBA91557627D3EE2BA2E851
-DE2E17EFDEC23189CB308311FA623EF6F86EC34E231304DEEDF5E9C6BF964126
-F79D5EBB5F22C70CA5EE66991CB1FAEEF95E7E14BD5D25E2871CBD2163DA990C
-FFDA3D174140C7635710C1B3B927989111A6D37C8749EED67FBDD93D0A45E873
-E7398025B1DE7F4238A118977749B489923B4E6AE60162B6105F5E1FA02ABA5C
-84C1B26EFA27D1A5F58822A1897A374F73EECCE0422CC1D0177505F132DD4C55
-6AC7783729BB7B6A1CD33FC430A264F229D0C5A69DCF9F804FD1F01D575E77E2
-67FC00F6ECF7B3F592A7A49E410E8314BE48BDC95560401700C11A15DFEB6B2C
-189646F7FE7CAA7F938227F0B232BABE8865E8D3B764AFE6EB635ACAC6BA7C40
-CBFD610D215D07209EDB7B60807FD3DEA51E9DB40968DA07248168B6DD4C3003
-F5402EE2695D212B4DC983CC2EF4FC5BD59320EB462C88F2F4B62CEB6E22A726
-09961D7E4F09260BD5711713C32FCE1689E2CC03BB005EBAEA2A942AF20E3635
-D99B2D1C6E349EE350C923EFB6815F8BBA40D947E2619D62053E72601EAB54ED
-5F20652B03C8E7E1D65896252B7D436B77D3692C115D114F5042605050C3E06B
-2637DA6F0CC97AF4D51242D59D335491D67E95B7149C3D323BEAD304478F4196
-7E473D7DD7C9B6E1E8EEDFDA487697286F939A445B5ECE89437FEBD59AF5836A
-0FC41F7AEBCEC8EAC56D827587843055E19629E6BA0644DA586493763589549B
-C39EE3725E9C20692F2023862A3D29C4116F875DCF7D2BB4E79BFD54991A4FD9
-A7E852BBD7CDB42B624C969FA6A7DA55CD2E92AADC4243ADFD124D941152C53F
-E3764D1EAD5A6623D94036E1A88C37791DD21C59727E6ED28FC5F644B6CEE4E4
-9132042DF830F9DE1E6B78EC16EBF7687C4A4D07DF3ED52554F76996D88E40E8
-C30572AD06D64FCD20532C2B6BE71E65136EAAF008638C9EF102EB32243FA5E7
-1DDA1FEBF85FD71337C818C953219F592640A6171229F0D8E1447C4AB0E6622B
-5124945199A32EDB5125FAD3C022FF2D0AE256749223A16829FB4E1A0B60590F
-4268047D9DF9CCC59D3562D5E44E29E0F066F23AEEE045707647A75811D0351D
-AA4CC0841BDB7A63EA0BA675E4CE4CDE08975FA95C99A9CBA60817A52B5E6417
-199173813190A6151058DB86852F2C1BE4DDD1266F911F2882B5376B60C9C38C
-95B39F8511CAEB1E3003C279A4CA1FC38FF69C833DCCB586FDFE22BBB49D263C
-6444EF2C6CB9979D0CF54FC8EB7BB49EB3569DDFCB71D0966D0F0D2CD69698DB
-3862AA0B9B3D90FDE9B4BB39726EC682E8974AF9075539D975CE0CF5803EDD6F
-9F9ED36969486CD805C96E5DAE2D50F1246F36E95A974327579DAA83A63AF308
-7BFCFF42022C2D949B430C14B7536CA6AA82930B14112F87E9854AC8D6185267
-0528A7107D396A034E337A4B73BFCC2F323D5768A1E987A2BF2C8F2306404EB1
-26B3D2070A0CCE97065387D57FD9F733FD66997BE2E407F100E5E4021BAA9410
-E07A7128B51C9D320BA607C06C7F184BC27E0B7002C0B4F19685B4A08E2DF900
-16E82D6CDB0885F9260DFCE170996D78E8869A19125249AF59BF153D71E5F00E
-433DCE51F0D8065D54B605A30D0A6108C34F4EB8E56D33ECB111BD38EC94ABB5
-732AB831EF6CEE8B863D6C7CA4B95C2A154B94A16ED47B4A144153ABCDD8D206
-7CDC3843F264A5B786AE843CE7D83B2DACDD82E09D38FDC0FCC56F0D8B91D8AC
-51CF7E1DF59B11B4C5981C25E3C081E27866A3AD792C58C11C05B9EEC61AA9E5
-BC923F96864DD5A754205EEEDEDA4B63E8DFE69C2478905CE7E277EC00EEE7BB
-C2B1765F00DA731BCEBE209D595FC9E0F89F1AE7260D59375B89F88641E9C697
-E7766ACD81AE325EA386137FA6712FE56A3D4074BEEC88D76076E31C96838A2D
-7C6BF02DCC26F98A18C4206B33ABF6E6CB0D36E21735B89C64964CF4E1B9A8B5
-DDD1097309B975DD6D75824FB2D6C92EA2D010AA792228FC89B079771322BFF3
-E91B92AFAFE64D84CF391236A83524B3D4957B1A2C78ABE1EA4312FC347D1430
-43EEAD380C9ADDF5F459AFCC91682F8318DD22606240DF454E445491F07DA7EF
-58D0C679D9E887ECB473520581DEF2DE4B2A04B5B849BAC43A414E11AA3A5B41
-A7EAA9691400A3E935D922374043C8528394883DE9D7C98F9F7C814CFE8C7A46
-D52353B0AE2461F404503C38D956ED7C9EB65E3A0058F9A26333B034B7C0A97D
-28B8AD14F4DBB4D12122055E08FF3BC08D4709447D1C7A1CDE89AB45435DC837
-ACD2B64D368CB767F9B1D06D720E3271EBC715D0E2711D6C343F09039033A82D
-6716650CFDA57CEFCF25E8B86E243E77B4364B04BCA2D3BFA335C55FBB2ABA8B
-98CC06C87794FC020E7E0041CFAA75A6EEE43F6A5CB49E75EDA9D28AC1310D58
-DB1E938AEC9700C3F5102BAA6434D528C1C388BF13126C9E38173A1593895140
-42B9C08F98BE436EB5AB4B41B5B7422D853F982A5A1993FF9C03CB7A2068FA75
-F8E261E683E6F183EBEEEE8F407BF7024C6C66B0DF0379FD4A636F0EAF3940A5
-F48A71B8DB7473892474063353CEDAE734B034D9F7CC60FF1FF349F9C073B88B
-66E84AFCDE225BF8603C28BC8114DA9E9713C0246B4791AB5E55E0EA415D0163
-CEB21A1007D6F060E4DFB0902980B806E8476149241CF2388A4F3A75DC92CBEC
-303CA5829ED4BDE069F7FD3986D51D8A0BC0C7B6DE0FD5023A0B90075DEBAA48
-F5A62FC091642A061800CEC50FDD9BB3BD9E016391DBE31871B6EF431BC14A0D
-486D3827016B5A68A223117D416E86064A90A4B3B447977C0A681DBD07FCDC53
-90D92DEFF3BBAE3404AF40A5D357AD532BF82A67293799A1223A0D4B21A7C590
-D38CB008D97C51A2F2A64B35658795EF6CD44186263539760637F9C8DC75CC3E
-0F5F14E7B46302816ABAD623C664CE96B237E61EDBFE55DC5D00D858B75C8F25
-D33E2ED4643AE95E2470AE34CDFDA6C2B6D88AB81370F0C6A52E734164FB7611
-54414E4FF7B929DF6C3774EC50D769E41EFA98A21277ACF2C9F23F042F74BDD6
-B83A3156141787EBBAC8443CC276DEC97AFB922E5F4FFB16B79F913B874D29E4
-E88768568C31B1E14F081CDBBCF94D7DC3F16FDCA2918B8D1193BF99D756EFE1
-49BD3C3A0CE71BD20D416E0DCB6F83E8C3B9B4050A25DCF54962BB07865E3F24
-EDD4946718F7210D839E1EF0445D68D10D8926470541CFC9F5A336363BF66E5C
-9AEBCFFFB906E377ABE9025662729660B5AE961DFF59B4B11656295F0487E01D
-0E9DA65A913F371EBEC1D8C89154D739423F6BDCF53437BB665DF3D17BEF6F3F
-59D532D76B53A6240DEE8D68EDF71700AA468CC3E0CDD8DD50C3051608119713
-F4D5E13CA685FD48D03E71726BCB26A4C885B025179C6C7BCBBB669EC6CA544E
-16BE90184A5DF4A9532277C765CB25678D798E3E6BAFCCC1B0B31880526BFFFC
-B707D24FD48BC2DFB593285989EB1135D47FD2E30330943C5424550C4C17934D
-2CC69FB31F81916BCB774D27AE711B0754E25655927429C626799846240E7AE7
-5F662E4851322F94A14A73BB355C6DEEEB0809B730812B0798A4E0CDE08A0594
-1D8C3FC7E055BCC948D74DDD4AFB62533B78BE85310B9BCCF61F1038BFFE4A3E
-7B982D1756B58331F924D67A55F86CDB5BB347DD4EB04271D0FD2D25D3EF6682
-2EEE955197ED008219F386F41539875CD8DD847499F9E56545DE11C43036CD5C
-E5C5262A59EE74E0CD303056D37C61F555DEEFC997CC80B06C47F90A3C46D097
-610A281CF632C8E2F7B0D2F84A434BD575B49A795EA04CA3CA5AA86B299E9F77
-78FC4C37568A66996722B764000A7915EED0B05CEC2942FF564B7C784B2A68A2
-8CAFC810C16DE4691C98A7C99ECBB03BC1A16C7AA61931FEDE0E139AA1E294AF
-9D0A84607DEEEC4DD4C35D5C9798655960A8F335FFF479D061EEC26555110D4C
-5877552A318CACE59A4561BEE79F36E292C427F36EBCAEDCFDE161707FFA98F2
-C87E128FC6998F2241E4A62C4860BBF4C6496DBB4F218D5FC94C2A40523B20A4
-5A5C9FF7E16C377EFDEDD5B018D40AB01F26815275529D1359B60658FA1B7BAB
-FDF854786A00D61E1122C91C3DDFB2D8B66CC9E523CA09404A885256AC627FB4
-E41918676F3E2B7762A1AF4DD985A4E133EED84E239E38BF4A737E2719409464
-6A368163AE86C54CCBFAAE1B512103E458B2ACEB514D0C3227242B0969FD8F29
-9DB6568F5EA741F84395753D67E291D1B08401574E79FB07969ADECF750D3FAD
-C12CAA382468F626D5D541C6A9BE2657A4C2504AFE6672F60DC3B3CF1A7F74BC
-3B0157D9F19709623D01E657890A40C85B10868DAF4BF1D37C8FCD5D7D3E86AA
-02A5FF16B3487240D84AFA03354B666C20D144D59AA23A265DA4E1D0AED3A934
-C64F4C0738F8B1315BE988949C371284E5299E6BE88AF64E94DEE15E43EBDB03
-AD261E1DC736BB5F413437F4CAA0C586AAF9801A041347627DE8DE18927C2CC6
-A47653C740D5EAE722D730E17951E481DB07F3A0DBDFC4E3B7272F9FEF143A65
-B18E766CEF8E256DDC5409DBE5CC46009BEF3195BEF390F8E2AD6D972B62A0E6
-91D73A39FB27D355DC79BD514F9AC5B38FB6196CDA5DEC54E5A044661BD66975
-2777FC133B8AC7A4B56A21F018079320A3F5F5997855117658B1DF49F5D259FC
-80FF80DAAF9723E2A85467CD60861DAA5A8C80CDB1FDAEDEC2C603D44EBE2789
-91800C4D327350CA005467F8E4941F1DD74B61C5BC8885D73FD4C68EF69FAE01
-2C87B96DC09B516B2250C7E6A1F640D61A557F471C7CE4837317F885F94E7DC5
-C561168BB8C390AECB871C6A782B1C82C1AFAB46C339ACF9B4C411C9CE0437EB
-
+2F2CF263C8B27100503264301A710BAFDABE2BC79B07CFA2FF4628FB593B0C62
+24651DBA0CB2302B18664065F9C6D06EDF4CE96CAB664B99C0B710586D3E3D73
+2357B60C1EC5EC0A5FFFAEBD1FDC2E8607886FD2E971CB2BDE3F3831ACA3C77C
+09331BA12ECD9C58934C3C61023C70149AD63B43B158C677FD43830A89DC89D8
+8DBF8D0F98DDA8D06C9D59B5B4255EE05C2FB4C677FAEF12B325F8363F4A9C00
+0FA3A548FF16017CECCD6A1560E11ED9EEFE1BC796D2BD8984FD88F5DD6153BD
+3172D56277366465F8AE0AE10E72F38DB57D30F9DC28A4C2AD1063ED7F4BF8A8
+B4D7732E938AC8487739D26FC08BA2DD3927747652FF43107A1F8EC3F11F8E38
+1D7A79B86C69CC188F2FBD0627C7F4C624121B2C3B0DE133930F9D480BB2F6D8
+254B97BF6159DDBD297E8F0DBEF47689E090BAC0209D53234F3A97DFABADE965
+30DA301AFFFEB9BBF566F732FD3BC741A4FD6C6E923C0279DDE108FAB57DFB2E
+ACE75598F49515F54CD038003920FFC3F00ADB18020C7E2E008598623A8A11B8
+8CA1EFE31D894F2B86179C7041C0BE2DC7029117D29FF00F8EBF7CADD2246280
+2CEC39A29D82D70413FB6CEFD9B5999414655E1E6FAA31488C3ED458E880A344
+5D6119FD88B3AE9AA81DA4E675F78B570679A50EE64EFF2809E2BA0185EE5B94
+FF3A70DE7E0462E09651C2F4F216479C29D8B753F0936AEAD3EFCC0BA64A72F0
+58770CC3DADFE22FED4BDAF76B9F6D6008A85415D01479746BD03DE32A7D488D
+9B1C8F8B6F10A5A8419B8DE651B2B9CF6ACF892BFFDEEB08B780AEB0818539C3
+7DAA805D8F621BD6B3B75123DE511D88604C5EF071514E58962BDDCA03BE02F4
+48A689D7E434347E81077F835F9801B1262494A8A831D803AD6323DD703ED2E5
+A92BDE25BAA62E955AC85FFA599F38A94A4558F83CB6D601D3DFD0EF37610A34
+F3B68AB6ED3BC07AE74331556F2ADECCCBDE091A2571B5AC458415284E0CAC03
+7733EEA500102E39526E921714290B6EF33987E8FDC5D5E2E6304405B32E6F19
+0D34C9995F41248D56A698B7EEB6CF86722751A0D680389F4F7F0D7B0FA89BAC
+645836C890A9F3EFCE85CC21699950A00DAC35DE915E2AB54D09ABDF4E9A0A44
+75BC29128EA22CD98ADBB8A5011C734367095FE0B43E205E1E579438ED3CC098
+668D1D533E0686E9F6527AB4EDDDE7BD654793F67BC090DA7083619328B2F6A0
+76F82D5AF56DBD8A80F757748FF98C2A6D5BECFC35464BC557123FFCC5D1447F
+D0E47454CBF0564E3449DBD404831D268447DB88DDA42F1239E291FA5B0C2A7F
+0D1BC8606E79E388ABC7F2C4E2F9A37BF075D69C59592D2E4B1749969E4BC3F6
+8DB0A31ED1BB0EAF337DE171630F93F08FBA4BD889DDC7069F06711E40565ABA
+80EFEA764D8D52A10182F141110ACD55089ED2A1686B0A2966929A690BEB4E1E
+F896346DB64B1BD93D2ABA1271303C2051D2065E818FC6F7076D8FFD473FFF7D
+5972990679D3A477AEE532EEA8B4ED029FC6CF5E049FDA19BA86B756A8575E2A
+1A403D14F491FA424733646614F62E16410A30AEDB48F88182CF81F775869F02
+0F8D8B4130CF6A8C4379475C0E5FE333956A7BEB826146670329ED1E267A1418
+AD742E72E26FF3F53DF9BD0973EC25108298BEC5BC4C8A334AB9E9F179494BC8
+BEF0E05DCF987436DB4417EB49CA8BE14460325ACA66945084953FFAEF84F37E
+9881EA4C778636D2EE3E512CE45A4CC31EB52E7BDE60C68F21E90946632A91BA
+402C1F82A5E4E7FC60825785331A9DAC906C9574777749A34326B25259E0F31C
+EA7C970E5344483055900BD864A29F58085BEB1CB67AFFFBAD6294B69F9F8F2A
+36A4B5FC710642A3443674A4D13A89EE56224DB9E402B17A645466E74A293FD9
+A6083DE85E837D034B347A86E6277E4B4DAA3B7D8C15A9BFBC19CB1D0F13595E
+D330FC272F0F4E944FD5C61F26C8734051853FBF27BA228AA98352C4127BDEBC
+A6DC86850E0F1760472C7E182EC921E446583EE115E544E71D326B3A483AA55F
+2624FC99D29A19C03D3420D4B845DA59FAA739F206881580FD36F16514BC3C5A
+66C8B6CCC715035C4A355221321D53D0A05A8FF9E4E7E2DE61126AEEC58965BC
+464448D3A3DB5CF9CE341520B2D8360AC6D0CD8086E53D5FE0A4E9BC992F1DF9
+7056113D28F191921A49F34271FE816F6A4A3016252279DE9A17A3153617F0DB
+B4F5D360243C157FA120CC89F7FE8C2BED8248D1587D2D4DC4F5C90D7D6AC2A1
+329C5536E85BB5ACD3DF5520C4F620782D52F896186453F3206D740B57AB0451
+EE735047AAB4AEF258FB1DD705DAD49F695D5FFE98CC9F73AA59B034D7A6689E
+AC3FC0144A791FB04DD0C2718B676B0405BA04CAF72C57DF2EAB282CB9A81A47
+FFA4890EA672F3DC041210C9F9C86F238FED85DA9710C7C6C0364552CAEF927C
+D52D5A603D205C1494E39F6A66BD012080A4BD18DEBD96DDCF50CA118A569035
+040AD7B9E925F33391D130C3F274077C475BCAE215C7F3C457AB339647191729
+05F89D2FE3FBDB1DDD7606214B50C3860625F0E34FBB3037668338D70032FD4A
+F7602CEF0B62E0D06B5E27F3106894CDC7B249734195A62A5C1BA0CC8F03E3B3
+EFBA46FA153FD44EB55ADE26D38C5B5C1D8C19623208987839093126ED883168
+D4A1D9A5F9C94C71E16FB6BB3504D9E772140F505438A00EAAE79D05C5722442
+EF1244BE875098251BFD488A2E84C2D3F8F70EA07C9805AD823980561A074FAC
+523D3143EF274AC1F1872D8C1272495F07DF9B062ECAB0530DF8FA962D33C377
+2449FEC027B79CFC109821620FF67F02AF25F265E9D241F761B1C21DE9AE21BD
+A0A7BE667E34578A62259E35CD3503A49015D169BA5131BD1230CC16DDDC9BDA
+81FBD19765355B5501FFFCD65438449C36F66ABFA4C6DC52D44706C6E95FA7C5
+E5D69839225C8141E81F67339D6A3F510F1A87980A7FA2CFCF919F83D2758981
+885EF470DC2ECA30F843CC677A3E6083A9639E040DA5FE2AB4173581DA251557
+B631AB6ABB4746A81929310854DC087427DCAA78BE0A14D52CAD85EC12CB5D81
+21F8F7D8ED34E2EF764391DEEA35D03B34F5EEE7E0845939B73683C9A726D269
+6EF42C322E69844F503AB771E7BC722DE5D39ABC79723BA77B0ADA9A27C7E6FD
+8F0523F450EE4FF8D985E36CAEBDF1DD6707B61478675CE0ADAD4E67FF4D34A8
+597F98978F414323791B64E84FBBE9D67764C113C6822C20C57BA3425C1B7645
+9AECC2E00CBB6C8CA670A2A5A7AAD80A1E737E77CFF242BE49B872FFB60FB3A7
+FDAB635914C9947859FB5EA665F7432BF5E507C5C95B5BCC14A841A2BBBAB185
+D1576730BDEFA8A5897E476D51EB1BAEAFF9FB6C457E0B7C9CCAA1684DE2C1AC
+5E893046D4E6D704528669F08063EF86F99D8ACBFA5027686834E8461792E35A
+0CE30ABC123D8C3E22873D65364CE0E5FF75B89D80D6BBF420E5FC5E31CE10EC
+073C4064C47A38800034AB2BCE4966C18B1187E5CB1870B30FFFF6B967A54E38
+2A38EE09854E20AFB47C7E2ABB35DA449FDE353FA5A6FE4D7B550018230154EE
+E635670AA0FBC05DB432E65F3457ABBAF7FD175D5AB5B386E0CED8D7193BD547
+86ED900579DDCACD269C1F4994F845804AEB40D68457BC8DF062A7F3953A2F07
+E3A24311F563B23859C69C790D218B0AE1B4A3945F46A5FD63BE4029957390B5
+54EA289752B826B24BDB883EDDF6659F26212AFC7CC8ECDFF1E7123A911B0F98
+FD9533D672C0A00C73E0F01719100918F605CFE56D0DAA18F421320FC18B3FBC
+78AF72B4093E2D305FB3D8EBE1EA2207D05F5A121BEF677F3DE94ED9F0A7672C
+11ADB780122787F68CFC8F59D4F4DDC33E13A13CBE7B3C5D8782F8C9162190C9
+0F49DB134292B4B488315B11A4C3250977E43F0FCC585709C47B96A2FC381035
+61674AC6B51052D77130C37A49CE264C0973D3D75B1AE625A66B56AD41EC0931
+C9765F8DFA5D1587D06A28DA530498CC3BF68C0B0F24F80BE5C1E76F528A1887
+E8A415FEA0519FF3261FD62F2D1E009F97455D5FD3C75B7775FB5104DB7A20B6
+CCC697D5A821F89F69ACF1017C5462D5B828907191B41C0918A8FF44547B7CEB
+0F49B625F790A2147B94EAE381164BBE644A3E70DAE8E1F6C97A75E8425CF6AB
+6C8073D8E3116D9B5D06C1992CE93024618A5105E7AF32C6BF525C7B5D4AB280
+5D4103479D66C948EC9D153B2737FFD64F95D300B0CB491D97AEE905F3C62E3D
+439936E4C70508DEF021EB918AFBCB4A56E8758E13C9490D86A5B732CCD77373
+4EFF0B8CE6819A7AA5BCC01CA85CFC95719A03098F9CA7AAC88DE8B0C09F015C
+46901E5D0A49613F544290560871A1D4FE48D7F6214F5AE1362E5D1EA1508FD0
+E57DD35C0993EC0CC5E7BE4CB79256FFA4B5687CDD69750377E48CD6DC808922
+BC1BC7F14A5C664B36259FF9161669AAF0525FC70C6F856CC22A7A938BCBC318
+D01E132682BCA208FE3B0989D714E5BC01BEA2E3E1AD01FB56F4477172766938
+7023741747CA79AEE51D233B0C82103426121821648D4F96C22F040F40A068C6
+DD24A417D17F46999C9BC648C5AFEDBE3C4157E2EAC85D9997DF585D8F686C2B
+3365696E492DB619498ED80DBD495BF52AACA15AFA2C7AF60B5697E3E471B80C
+D313AFB321295FC989E819E1970F383C94511737E60C92B92D1720A7AAC6F774
+14C51AA35192A28DD4B2D46736A65DC54B2B25B0996CD01D7B388311B37E6318
+C29731128DF495967AD5E6EB6F1D469B5541A41D4280AE5DA85FF96EB4AF1789
+D7C1DC31D52C087DCE9405062806A0B4E68A075CA2C6CFF60F8720E77AB94BB1
+CF15D4AB943E7150B286C5CF6966B1C3C304F96864958030A625C742158EE151
+49451D17894D4390AFBBB830C7739D4DCDDCEF731712034ED0CAE738647D49C4
+D73584E907CBB7D64E5CCE1A42267689F160E43D8771535D9BDA7702D1981687
+107C015208124B4D759DD00397A0B54C83878FEF897F3BEF278BEEA272CF0C82
+88F57EC3DF160D26746D785AD19F9FF3CAA86BE390898C6B797B3ADF01B0989A
+95B0FC905F034C14C5F32AA0C97B7120601C7440EB99D5855A61A7039320DCB3
+CA9E49E5FAE282460118757D841DAD5CF14D34E5D108524170B6C8F2F209C4EF
+071D1C930A071D0AFEECA65EAD8826E0E54A349F60B54265C62CC70EAD8AE3DB
+B113BE98479072046FFE73BACE222033E2C47C7C749D97E7BC932EF60FAE13D4
+0A208321C365A5104F6638D21176ADB80A3B415C20757104D051D967471F687D
+E3E7E344F9CCA96E6C235B52138879D72D33CE3EF4183ADC3173AFF0AFF779C7
+78190DD5AEEBEF54DB6F50226B652A496F6899978747E151E6347834F8177F18
+0F14381A7BDF9FF785DBF90498806CF5350C82B89E4BBBD5A4F3B050E10E121C
+E71FC9FC055831EEAB6DDEC8F26D102A9250064EDCAE106D53245BF15EBFF4BF
+EBD2DA1099A1F0A1F4B6941DACE2BBBF2A38F6D25C1565B6C95CC94DE6C17E2E
+AA539FC845F16712A2CDFD39854C63F6B7E7A89F335CA2DC57ED30B92A0E0A34
+A15B59674766AC84417A9042E9C388A906FEEDD189714A087ECADAA080DD178A
+70C9D8A1C1B0C9884D02B692483730FD313C4E64190E6684DA24324CF88A8C16
+C04E949E9ACA502B5D5ABA91803992091869C0697422CDB5203057BD85471518
+B86DEE52FAFEA174D86E3DBA6EF3440E3DA943480C88F0886412F4411D0FE7CD
+C2794552597E9CD1107AC4AD756C4CC1BAB6EAD6D38559A233852C3C6735A7F5
+EC6D6D99FD510AA4428918E0AED80E0DAD0BE22EE3EA20A309BC7267899D1396
+79458C5DF3CD1C0848B555D2AA48DDDAABB87EFC2B584C48CA8BC0A91867D9BB
+25994B16DD7512B4836A691B03BF5767EA105D68B62D3D81F2440EE269750E58
+8091F08CEE3C62D4131C18D575147A112AE01C93773124DA4E2B74D4EEAEB1F2
+C8B0D863EE815D994070ED9DCBEBBB673B2182F190608AE7D97C309028E7C992
+B14BEE67E749D1A875E79934D23E4BD9A3768497518620388D55C076EC42F6A6
+2EA61F2DDAEAD939E921AAAE37D58CE72AFE3B74A8A02F4A1804551117D2922B
+80A2750F0A3D9375361BC7AD2E302267A15C675DC20FD858DE9793A080624F29
+8D9106D26F7F5747FB7944BCFEADEEA4C7605DD473432B4EA58ACD471AE3A4E1
+64E4E35DB9D97E2A374DE22A6A9F8B6D7E2D32A0C603BE0A044283621B3D1F0F
+1154CA2149ED42E08F08FD85D2CA5DD02DF68E535A25487BDD98964A6C2064B7
+A057D4186F0169777C3BCBB4E397C22F4196E3F5025EF5D59501FEBAC3C44768
+6DBDF3342857931DDC23BA77C22A318CB13C653086032E880E191BDCAA77124D
+7238361A68F663A638D0722BB7DC3A37226FE9C5B1C15E0A32B900A335F93AD0
+98D0F22C9092134E37B336750C48B5C30AC8BE183A154ABE2F304915F8FE256B
+0221EB3064620A3F87AECF76FA16A7A1BFC67EFB0D27910977DF3C8B1B93F7EC
+5C47C8648197E784C084F332FB505DB3A3FBFE6367534AC18D37CFC9D96814B5
+0B568AA24B823D93D58C38FEC655183AAC309FD07CE32353820B5471E345FC29
+51FA9581A7CFEE964B4219E3837A158FD43C9FA8502A566E64DDCAC0ECA874FA
+CFC71A0D442E128423D92340E53A76C9CFB6882BCF76A2AC1EB66DF300F6AEB8
+C9A2A9808EA83ACD248A68DB3F78D6CDD9A507785799714214DA4B60EC547FA8
+2967939DBF9A29B73D319810FADF8C44792E1667596261B6E52339736E7F857D
+EFC6C4997298BC8ECA834F8BFA5E3786AE80790C50FB1669230ED454DC81CCA7
+7DF4E5AFC2071127D70476AE9B225166EE9C65842EA63B4B309A907A275000E5
+94E0994A08FC58EF0138B557AE8D96842EB50AEAD3F1FF98F454E011CBF4C2E4
+DD531883C44989669A50AD00BAF10A062BEB4B6DC3F790CAAAD0E68686FF3A50
+1009236F70FC80905D8EA2BDA8D2442A006E2B77D9C40A01A106D8BAFE585D2E
+CE2FD94F9A628634CD1F829657939751174E8F43F318C47CB894EADAE6C8ACB7
+2AD554E3085ADB6F3443489F3BD33A56CB4AC8CE9E11FA0C83DE9E133C97F69F
+4812256B60954CFFCF3E7F439D126F7DACEF1626D83608DB70079F0B2BFA5DB4
+9E2EABE7D23BBA421A88374E77DC5B6E2648AC9B7B1C3569C826A33AA21F71BF
+8A5B0B825DB9E00CFEF59403990D57BE4C48953786B76D55D8B665A15AD69709
+A360AA9D8BFCA8E00DBF9AE1D0A40F0B02A652B2B330C689E61C3C5A7EE81172
+E847414CD43E2277F37BDC832104B29C998785022A693389A9FE86EAEC5CCC4D
+09A7B9348C80AD3BDE70E7752E44D30113EFA182DD5E47CB21EEA64D9101C657
+2106899AF37365A796ED255FA7F4EE501D8681FE11F92E64149EF8CE9D23F334
+6E2B1E1A67CE7CFDC535319EB61E5089201708A0F4F449F89534FC7BC340948C
+6788F3115AE6B80CB6C1956474D2D292B830DC9F8F67E1FF381CD81D788AE222
+1AF6B548B5C7C496BA711F1F8AC21947D2604ACDAAF0C5A68E587FA2109B11BF
+24807B7DB0EE845C13E8F693DF8A4969715443E1FA0090C4BF359F4827067C0C
+823676958AF915D6D75C767F01C7ACBF06CDF9E9A27B57FD5C2F133DDB091CAC
+2B31E9DB522783B69951F2965AFEFE6F454E9A859664A65AF8D087B203924BCF
+E4C45AC959352FFFECE860648C6200DF02D650237BDE22AB1ED127EC09B4F3D1
+234BB3F32ED111B8BD481729F4293135EB333723B7990F8B70A211A3ADD67AB2
+8B5A7D6AA9E9B0EBA08F9F2959D13611FB8F29B749686739380BB59E0A93E99A
+0B97B297ED8362D421F3AA230DBAC86D200DB0AD6D5F320D1B23F0A570357646
+94DC98B2973F2EADFC8D2AB5DF1038740AA520B7AF4AFB812575C18EBAAB76B6
+EBDF757E1B8264C87A7180C627070C3B95EA0FA431E8360F0DA8A722F0861C9C
+BB7DABF781FCDEC603326ADFD0FA3F788A7C695E50F23848CF85CE410DADD5F1
+D7CEDBB484D009FA9BC4E06108CB63056129815A616BBE98C38E6DA6E587C23E
+D0F6496CF0FE5F51ECE5FB21779A44163115D2F05541531EEB124695FC34E359
+8E0BE91219FCDDA56C4FE3BCBF6E8F45505ACF974C6F9EF55DDB391BF5606A61
+725BC73D5FAF324A7DFCFAC9C9C2728CD4370A9CC71F645316ECCD8AAD062EBE
+9F0763A7F77ACEC296597E0374545BBFBC538525889D39E9153D8FA7C5945F8B
+955BC41CF03F7400E4AE3359818A4C1FA2AE66AF9B77F6AEE16FAF82A469F6B7
+46E679B38AC3897D1AF3CB2E0289802E8B449A1FBB084EC5938185AB229211F3
+6D8A9C36134ADAA0498417E2FACE92E753325E0B23BC6330DF323C6DC3C4C41F
+25B077754E4724164566626638525F6F49BBDDBB3E8EAEA9ED1C3AB5F8DE8BEB
+9432578C9E334AFB9B3B05E4E11D0C17C4A084BC7903ACB1FCB213622CA5A95B
+D6EED267C225E42D372F5AB6D45B23DA02D5141E310A4AF395531CF047673DD5
+69FC7C683F52CDFD0BD9598587E1D66BDEAAA467C512AE2BF24ED472527661E2
+CFE5723B43C46C210CF6E76D0A4FD426258688C5A797F1F6ADCBF6174A61C332
+2009A4AC1E90E598359039CD693DBE122E18F574B96FC97BBBCF0C7020EC446E
+FA902325670BD42463490952BC7CAFBEF1074FC1A36271F6C6E29DA363A6335F
+6223F16AF2A3ED714A8BAA0EC08998F41BC8DFDC7B0007F04642CC489BEB0139
+0A78094BA9D580810CAC4D4FEACE3B67D1F957B180A481BC62BD7836A708A336
+CCCC06B85F07F7CD13104E30FB110F749A966554CF8E507D10572B4BFC0E24AB
+AD69A17D1468C4F4EA8E96ACF86192EF402E4F59EF145E0C8B187709E9C64EA9
+C52F7CF2E7CD9F43170430CF6A76CD422648542920F90917C1698803282D5AB5
+5C39F06597D76D52CEB7AFEDBE9C91C90274EE106BC54DEFF89B7E870ABF946B
+0C87A133D0CEE117C00ACD3BBD72474D14F14D2A6AAC857254CB409EACDEB6D0
+F22AF9B820FCE6A5DE6DE866CE8BFCB17C1E3C452CA7912BF25D07020E447AE8
+9565BADB3EB531A704AECE4A80024BEC8920543773349987E9F6240514EED4B4
+8D78A234318102A2AF9D6C45D9BFB27AAE43D5ED91483CD1284A6712DF124855
+B64C5E3FF7DDB5DA6735A0C765AE823BA1F14749B6022624EC3170435DD20CBC
+018936484A3F93D5BF136281E07A5352F9F1D5772DB0DCEFB57EDFF0DFF1A92E
+22D3B7C7DF81B7F9BD970CAEAFE9C01771C4E2DCFF8B97FBF80788DE47C77707
+5F2D211034B5150F0343DD875E6ABAAB8E68999B59738A3999C440EFB67BD76D
+90085D1D4254E63EF500D66E4177A18EB2C74B1BC53EBAA89892F680F33F3EC1
+AF438446E2E38CC40F3BD253BE7E37F00F4F6132A5AD13F09A9A19C801694078
+0189410E617ED04990AC4B4AB626BD9A10599193E3B7C7A3BE9AB3DA5F9466A4
+1BC68B6DC033EA0123D1D1DBDD8CD5C86B4C0539E1D79DCF67653DC84C3A8C89
+D250A78AAE935811AFE6F3FBE2E5E452E430E16A20DC563CA577C898E68F2A84
+ABF46FDDA19186DD43A1DFA24C92FC62ABEA7CD85BD68D64CFD1A0C29DBF88B4
+D25D8C0F2A6FBC7A33C4DBFD91D97918748A9E41637820C7CB4FD427825B7FB3
+44DC759B24D98AD1565AC930B89E81D23128723BAB5BE792A6C9112787225241
+575015D00D0691CFC7E29EF61F931599B88E165E8EE75DBEFF5B1A8D4740496E
+9F85ED6820722C274DA65F73AED95051BD9FE38AFDE4FBF425FEB6ED07C8A976
+F32A9BC9850E0C7069AF74BFBD5A78765AAB81037075B4CC6F09A95013F4B75E
+A86D41C755425B4B00776EAD7F5872622D8BA5F5A2C5187DC8F36F03DF03B168
+6AA1AEBEA0702437D8E546888A00D42EC5D6085945E31BB14AD594BD9BCF97D0
+4B99A50C128B77C75D87CE0BE0C73FF37F2DAD7A5B5A361697627255E6E5797C
+FE1E38C38E4359B97D594EBC15E0E10F17F20156E7DC9E33DD8BF8EB016CC9D5
+F496FBDE6E16F0FC9E5EDCF67A39EEF57345C3E6A4E04DFB7EE6AE6E54EBFCEB
+1C53ACE652AAFE3425ECBB3E42EBBD51097E06D1C2ACAF97ABF4D875865429B2
+2D9A1E61267AF7E31018C46EAD1839A45032BD9746DA458A2893613BC41D0BEF
+F6338BEF85A69A8683E5B3C3D83DC5F651011934745C042E3DDA4DFB7B393C4B
+9002B5721DFED701278E9CDEEC9F7B4EF1D326CCEC149E68FEA5D7468F7A091C
+00A3FF3AD5446B14FB635771A5138FF8C2B02FE98180C19595BFEFD29B8F1A0E
+51CB37E46E06413ACA5D70EA7F4F0039A0F9A4A20BCBE335C82317F6B1CE4E8C
+7B06513CBA59EC62CB7563CB4B29ED6BC20BEC14F6D4C192E0261C8A2CFD0968
+BCC64408B19F39F69CBAD5D6E117BFD8470DE959BAA369613057DB1BA3441E27
+EEC436544FCD8B6C50D24548886892C86EA61CD573FCA53F0CFA97D799C25418
+3EBC2302D0B43DC80E08F68C01934958A810C76DB2E23B13FC0BC6CBE37AE842
+8F2452EFE0AD6E97620A070BD93CB99F13E8EA78DA56728314E62FEDABC6A6EA
+491EC96A8256AF6C7E8FFA6A04DD6CAF1DB9A45AEF196342D690863F54B3196A
+11CB3BD65F022BBB8DD1356F768AD0FBEB817DBA77D2BA4FADD43C8C7682DAFD
+EB331954CA9668AACCAAB539AF7BB1F94B6C9C430021D1DF43432F03DAC805B5
+EDD2279D4BB979130BB5B44FC22191C59A849D0DFBA2847D76DEA80E88AC203E
+84A8657C760AFCE2E070E16E3AC53B9D2F0AE040AAF7435051B0B36795BA0ABD
+AC192D83908FFB421CB493A64F1C3FE99DB9F0B41B5AADAC1D6E0482D6579670
+F5154DCFA00E4E45991B6CB9FBCE7F6A470807193224CE848C379F508C5BF898
+4CA713E40BF4EF1D3EBDE3D1118D838516CC5FA9B3BB84D22408404692E04873
+C7482267713954828DE7C91EA03BACDBD2E53780E260601FD03CB08201C62BBB
+B95B268EE00F702907B2F210776046900F80857CF5AB73029584954452E1CFD8
+6AA384D3238AF280DBCC617B8144DE8DF0DB36C18C54CDFB81800ED65DD9EC4B
+4ABF20562FE068BEAC88A21059084A3189328AD5CF5AC9015555C896D0D2D096
+B734CE37CAF2ABFCA0504F24869D0004F6976C73D8369DADF0077457A374E601
+7D8120F6918B57F5A3ED0E142835A8FC95CE31A30073D5AF29AECD010D2C80BD
+737FFEA417B9CA710CC39B759BFC9129B11544D222C31B165027AA9A981944D8
+E429D11D540538AD0E26B7D6D714A770F8FBB42B969BA55953DE4DC7393051CB
+17F74547E2599B43AB9CC178BF0560BD5EF585A67342146D32FBA4B477B6F403
+C97C8CC1DC04B16A21E0CCFEAD2845E4A7943C34378B80201C6033CC8CCFEAF1
+8026EB0AA7F77FC2165E6A2F99BCC0D7D65C4566BFC56B9A1D35B964D6DFCB6F
+A2E9FE35915C8AD53861F593589ACB337CAD96DAB5A00F0BF52B7940FCDD915D
+03A57E81EAA243C525F5A99B2C9325A65B63937ACE78801D22979306C3927400
+30B3682657443F972DAE9702D1D1709B71622ABEEDEC3EFF4FC3A82B9EC94C5E
+6FCD4086A02F8B4A58E00B4B28F054E203734082BD4A7E039CF0403836E439AE
+652962FF9907AFBA6C7AC441CD769AC304E243AEE7DBC219C5406320F6D20E6B
+B1FFAC7CA30E77A419AD834DDB087C33422C2B1E689794D09CE6FC29204A14F4
+6047A79CBFC04AFD3D68F96C0B8C3A202A304D697FE178F0EDCB34F9B0FE3BB9
+61C2B07A7EE35E8F18071D61F6A98BE7CC573D0135FF9A53560159BBE16F26EB
+B171D725905D4A0671FB8BEEBA009B47CA9633362FC0C4553509AAAB43F137C5
+852DCEB47074F71DD6345634065E358CE4EBE88111970F1190CE776EE7709729
+548AF51C38735F6F63BB83E9D91D5A5D2E1F89C7BC8785711452AAC43E77498F
+A74D91A1EAA3F29114E49EEABB681B56C5456541F4342D607C477983380FE29B
+9A08A61D371950992F17F20D40F8169E3CFB99AE231C40EA020C6C253FAC30C2
+04AAAF5D992E9458877380510AFB91851B289DC03AFA363EC338E21ED01D2186
+C706EAD057ACB2D47CDA1FBDEF9AAF93841C5BAD0668C10541D7B41EB3CB214F
+4F214D7ECDD4606A4035795AE25C58C9692845F535762AC3403E2A0CDFE79D27
+B58887D2688C7694D4D271EBE925801E7C1B27C18C8E0BBA3E6F999484033991
+B0F021F1A60419F06CA0758F7C3321D20754888062DB453FC09F3033DAC6BF0D
+341BA60AF9A8608E7BDA2DEAE73F83A5DD9FC35BADBEBC2E0C6AB18CBB05FC06
+7B967D6263051E960498B63BEA972BDEEB89650EFA809C88644E8E00ED119DAC
+5AD530C519658A82AE9E17EEDE4B91FA83AA1A925F6C7E65119F8A397F11F50B
+681E3A69AF664B9B6076E4A9033C3F391BC110289DB31DF9F326826F480B9F4A
+D0147924421F1B5528F463E5D97FD84B06C9CC9A35EC2DAFEB9FE70C86C9B843
+6C60F79CA7F7A61B2E58B7C15752AFA82BF0F19F4EB7276D17109D975206FAD3
+A02CB0FE17FAB4AA9F8A649C84F1EE19E2F5026D2CB3847533D7ACA488D5A531
+3C95BC346E9C249E34A4
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -3411,6 +3417,7 @@ dup 35 /numbersign put
dup 36 /dollar put
dup 37 /percent put
dup 38 /ampersand put
+dup 39 /quoteright put
dup 40 /parenleft put
dup 41 /parenright put
dup 42 /asterisk put
@@ -3668,377 +3675,381 @@ E735D796E365A1B0F60BB4CF2801EAFE4889EE5F338D3C4885368281B3C95CCE
7329622828B2785C1A8B26351BC74237A6BF99216652ACBD4CCF54CFC8AC72A6
46342F1E32D4318E7E27C7B2DAC943B3E72C472FC6F1DDA8684AA922516A672C
E969C047E318B5E3B1270C1BEB1C4071A15BC81B29B268C679B41FC5E381BE33
-DD95F0D68118CBB60C521E5CB2BA46A10E50E9238163713290DF6DD8A594210F
-B5200157C0F02340FDD61392BE9B0D9C46C1A0C4A3AB05918672D6D6020D3A88
-8C18A08AFA6BBD8A513A3C06A29A0FE923ADB6F9996F3516967E5066FAEDE5F2
-8317ADC676E012A737EFA5B743C0FEDB224E360B05D089459F860F97BA62BABC
-E86CF3127088FE3ADCC29BBCC991BF7A13A3A5BE34409C002DCF2B05C095A01A
-12BBB5C8F3CE43DCDA76D261E3F7734DE2DB7D9A323CD68D78DB2A5DFBF469C3
-D02FFFD3B21DFE7CBA8B9C7F438CDF8944DD5A06583A75079194054F8C06AA13
-1698FDF6B55E5B1B11C5AE8BD7FBDB7BA6E90FDCD1802F2EC862FB85A143D7B2
-99223ED8525202C26A53ECB0894A7A3A64569699C1C085B3CF6D6F6130C45C7F
-D74B5E4EF480988AA30EAC8CD07D10E5195B7199058C8B8EFBA9F66BBECEA137
-33037B3072C48E8295A2185EB3B83956FB26033581A702C8A2C65FEE3EC92CBE
-4FAB38A2F5BCDA2F6F6698E3A87BB14E848E1A67E3FF1DCC92B85461BF16C111
-6D3A59FCCE098512A2B17ACB186BBCB369B984A363525211D9B83BA91C2B1EA4
-3133C3CB489173988833DF780EBFFB461090B51E5C6454E4ACEFD98F22E80F8A
-23ECAE2A7803B9200043E29AE21F7EDB5D73EC2BC7EFEC3468C239A1E1C5A2F3
-B6A3D13C41A83DECA870ADAA461BAE73B44B9CBD7D9FC1D8BA7F096402CED6D3
-0C0D5640646143431C318824FC397E06BA888D966E976366613AE3075D3ADF08
-7E1730EFF0C108B268253AD90C929A8F9CE53FA3344692B4F2C8EE88C508D30C
-7D3713DFBF78CB79AD34CFA007500B8D1EFB46C3902B183CE019A4656F585B91
-337C8FB23A923689F96FA3FA862ACDB4DFCC63C202DEE6D52253A210F7FE163E
-BF0466BFC1104F859AC97006C5DAC76B68FBBBA1E86D352FF8299D5D94B6111C
-4E4961C13C1980ED85E5BABDBC25E26BD2611CF9644C28F3F783C91FB71E6511
-3305932CDB949C97E3C994AA9DE2E3069DB02FC5D1A7B552291D4FC01BD06992
-7BB266B91E315382D3FBEE6578EF6BC38C8AC5D27C8075C3C6C90E1133DEABA2
-600409713AABEDFB90A7D59DE9B1C55D5BF69E81500342759F8EAB102276AE4C
-62226488BE3548335C8B5DF636318A758825ED631CC7897D81D8DB5E1BDC5FA5
-472B07CAF20A93B34EE07C1F1B35CCE504BD00584F0AC929F8D276FBE1A906DA
-76508D83491CE04DFA2D053CC70BD6F6D4F4FC37AE9574F0427F56D04FB60C65
-40CD0C4F9D4B202B68C573C3883AF97D3679B67A9750ED2F7FA8C39E69967DA9
-2D0BCBB592BB6DA1C14CFE5AE55BD8E1EF4D4D5CAD9543A3ADB8346D4F0372E7
-7BAFCFBDBD48211C061927D955929DF620C0B3F9C5C62E8C2EBCB8C31065CC45
-36857F4A093AE79BEBA97AE481ADCA3F806C26D1C407AC716C6CD1680E4FB711
-EB5837E62986F81259FDD4BB7EF510B5A8068E167B6E9F79A85EAE7933D0593F
-E2E47F110DA4F91FE1D1C9EBAEA7AC1EE47C32B850413D2F151439B2CE1CADB4
-7D369343F4FE7A23FE7225240EE5BB2EAD003B791E184C05E16E5B1237336108
-42E036A6736612F2D560738B460C36B7D6BC9ACC66DDC5835744F58900D88F88
-32F5A49330101FE11A2DCC0E1BE4BB40B798C0B17F06E93373736FF86328A280
-439E9293434FEDB5174FB34CABE580EE7389CAF1DABBA6A053D514BE0C3F9CF0
-F3B9E5D971C3E42711FE1426DD84C2A1462CE67A7E9CDA86B3581FE979B06C4B
-E02A9FC63EB240C890DDA668C586795961871B93E01E80D140B1D3E84DC0A522
-86CE9CF8612A35940CF0DC3BFACCDAC376BDBB3A4B063E64C59C61CEDB570B32
-315481B2D8127B9B6462C898A7FA5037DA8D88EFBCBE60B4A803C0E5D4722760
-2FEDD14E231C6377F18BAC84FC907E25108902B9353CA450AFA7A2B028395D93
-C547ACC959FC5F66D49CAFBF6090C67CA7CE8267C80C7AC2BD031CEA01EDE032
-D124162800A144E00AF57B0F7683630F58A223111D278B122D39F1040A35A543
-E850DA1DC3B6C24B1D0FDFD347427E1E0C089F7AF6F499B6DDC5D184EF6C3C22
-2E4BC5A1E7741BD398A43D47BC25601671460EC39CEE52C9A63F03E014100CA3
-9107C794F2A7EB2B5F75EBB0D1ADDBADBE84A42B32247BB1F48A1EA537D9B93A
-9BE5CAEC478D7AAB59D92F1F96A76025C2EBBAB8480A7E7D1DA3C64540ACF041
-1FF7A968795CD24C3B6302C9B95EE6AF47BF5B6F6AD4103A229AECD3B8D6F6F5
-08EC913E120825E699EE78D8CD1202D2F57E2F7FF64AA7BC0B3A947FB07A149E
-59A402E894363FE848DF9B84029A1CB228B5DCD030B86DAF7D7032AA640FA603
-E7B28A4703D4D84D1B7BC417562B51DDEFAD015AF7A25409DF2DA380590D680C
-5E9EC71AC9372D3EFDA6667CFD495C86E4233A490B9C4C72666174B0D320AFCA
-66543CFB72EC10CE2E1E7625D2616C2571B6B2E33430E28BCED3FF154726E618
-14F68511ECD14AC32539B0BEE272A1FD7BDD577A27C6D3BAE6AE3A25A924B50F
-95A815EBAD7947FCB8C58C70A83181B8AA858A70D10F396AE89524407EB2ED07
-68EA77EE29E32F040655EEC1FE51069E22329FCA0F3FD24DD2431A46634AD6D5
-F242F5ED8508E7E1F2E6F8261558B2DB9CC40ABA2FA86E8C9F6D1112AA3EF18D
-0D5BFB642F77D4DD7FC8D3CD74C6434DD634FCA744B58D80D76D446922068DD2
-EB47C42C2EE8C96CC501699E50BB54274133348ECE59A563B4BE5B7CE1DED13F
-0047C7A6B6CB384C8444936BD165B9C6A43EC34FB1BA55E7D63BBD9ACEA2F622
-CF42EED2C3557519B5473BA4B765C75A66369389FC5B07B79B87015A90D2BEBB
-E91BDDA7F6DE559E13D6DB081965B83B050F97BEA2BA3FE20B1C80DB18388C0D
-2FAE933C71CE4123BA815A50D93D97C29698C0C0C96838271AFAB4FF2BC830E6
-184087C68A05C6ADCF9D87F949AC5667C0D2F8538D8D7A0862C62EDEB58CE413
-3AD8C8280432E93ED5DD49EB1C47818D8EDE3B6BA4CD8D21EDD7071FB490ED10
-C910F5399547FBF372840036E3D167CE36B7DA6E3EE3975934FD51A1B77FC8EB
-E576AC8AF5D3A9DE883BDD29FE161F0FD1FE61BAAC76E47CC4E4403A947ED8A0
-36BE4184200F11DE0975421241E77D372C9FCCF8305F9E4679E87E7D0C9311E5
-7CE314162DC520519578434AFC3E6694FC3C907BE36C433FEA335F47BC2332C4
-E8AB9E715BB21D8016162429932C527FEC90A076BADCE3F14E6A8BB84B85F640
-BE5CCB23E63C3334A84E606D014AFA5D22189E5F6697AE6958C6E4A9B14A1EA7
-8A3C53174BE2458BA347038C3C67A8215EEB9909833F1973860F73C3C8E1BDB7
-B3A4830A7A82BCAE2574C9662D9B79F7C9209F388EB655655268240DB3E87310
-966464371A5F1C833894978FF20B2DED89C69ED956DDAB5B3B10A121D49DAC62
-D56399106138052C66D44439EFFB6BA49FAD8823EFE66850FD534A86074C5EE6
-141351C5319252D5DCF7FB36F0F868BA5BE6469BAAC008ADB1FFC72E4BEC7C57
-6DB7B4B8BB56F2990E8A5F8368A67FAEBE4FF86FFFC5F914396E9D4536E3BFF0
-32FF663883563606D288E4F747853EC60A535E19ECB75D4661F1967B55A7535F
-E6E214BA61CE6D84BC6F7D78FA0F7DA7E20B4DD668D016CD47C81E1E832F9D19
-4CC0907B9A1CDD2C241A672A025EABF26DEEAF4074289CF072CDF858B4E61536
-819A7B6A9F51F9EF82AA614FCF4C3C373E77A5B0413856EADE27601CF60EEBC6
-0FE89D9A1D11129AC54B76C6215EE2DD0076C187D039351A8289809783D3FDE8
-70F11D780FA6412CFA96D04798EF3209A1B6F81B14F283D5B3C8F118897F7D05
-9FE1769DA0CB6048672F61B429FEE444967B4279B24C20890EE7B159132DCC36
-DACCE06AFB113A96D8395BF21AE603D578C46E70012AD1E73448E306006DDE55
-AF7EC201895FC7C241549CA800439276011BFFB3C8FAB1DE36C1108DCBE67B71
-56CD9CAD7F14A6BEF3CC4B5E8711BA4ECF0ACAFBE613D5B96EECC0794FF10999
-9EFCC16247FC0F4A09BF9BDB5F840EC4BB48DA4D8B5995FF535B45FB134DD2FE
-F2CBD655AC6F137EDAC2113F8E0C180E069C359B294B2F4C0055A06742D6AACF
-35A519D3922F28C867ADA92F4961CA18A3D104BCA99E0B6452111DA91D39489B
-DBA169A25988765832AAE78B7263C2FED70309078F0EF08AC8614F475A0C5258
-E68536E981EB9270B22D2B94D2892C1D6E447AF65EA74CB0A90A620CF61F1CE5
-FC70CC7E6723171DB1E20AB4BC2AEFA9389F598222025D691E8525A478DCF513
-6C72364F2666AB46677197399C3D68B4CF1F4F87F430A5806E2FD9E798D7AC5C
-977D23EE3000795422818868AADCCC0AFA560830FB9E33D5D8B7C5E4A714FECC
-7EF122247BB79641B10008EBE4AF583E7B89C97821C05075F46208FBA9F88B24
-EBB4E80F0D93999670A3AA0BB5B7B5B72C35D317D27DF658382D849CFBED8D3F
-64D88411ED621ADAD8948E9AC5A874837387E435C19EA34F010B27A0279036D0
-0927647212F62332627582F78239539D7332B563CB823437958240F278E6CC47
-BA53C09452990A4453F5119221D998B69C370EEB7FBB5EC946A2667805EDDE1C
-FCCEDF03BF98C2104673D26A09A249D57690B135537625E48258392840A73967
-B967BE08B211837E50410E273B27B856F66772430F326E9BD0E619D70AF5190A
-D70D7497AA36C39A7579AA36BB89BE2CBBEB16DFB15042C9C2F37FF83E7DF8A5
-36AC3F8AA0D7A78D430B643B6ED36DCA486A81B06951777335704851651CB4F0
-5AFAE9EB706E9A3F8E4F7F131D9F24AD2ACD0F05144FE7CF8B09046628788B6C
-FAFB39E3709836C7B514C2FA8C9CA76A6CAE796E9D52AA6A0EF7260A10B429FF
-F91B1AE060E64B6E61A87484137BF6BA7709730C694015AE6DEEB97C9509C929
-4CAB68E161E10FCF6E84D76C391343E4FA361B1E9F88AA2889B1684803269963
-82BD49E653DD8D19247EA3074E60ABA1ED612C056B4F18962DE3086EA2283B43
-9FD66FC6C08DBC5AC5DBBEBC7998D0EC16805E4080DF1C7F587FE226D9F76290
-11B51364BB712DE2A413FF159C357534005A20CA77AC8F3437D7BCA1C2BE92DC
-FD81A74C007BDA36766FFBAD0AF3EFC3B60E24B2FC23E6E71FC11365B2E3022C
-2C04E123D06919429FCD9F938F5ABB037B7C03061B9E7D883D953C20CE325C61
-8944BF344D96FCB68BE7B872BA1FA3616D43C7C375A0845B5A0B469A091E4D59
-676D53E592DD776AA99EF8196D1D1485AAC1D0EEAE079F0627DFD3B8F5D96E86
-92BB272BF1A20FC52C709B4F9DF4805671082013007D6338185B6BA6AC572AA5
-53CDD41F0CD270EE38ADC8FAA95AA16B68768DCDB552DEA2D6825EAE1B9038B4
-48CEADED7C157695843FD9CF8D6B17D3B1B2F08DA18EA57CB90F47C8D2DC9F0B
-EC8AC42A758E812A549294FC224188F68B6894B08FDBB5EF274E41ADE95680AF
-133B6D6CA99E90B527DE9B15F0C21FA640861E82F83327CEF9B0D4F6E689D1F1
-6A92852DBEFD22B6F8DFBA577E173DD275621BA99E3BFF9C4F8FCD7420DE5810
-A851488A5B968401A3CD8197DB19746EFC0331125B0A7016A9B8F84B0F8C7DC3
-60FBA1201BE6645E37BB02824B2D712BBFB4442215E19D44084D066DA95D75BA
-4446DB751955EA3C4BA900CE491EFC809EA1F8161175F282098ED54778DE77A9
-598AD316C3C7BC26B301B7A12F1A82DA58D466939A23D7A786C9201930E4B750
-AD10988EC2E5B461A2286CC39695B6A5A05B151BDB13066720F467C67EA9744B
-944AB6261D889C365DB55E03334B29679A5F0FC301AA6FC0870B84B8263B1392
-DDD3153B380FE80463ECDEF1318E838BB899D2F420D6C4F99A56D64A5D618E99
-C86CA73DB8BCD3E76A869864DB0A7276F47EF594690C3CAE6E1C47C11887DA03
-22B6F2E6E97A7338221E38AEF20726C9687D1B8280EACE8E8B0B842EDDFBC123
-A6A090B89D5AD42C312418FDD834FD4F354AAAD5002ECC573FCA75E359B52C48
-3ED5A6944A4B5CA3E6EE7FE01C70F8E059B986D7F54D003858569C207F6D4E21
-51572D716A821B7FF136B2FC6649809599F77990E1935842AA0B34DD9AC288DD
-C7A08C49F96C99D716E17E84BF3B622D3DA4ABD0F7C2CD9247F84FF0A0CE3CD0
-54A635725EB0A9B2BE2F6D421DF42C12A8F83CE4964A184D4CD2CC13056004FF
-2654106BD9C6767094C7162231201C4E1FA16D5926BDA3B7467CA4937CA4319E
-3C96B6C0E0043BED230592B06E18C7A1319A778DE99FFD8D9E4C75400CE635F1
-85EF89D9BF91A246F4CBA5FF0C62748C958E3EE1F71CDE61E4C919CE74AB7E3F
-5E5D26C498C7DEE52EA37F00A94F28A7ECF0F0A9EACC292A03E3F107A6C5F6F8
-1EAA1ACADE655FD7A0A67D8682478F68B317EDAEFFF7B7461E0771DFAB0A948A
-28E05549C7575588FD72FE2DD72FD72ECAF8D81CE40A818A655875C0B4894C23
-C3A2E904FEE3ED5473091A41D3A209B818A91D6F1B41BF8E92A270FCAE2D7A0F
-FD60F2294DFCC98D65E33AD49E462599908E4DE5ED7E10BCCEAD3CD5A0B380B3
-E2EB703723E4DF58B08F92BA0293BD16FACB5C78B9A1729E78BA2B7A89572709
-9BD8806875F67C87CC1141E0ECC1C6A4897BD31556C81FA3E2F1E7A568531E6B
-81CBD2DAB4B86410D615E8641F8064FF925171E54E165F33DCFA5113AFAB1E11
-C0678CE2689C7CFCCCA3EAF5D84E715307EDBC68FE1703BC6601E0BDFD4D181A
-C6D7355D4D5A6509777D97F21834D834D905F58303433A49AA135FB8C7E7320C
-24552D6F7E26065CAF3EC1BE08D14C539CB5787D6F119875F18ABBEC5B02D9BF
-CBBE4C315C7773DA59178EBBE098919CDB2B93A3DA0113CF5E4553EEACD7D937
-D092CEF9DB58D3F69D577CA9C3415C710CE46E35D6B252186EF35D59BB97492D
-496192F8D8BCA202442791B0B0A7149AE9BCE292AC6FC53B71D5F8349FF82C81
-91684F71BF4CB9C72FA83B1E6549FADF452B3CE23C6DD3E788538AD9A02E702B
-54BD07B019930E70D793BCE8E83475566B418C27352E1B7947F9E46BC0E5290B
-7AC28B606FB74834085DB3ACE48669824239C4C85AE31C385C4A747E91EA352F
-E6CF035FDC13E146F78A06CF3D1DD83DCED5B0D10760E3A7273AE3172B4455CD
-3BD17AE58B6E2B2D143AED816423A5DCDAFE0532E1A5E7E8CCCA0F3D4D3B98D2
-C3AB43FD353E11C880917EE3189DDE2C1EF5B0E613303BCBB31183DAE43E06B2
-9E8975C9CFEF26E225D83D6161C80FA6B142A3CBECEFFD2355AF6A2F9C590EB1
-8FD3320F35150EFE4F96991345A1D430BCA481C86EC5993915FA62731A551E5D
-B680D4BA1BD02388006737C078F4D104D6F4D38F67F60EEA66C8AF2CBD5CC158
-B342D6E992518A73CF14856DA38EA231FB26A6BB6D0222F5089712B721C80E73
-02051D4DC608B394B2712362EEE267B5FEDCA41425981F8A746C31998132FA2A
-11DBC1F88FD70E24ED19816541549859749854AC92E7000EEBEFD20FFD090D4A
-88F4F27FB18D9E951827E39837B26B12A6C042B60257CFFC9195B371A1AF8E09
-32C39E5B183DB4207C4FA28BA0861A0C4E81C6378F575D56AE2642F46E33F460
-A6293898DF193C8AA496E3800FC23AE3B69463FE9DC9D8776A83F2086DFF16E4
-D5C41FB0C09F1DD405193DFBB68A5EA027E034C69036D40C7BECBE1C6EBB13A5
-1AC11FB6075C973A0A50DA0BDF3E371F4451915C23FC1B1DCAD3085717E6F190
-088A6406038C39B1D8E5AC6C510CFA62222E079A5F94DB168104F4AD2D97253D
-7EDFD74115F05048D4A02AF14202CAAFE8F24BAC11281B4896AFA52058BAF641
-2645E49EE964530DEDDA4FD27FC52ADB572722E1E8CCF51EC924213FF00EF0A8
-0BDD64D37B8A6D5EEEFE09DBA2E131A6EF79625983D31717CFC77C1B8B26EC15
-83ED97C8543A876B22D31EFB2A33F7E6FD2ECD86FF9D428C800E761E49AC8A42
-39BCA596FC08EF4F36E1167B1E9A4391E74E38EF571A2C302AF4C249A54A8297
-C4FD21781920A37057A39B11114EA01A605D249726A950AB9CA13742904614EB
-90EA7993298FF3759BFDE6697E3527036C4B8F37EE3D77BF6DC844E3FFE37161
-C48ED17D1376ED07B8CDBA21F5FF282E1960C5F28219D8B0BC110E7BA3E19C3A
-52F42215A32A050A9E7479065B1FDB644FC88F615877D6A78353945121DC3552
-3F821B76B49A45B668120CC59C1EF57BE66CC57CD0311D57DDDC160872E598C0
-3DC70F7294FFB2C3FFFC14B05934008892DCC197128D644E77767AA88D86FAD1
-51AC3093BE3D8B801C36F94444B23EC3152C3DE0208D109BBE9DB2C632C4A425
-5E49049D29785AD20C3FB106CF1AC5322F33177F4BAA9B5D4C86BBBB5374649F
-83E7565448E89FBAF449922313E96A0C7C0AA2279DED3EED0CF58101DEE159C5
-92DBDAD0A4EDB2FEA9A8CF30E41A12E1E426A92743C7BBDE0EBC948C9CF07AB7
-FA41FC082F303281BEE558A79E3E77B31C752B2840298222F218D813CA7263F4
-51488CFD1A57D7B00FCF5F246CFA7B6438CC0A0071148424D3A7114A358F36B3
-71CB463BB9212F29A5289D0EFC07DE6A4536A030DA9096148ECE837611D1AC32
-66FE24CE590349E3ED0B7DAF61EBE669689B7EA383BB8396A0662C6B7DB61B09
-844EC6A4D0ECA6F09E1D7B3C0C194EC7203DD92D563CD5E4578112B5977C9B1E
-ACD4DA7A6388C0835D021838CB190C1C4A0C43AB7DB4F53A511165201BD8DEF5
-CDB21DCEE81240FE961ED84FAC75E1A0C834D0F07D22D0A30F12126222E51C31
-950433A6EA3DE6438E09724BCB18D6E54CEF6B8B058D1E43409736B7B6BD7D99
-1E2390FAD64F6693F6F1DEBCF5AEFC0DEAC1800CFD326C61A5DD28C269F29F84
-54A07482A7D3F57B789D5597FE88BC127420CB07B3B926EF18D385A7A326A2B0
-87ADE9EDE8EF8887421E66924001C11325535E66EE4C351CC07F878550B5BB7D
-6F3FF0178E710D1AB430A2EFE9ACAF098834059E52D687036ADFB3118F20A78A
-28C559EF84C6CB99087FC344888536F3992571426A9D9F41C26D46B9AE842A7B
-DB9C9160D33BE70543B73BEC74D164E780EE98052D76C2AC8984D0DA790F775E
-6D65AE5C896E2D1A9DBC6F1B9BDA40D6F610E32B4BC21AC198E9F5CA5FFBD93D
-AE97C90881FF85E9E12961B57FDD3103B1EEB05AB42507EA5240A9D3A45714E2
-F79C63CA55E414218EDFEDEE8B782BA3E5D66350AC0F17882486C577DB57BA58
-9B1024388912484C6BF9A0AC48AD306AF2034E7260B35DD6CBB70D48AD716529
-5742DCA4C092EB0E1C420934E7317F0BED25F7F5E190FB708F2CE4AE0D14565C
-D1A77BAF88C75FCC37BDF41010F5D3510121B92338FCA01F4464B178391B5C95
-5F1DB500644C369A7E678F2BAC5FC1124DC7D457376F955351C060D66B75297C
-3D0EBB38119D5F9A930E1063B7DCA33208194907197635F839DE10D98A5A61BA
-6638ACC396C609DF13BEEA0264D39E3D4FEBB8598ADEEF96B0B1BC242ACF137A
-F18B6363ADB7CB53BA96EB2076C7387F1A70C6550A5631B398392DA54EA178FE
-DDF58D0D1ED403F88489AFFBB86C7847DBF7F21BE25847B82DBCC87B46477839
-BCC43986721734097461B8C6B9D0BF2B6EF3C15D44885433D2842A5EE41F2075
-DE45DBBDDA19BB853D41142E1F55B2245ABEC6C01F3254357593397EACBE6A3D
-4956A31982B83A688E0CF2F7426FA7C48DF17DEABC4D213DD5DEC551EFDC7218
-28A68B9EB46AF707919FA0C06451FCFDED1ADD901032B2D403B20D6E8F63E43E
-35591142FBBA5F13299E1C17D38A36AD3B0B89EE2A3DD3BBF875FFFEED310D68
-FB7734479D284B2C0EB236E23202E1BA84A243593E213112286C032D6BE17238
-0C078B117E4B25AC190D251C1ACB6B933C387BF6F02F2DFD8E7B237B52A1AA01
-8E826235AFA451E3CC27B40D67931869C8C0EA92D1E08FC9C546C24F60895113
-E9218BBCB58BF09F9220FFBBDD1B1CBB060B5BB3AE83501A79A78BB15D62B87C
-031435CF68E4CC06593B3B3C5078251F615EF33FEF992E75F84E4D0B6769F73E
-E045A2A6B868AB740A5DDF2FEB58BD2FD74278F9C551522D7E5C722C9CEE6EEE
-D00182BF7E5E2C96058D5FB62D08AE837C727A147DA3A72B7C5487AE97C908AB
-9BD6FFB71D1F69C903FDAD725BEABFD77E775A451B7EEC6881D18D5748E81EC3
-54BC98BBB1FD5BA0E0189445CD489C32BF42884E7964A44054A656921857A2B9
-7A04681CB650B641E19CB6709F10815537F88C9BDA1B55D77648643E2915D2A7
-F46A6E9CBB8874EC1240EBE59C91A99D484DEBEBA60A760DACB8C4BD004547C5
-97FB6384AFC98CD9BB053F335A28A11061CB3C6331B61A9AD32286D360D0DCCF
-4ADE09AE98C56962017816C3563BC9D98C38CC09B1C11A36C17EF18E9C8FCD55
-BE0FD8965DE846D2AF3025861CA5A7C19C2E80CB74F86CD53E8CC9DE6BE3BC10
-386D56410A624BD602018985FA9C49730F20D19ED91BD77F29BAC81CA59ACDA6
-CF14046FB202FF5D7A20D3A46FA47D7D7B85B87B18353FDB263983D9501F49B1
-7A6938C305280A288A18B896725FB13CF0CDC435ECAE7B83428E5D60B6252082
-38EBBC2930019564CA04B7AC91B949ED72EC204BAFB469F56A69A3C1C4326999
-E300C14341F9E836005CF3F1D73C67A459D83832300ED1E6C3E027B828F39C86
-53EB935D1D8D8222144EFBED18CE0548FC8B0996B192D92A69001A8CF42F5391
-7DC08F94FB9DE42AFB9468F27A1B6013E86510A8570DE5743B07B069FBA9A38C
-F923D368622DB5A489A7B7E988BF8A7367B6E713FEA38726CBFE1A3A716B9BFB
-6079389DE1341CC21795033C8AF45ACFEA4D61EB463CC92E543EB7150B5C009A
-6DEF0A41CED12566968B60527F925ADDCE4C13F2046DC05F20201D9F5BE85564
-BD91E07D49C8EBD39BFD36CE3D25B3823FEFAF33783150B23CB4546E81BE7921
-7E7F3988BA130605D007BA0D32C76F4182628AE9C77F5BCE45BE41ABF426FDEE
-276CF14DCD5DB2FF86757BA0FD92C09D343C20E2D28C90FE748C49B5112F34BF
-A7698C19D54FA504F6DDD3861F9199E9093051851212C61071BD7007E43A3190
-844B5DEC290B844ECF3723DA15F60E49D9BEC8B2D1C4B757A35819001FEB97A9
-EC1CDB6E0A5C047EBD0E58118C1F4AC99ABB99926068E157367D91D2D45B580C
-D969FC8F66C4B195084888D50E99A1813BCC3B2E137FA09BB94C96F3CABA8A31
-8DEAE7E321FBA6BBF275E7FDCB0A9EBCCAC180BBFB8278854047284F3B4AA610
-D8D6C8B944BA4E336D68E3FAFC62367EC250213DCFCE27E0B88EA9E85CE24281
-BDC1FD6101E5C1D85F6C16A6F76A529EE35B53CA3B49F612C005AC54DB9DB8FB
-B1376B9DA3B5EF2616A005C012112C7C10DA19B9378A506027E493480D441493
-764D48AD4C8E3CC115279F3687E89D87156E3FB7C062411360B8F7BFA4FEFD03
-6310B69D83D8322DB0E5AA6218A96BBA3DEB66FB67C22587FCB01779F21B9EDE
-2902AE0DDD9FF27D9AC17D5A6D0967A02A20CEA11EBB416B9C2C91D1F70C485A
-39D7816D9B1E573C3BE6D6D002378C5A220CFA7ADB2DC09D9C4A1DD38D06BE06
-AC204C44772FC9BA8CB5A7AC8E927A152BB4EDDF4528FA2D36436CAB54182D33
-6205FAAB5932FC8FA1EC3DD1252A4C947405B72330C4418216D136C4B20B96CF
-22CA8E2B471325B294C61C59FD32E7D2C148F8565DBBCD90B66FA40A83D4AC60
-AC9F8DA1CB5D4E222C27767543EA86D83C3C66C8604A4FBBEA67B6833065E014
-04DEF898EBAC3CD067C2E706E7D1C68F3A236EAE478040B730CE590ED38FE340
-52EA7C1844C49B8911621046AB717AE6FBF3719F7941EC91235F21855B7FBF90
-62C8F23BC153B74FA398F7ECE19CB38A490E534700F97E64984366C1061BEDBA
-6358B94BD318574792A1D00851943BC899B60AB66FF8C64AC97E925AACF493CA
-CF1E2BDAC575E9EA58F82878A5C531CDFA79329DAF07A5D1FEEDBF771C205DB0
-8F7FF003D0D4D382F175CE5DB7BD66FC2D4025FF06C96B99F37683D32B76D83C
-4E4EA738FF8B368AD737273A5B5270C705D8D1824D1D21A8AF0ED7EB23619FB8
-177A61E80C32CFCFD788B203F05B3B3B49F76FAFF5650CBB65FE0FA2FB5D5282
-172A2835ADBAF0B9BC69CDF82AFB639285A250ED1340182F0B8A7CD3EB6E481F
-B1479530461DDAF09C567BF3A814A2B96F4681FB1ECF0FAE7D75EC91643AA71D
-6A129F07276A8C7BACA7D0468CE0386D7667DFE04B09677D502A05C3874586AA
-DAAA13ABD2FB93B8F92F72CA2F38AF9D643F0C1A7786A15DEC80F3F13DC2EB0A
-956A5DC1211D02E732476EFB7D999C63CE53B27759D7D93B47383DB234C4C384
-E5E664206B8C833335CA6A89730543071E483CB92DA30755A982E25E1A268AE6
-D1355E15CA20BFD7B9EA1F89C3C07F0EEDFDEA65F8A82C39BE3AE22E727D22F7
-C8DD4788497AF3E6D9AF79471F575F989158977D3277AB36597BE0EC8347DD33
-BF0D93288549C90642004A9F969893798F93C1EF3C7A6CAB9CADEBB6787C18CC
-2232972AFD6BBC6317FA46765FA74DBD6F1FFD5491E0E6335F0D08605883DA1D
-9E3A80097856D540B61473D573A9AF12B79AD066F09B2BAAEC9E46CBFD1046A9
-1C07FD78B5C98E0F9847157361293ABBAE194FA860141A43482C7CA75F781351
-E762FC9E3F892735C496DFB7045E86C7943775D96ACCF2DFA451089EBD4BA12B
-DDE24237724CA3ABB3AA061213185206F058C2CAFDF35535C1AB6EB38065CDFD
-E57123DB9B0C933C6796B59DB405093C8E429A0511B6A23D2A6FEE64DAF67F99
-0A4B3772003EAC01BE1ED68FBA87079D0100BFBE054A3EAE2CAE8B01971FF85E
-352F86A1A29ED975D4D69C748D244345E7486974F0D402ACED2B7DAD1E1C53FB
-A029DF4E5CBFD64C694B1D911E53900A38DFA5FBE785D35A2595BA71D5209E3F
-803726BC42832EF1FFB227F6BC5691B2DD989BD48CAE99B4B69807E55DEEE2E6
-1C2E43A3F90F08DA4049A65C2EBB68AB37CE0AF7C4ED41B27BDAFE3D37E982B5
-17CD994BA4F8C064FBB1C4D477E177371D0589C4078CE74A1DC6BFBD2C76C8C4
-4DF12316FC2294A8C834A2A1AB1271A7C3CAF90507679280F4BD0C6FF1121BA7
-45ADFA2BAF226982DB7781A96434FA8495F971BB17475C7CDDD134AA6E87946E
-EC2BA6AE663F4317DB621CE3D2644A5B3B5F577DEBB33407D13D5BDB873A9622
-5E0F138FF5EED620E4ECDCFC4BC8D43E46BC62FD90F59B06938D1405DD8F92AC
-7985F4DBE35AB0AD927A7AA1AED8A3FCC9992B89D9CF9EFE02517A602C10CAA4
-44C9FABBBF210F406B358DF144827E04540B47B01AA6631DF583A36A10944787
-AF2F517BE8D6B8B43C4A97F49132467F0243735AAD44908C4FB05137A7374EC2
-BBF2CA497924F050E7902E06785CD6BE7550360283D231BD53628F576B92B6C7
-3A67EDB5366C3DD053660561D5EC2C7D7337E4A89AE89EE9F2ADF4D99A75ED5B
-78C496422AA1B58B8ABC81F5AF8BDA7A3C65D221977FC6EDBAA2E98F26358788
-29E0DC0A30527D64CBC82F2CCAE18ACCC1B2A64DF31030F0F14F233B5306D623
-DCB30263BD18592A089CE4C2D0390126741EE14F7558ED949D13DDC9EEF0AB4A
-3166F740E41EDA16F729F76E42DC1D18B2EC06D694781851E9C9ADDD139F7768
-627A1D4BD88C1505F31911B1BF4AA76BF6866EF658F607EA4272095480CDF526
-DD9FCE4FBD76AB86C887FEBD791AC89EE99AB5A2903FC1D4ECDBBC4AED1E2568
-DC74937B487A36FDEFD62C230258B15372F25FDEF0B59A482A6FA149248743EB
-ADFCCAF718FD9D6B8576F8DC7DBBB96DD1FD3AD502F6F9FDEACDABD1A9D54290
-C3417857F1818AB3AB34C1BAC6BD65D7A1A5B3480921E9E48546BB99D41FC796
-D2D373042F1F4A796F8FA1AD43F1BCD937534ABB4BEE3F1BE7592C158885353A
-C2DF29E4E95EE1D526A064B5EBB9C5A53DF45876AF31DEABCEADCB5E4000497F
-7A0CE6E11077A22DA49AE3416E9B3EA88F151CA288979D90D1F5B9CEC9F1B36A
-7D5546E3B317556F0CBB4375AD06D7834A2B16B0F4A2BC18B3775EF4817CCB4B
-51C75736D8E5CEE393965FBEDB98568BACC0CE59D39E0DB30D4D735566681A7A
-D7F39C19B682DC7B98B87772E9FDFF1A9848463EF22C76724B4FBFB5765DE1FE
-E57B45C65CCA8150A80DEA255943EADA2DD043C239AFFB5FCFB187B763A3BB27
-CC0BC3936F5E9F833A745B3FD079BC7489104F77880229227F07B294BB9B14D7
-62909E582CFC20A5C57CB42D90863F4B7A2BC6EFFE6CB02490D1E1953C5C5B77
-BD5A751FA40E2E681D55AD39F5FEC3D1B564BD77899552874802D7E7C1236388
-07E672122D3C4591E895B2792DB4E265AC250D2511AD07E43490004486C43471
-38FB164E23466689B3CBD57555E84337B5D7F0B809B9524CA5AF7D1406F80EAB
-C72BFC9987447C62D70B4D88A54A6B8BED5F7200A00F59432CAEBD1120BC882E
-82CA6223D0F60FE03319260659263AAAFA9A309D6B87A926821520FBA6B269CB
-C0245426B25DB5B5C9202AF788D8CE53F20EA1F18BB16EE5373AB5593AF0BDA4
-D0BCF44B51AB29CEF3295C3CDE1A112043AB47F05812A5FBABEC2FBBF404C331
-BE74B93237561CBFB1627AC5883F56EAD46A8B2132E352EAEFF95D79A9C36731
-EF7DE5EC66671E4231A6784977C2883AC1597C73E047FFCF49D0E16E4355A8B6
-60EA0698EDE972C32F0FD19754134B5D83C3FDB82D4F8904DDA62E22E2743A89
-E79421A43FCAB3E6FF90C36E5A5B4F2FA2FEA6D0EE41AA3C44B727AF545A3B45
-2D931C1BB522CE068979A7DED0470409E7999EEBD6C58A1F1909CDD00ED2180D
-44A271811E80B3950222BA531719FC4B0ADB6255BAA63787774E2947CCA6519D
-E51D71A2ABD77B282CC8B4F8BAD57ADFED6818B3C24ABE0E668AB63CF2F17731
-2F7C7A492A47EB38DBFAC5A36BBA799375A4EDDF6A0122789BF6F58F8EC9F0C1
-49CF01C136A792BE4C6118DCDC0675459ECCCA754ECDA9D170708CE58A230DB7
-D753C45E7434FFE711AA5DA45393DCA8B5C8920A95C94F3B89776C23B53F70BA
-B6D217CA58C551206918303DB33B6081E3391F10DDC5F58B1790028AA2150AFB
-085185754358891D30992FFA2C23DB2A04521107101C2B52A1A168E2CE7C85FC
-37D32B44FD1DC3BE4B28BBA9A9F91229C79997F5184F5E7143C838FDC8196C52
-0B33A375B320A025180846736F0649DCA8FC61EBB6CC1974A4134EA26E6F5E5C
-A73992547B9A4E6BDA10FF2B41C9215F2F9AC755DB11C1CDAF34396E4B92DB64
-83034FC2023D846B33DC7CD297527F183540456192DCF23BCB4A1DBBB7A2ECBB
-D938F9F3C03AA46A1893059A722AE7FA05CE716AC8D446D7F038D6C72C172A5F
-05F91CB5FD5427E6C156F126F6B2014F97F5792F77CCDA6A802CD7E3405FA66B
-E32EECF53CA9071D1EE20AAFA9AF3DBF4CBD250650870F0B9A3923BC4484F349
-EB072F3244C98AB39B6F708A4A52C0EA243DEB4DD77BBCE573A2E56323A18A0F
-504EE24F90A29AFC5FD3002749E953E1E1E6E6E8989A029BADA9CA0A261884EB
-C6BC3BDE99849D6F05D8D1ABAF82A452EE116463444BE4D3DE38F63938BF69BD
-10EEA7C68AA8077F412060D185E4187120926B4B209A74497A3C9065F1BAE8A3
-C5DF1A6A01349D7E8D215FAA03677C682022A26D3179CABD03A0C4BC6B303BFF
-BC7B3FAF26B96747A840C12EF14E16A2DEC76B243519B53E04038D3FB13A2C24
-B531C3147B51A8C3623F4C161B4097364608D5871A29006F7ACDE5ADA1F82C11
-11BD9E2AAEA52D352D70FA4C94809422ED65C03C4A72DBE2FBF26F4CEACE9DDA
-F6D895413EC28F2F61F40D67AB8798DF36773780B292455A689B4B70F03D18E1
-EEDF66F3C5823D47156B6B2D1A1006C513FCCA31D101DEBD474E72B49B664F35
-86EBB75BDCCB5F4AF8B583B835449F7CAEE5E97A819AC9ECEDDD6AB2E7B326D2
-A92F7568D8301B1F1485F234B32632E8725F8B637EEFA1397FF031342A03B602
-815005BE674B52CD4744E20CCD2DB8F7F58D0717FCDF04001101A51B0926D53B
-BFF990D7B01091B64F85C9397DBE3F48A17BD2584141B3229CEAAA3F0546EC6A
-4B9FBD4EED3EB6F78F8FE6D342B13F5BEEB210E4A527D83B9354A085AC87B359
-4E5DB704BF8363E95FF526A56182093FBC89926FA47D90178A91CAA8D5A73F2A
-E38BFCF454444A79EB4AAA502292C08166EC7CBC37014DC7DCEB4DDDFF7B9A29
-75A5DC4C86D19B4E9901464C7E81F251DD00CEB0A87C6DC15EDE276E8976DC6E
-77642A3B502A160CA2AE5EF55BEFC154602E96F496F7A4D2F3D345F51B28543C
-DE2412AE9C332C5141F664C9B5BA61806420359A29A473E0BCA4FC49853F6622
-A6EF486456683FF69DFE32EA117216FF797E3CFD8C4FE436CA7E1AF5F91DFDD0
-408876DFC19DB1CD9EB2CE9AE76EEEE3E73E0F37BDBF4010B581C510B3DB0CA2
-C340B265B989E1E682B4FF9EE3CF10B9166604FA8262B123C7333E91CEEC975C
-80D73B4DE4F9A065B1D86A040B69197EDDFC955054AEBED3B93C9EE76A139D91
-D8F1967EC2579F6E111AFCA78FDCA67DC154D4DB3CAD540024BDCAC2A28537F4
-51BCBD448C87549379CE17DC363254735D586FC39A5BBCB4EFE907F37B4E9842
-12BFA21977D0D519B0628AA31C58EF538A78402BC7611FFC01B6049A8437D319
-9A9A1375578B7D36F14F6A31E2717F1DB8A55CB0624BD9BB4ACFEF4594715AD3
-BEB006D593E3D0FB36A82813A39AA70E
+DD95F0D68118CBB60C521E5CB2BA46A10E50E9238163713290DF6DD8A27D3813
+F871C07E725D4518013D9A84CEC96782541E5580E33C2EBCDB18F08EB4655A46
+507A8526DB26C854928B81FD502B0CCE4A68943C12078F57C10F4E85FBEE1025
+46D925B8B3B447D4920410FEEB9844FABE985F9228FDD9F26BDA3B469D678F01
+BBD601F46245B0AEF9E844A38F0A186733A8523992CBBF6DFDED8BDE4E6DDEE1
+AA0EE78B943B79CBA4AE311FF4612252D9EEC7DDF88BA8080801F9BC7611DCF9
+D6AA4A8651177CB85010D420CDFB43CD103ED7A1B9C2E885C88F882E29F4C301
+4750C3EFA20150F9AF0A5BCC8DD9C7DD53434855ACC1FF84087D95BE7A2FC2AA
+446A89DCD272268178C02DB29FED2749139BF0A51A5A9E0B6B8322558086D62E
+BF48C20DCB99FD2BAE6853877991059EA432234EA3DBBEAA7A63B0279661F69F
+181917D92AA634ED55BF9736395C609B315ACC4F49566EDF37EE388BB8B5D9A7
+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
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -5181,9 +5192,9 @@ rf /Fj 133[55 65 65 1[65 68 48 48 50 1[68 61 68 102 34
2[34 68 61 37 56 68 55 68 60 9[127 3[68 5[116 74 2[46
96 1[77 81 94 2[93 9[61 61 61 61 61 61 61 2[34 33[68
12[{}41 109.091 /CMBX12 rf /Fk 134[48 48 66 48 51 35
-36 36 48 51 45 51 76 25 2[25 51 45 28 40 51 40 1[45 3[25
-1[25 40[45 45 6[45 29[51 53 11[{}29 90.9091 /CMSL10 rf
-/Fl 138[56 1[42 4[56 4[27 1[58 3[54 1[56 97[{}7 90.9091
+36 36 48 51 45 51 76 25 2[25 51 45 28 40 51 40 51 45
+3[25 1[25 40[45 45 6[45 29[51 53 11[{}30 90.9091 /CMSL10
+rf /Fl 138[56 1[42 4[56 4[27 1[58 3[54 1[56 97[{}7 90.9091
/CMCSC10 rf /Fm 134[85 85 117 85 90 63 64 66 1[90 81
90 134 45 2[45 90 81 49 74 90 72 90 78 10[122 124 112
3[110 1[126 1[97 2[60 126 127 101 1[124 117 115 122 14[81
@@ -5196,7 +5207,7 @@ rf /Fp 129[48 48 48 48 48 48 1[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 1[48 48 48 48 48 48 33[{}71 90.9091 /CMTT10
+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
@@ -5219,29 +5230,30 @@ ifelse
%%EndSetup
%%Page: 1 1
TeXDict begin 1 0 bop 150 1318 a Fr(GNU)65 b(History)h(Library)p
-150 1418 3600 34 v 1920 1515 a Fq(Edition)31 b(7.0,)h(for)e
-Fp(History)e(Library)h Fq(V)-8 b(ersion)31 b(7.0.)3145
-1623 y(Decem)m(b)s(er)g(2017)150 4927 y Fo(Chet)45 b(Ramey)-11
+150 1418 3600 34 v 1920 1515 a Fq(Edition)31 b(8.0,)h(for)e
+Fp(History)e(Library)h Fq(V)-8 b(ersion)31 b(8.0.)3118
+1623 y(Septem)m(b)s(er)f(2018)150 4927 y Fo(Chet)45 b(Ramey)-11
b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150
5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)
-11 b(oundation)p 150 5141 3600 17 v eop end
%%Page: 2 2
-TeXDict begin 2 1 bop 150 4413 a Fq(This)30 b(do)s(cumen)m(t)g(describ)
-s(es)f(the)i(GNU)g(History)g(library)f(\(v)m(ersion)h(7.0,)h(28)f
-(Decem)m(b)s(er)h(2017\),)g(a)f(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{2016)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h
-(F)-8 b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21
-b(is)f(gran)m(ted)h(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s
-(dify)e(this)i(do)s(cumen)m(t)f(under)f(the)390 5011
-y(terms)25 b(of)h(the)f(GNU)h(F)-8 b(ree)27 b(Do)s(cumen)m(tation)g
-(License,)g(V)-8 b(ersion)26 b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)
-390 5121 y(published)43 b(b)m(y)h(the)h(F)-8 b(ree)46
-b(Soft)m(w)m(are)g(F)-8 b(oundation;)53 b(with)44 b(no)g(In)m(v)-5
-b(arian)m(t)46 b(Sections,)j(no)390 5230 y(F)-8 b(ron)m(t-Co)m(v)m(er)
-31 b(T)-8 b(exts,)30 b(and)f(no)f(Bac)m(k-Co)m(v)m(er)k(T)-8
+TeXDict begin 2 1 bop 150 4413 a Fq(This)43 b(do)s(cumen)m(t)g(describ)
+s(es)g(the)h(GNU)g(History)h(library)e(\(v)m(ersion)h(8.0,)49
+b(18)44 b(Septem)m(b)s(er)f(2018\),)50 b(a)150 4523 y(programming)32
+b(to)s(ol)h(that)f(pro)m(vides)g(a)h(consisten)m(t)g(user)e(in)m
+(terface)j(for)d(recalling)j(lines)e(of)g(previously)150
+4633 y(t)m(yp)s(ed)e(input.)150 4767 y(Cop)m(yrigh)m(t)602
+4764 y(c)577 4767 y Fn(\015)g Fq(1988{2016)35 b(F)-8
+b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390
+4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8
+b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f
+(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
+b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
+b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43
+b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8
+b(oundation;)53 b(with)44 b(no)g(In)m(v)-5 b(arian)m(t)46
+b(Sections,)j(no)390 5230 y(F)-8 b(ron)m(t-Co)m(v)m(er)31
+b(T)-8 b(exts,)30 b(and)f(no)f(Bac)m(k-Co)m(v)m(er)k(T)-8
b(exts.)41 b(A)29 b(cop)m(y)h(of)f(the)g(license)h(is)f(included)390
5340 y(in)h(the)h(section)g(en)m(titled)h(\\GNU)f(F)-8
b(ree)32 b(Do)s(cumen)m(tation)g(License".)p eop end
@@ -5250,158 +5262,170 @@ TeXDict begin -1 2 bop 3725 -116 a Fq(i)150 299 y Fm(T)-13
b(able)53 b(of)h(Con)l(ten)l(ts)p eop end
%%Page: 1 4
TeXDict begin 1 3 bop 3705 -116 a Fq(1)150 299 y Fm(1)80
-b(Using)53 b(History)g(In)l(teractiv)l(ely)150 549 y
+b(Using)53 b(History)g(In)l(teractiv)l(ely)150 525 y
Fq(This)42 b(c)m(hapter)h(describ)s(es)f(ho)m(w)g(to)h(use)g(the)f
Fl(gnu)h Fq(History)g(Library)e(in)m(teractiv)m(ely)-8
-b(,)50 b(from)42 b(a)h(user's)150 659 y(standp)s(oin)m(t.)76
+b(,)50 b(from)42 b(a)h(user's)150 634 y(standp)s(oin)m(t.)76
b(It)42 b(should)f(b)s(e)h(considered)g(a)g(user's)g(guide.)76
b(F)-8 b(or)43 b(information)f(on)g(using)g(the)g Fl(gnu)150
-769 y Fq(History)36 b(Library)e(in)h(y)m(our)f(o)m(wn)i(programs,)g
+744 y Fq(History)36 b(Library)e(in)h(y)m(our)f(o)m(wn)i(programs,)g
(see)f(Chapter)g(2)g([Programming)g(with)g(GNU)h(History],)150
-878 y(page)31 b(4.)150 1127 y Fo(1.1)68 b(History)46
-b(Expansion)150 1287 y Fq(The)f(History)h(library)e(pro)m(vides)i(a)f
+854 y(page)31 b(4.)150 1091 y Fo(1.1)68 b(History)46
+b(Expansion)150 1251 y Fq(The)f(History)h(library)e(pro)m(vides)i(a)f
(history)g(expansion)g(feature)h(that)g(is)f(similar)h(to)g(the)f
-(history)150 1396 y(expansion)g(pro)m(vided)f(b)m(y)h
+(history)150 1360 y(expansion)g(pro)m(vided)f(b)m(y)h
Fp(csh)p Fq(.)83 b(This)44 b(section)i(describ)s(es)e(the)h(syn)m(tax)h
-(used)e(to)i(manipulate)f(the)150 1506 y(history)30 b(information.)275
-1646 y(History)h(expansions)f(in)m(tro)s(duce)g(w)m(ords)g(from)g(the)h
+(used)e(to)i(manipulate)f(the)150 1470 y(history)30 b(information.)275
+1603 y(History)h(expansions)f(in)m(tro)s(duce)g(w)m(ords)g(from)g(the)h
(history)f(list)h(in)m(to)g(the)g(input)f(stream,)h(making)150
-1755 y(it)g(easy)g(to)g(rep)s(eat)g(commands,)f(insert)g(the)h(argumen)
+1712 y(it)g(easy)g(to)g(rep)s(eat)g(commands,)f(insert)g(the)h(argumen)
m(ts)f(to)h(a)g(previous)f(command)g(in)m(to)i(the)e(curren)m(t)150
-1865 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g
-(quic)m(kly)-8 b(.)275 2005 y(History)37 b(expansion)f(tak)m(es)i
+1822 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g
+(quic)m(kly)-8 b(.)275 1955 y(History)37 b(expansion)f(tak)m(es)i
(place)g(in)e(t)m(w)m(o)i(parts.)59 b(The)36 b(\014rst)g(is)h(to)g
-(determine)g(whic)m(h)f(line)h(from)150 2115 y(the)42
+(determine)g(whic)m(h)f(line)h(from)150 2064 y(the)42
b(history)f(list)h(should)e(b)s(e)h(used)f(during)g(substitution.)74
b(The)40 b(second)i(is)f(to)h(select)h(p)s(ortions)e(of)150
-2224 y(that)31 b(line)g(for)f(inclusion)h(in)m(to)g(the)g(curren)m(t)f
+2174 y(that)31 b(line)g(for)f(inclusion)h(in)m(to)g(the)g(curren)m(t)f
(one.)42 b(The)30 b(line)h(selected)h(from)e(the)h(history)f(is)h
-(called)h(the)150 2334 y Fk(ev)m(en)m(t)p Fq(,)e(and)c(the)i(p)s
+(called)h(the)150 2283 y Fk(ev)m(en)m(t)p Fq(,)e(and)c(the)i(p)s
(ortions)e(of)i(that)f(line)h(that)g(are)f(acted)i(up)s(on)c(are)j
(called)g Fk(w)m(ords)p Fq(.)39 b(V)-8 b(arious)28 b
-Fk(mo)s(di\014ers)150 2443 y Fq(are)33 b(a)m(v)-5 b(ailable)36
+Fk(mo)s(di\014ers)150 2393 y Fq(are)33 b(a)m(v)-5 b(ailable)36
b(to)d(manipulate)h(the)f(selected)h(w)m(ords.)48 b(The)32
b(line)i(is)f(brok)m(en)f(in)m(to)i(w)m(ords)f(in)f(the)i(same)150
-2553 y(fashion)23 b(that)g(Bash)g(do)s(es,)h(so)f(that)h(sev)m(eral)g
+2503 y(fashion)23 b(that)g(Bash)g(do)s(es,)h(so)f(that)h(sev)m(eral)g
(w)m(ords)e(surrounded)e(b)m(y)j(quotes)g(are)g(considered)g(one)g(w)m
-(ord.)150 2662 y(History)37 b(expansions)g(are)g(in)m(tro)s(duced)f(b)m
+(ord.)150 2612 y(History)37 b(expansions)g(are)g(in)m(tro)s(duced)f(b)m
(y)h(the)g(app)s(earance)g(of)g(the)g(history)f(expansion)h(c)m
-(haracter,)150 2772 y(whic)m(h)30 b(is)h(`)p Fp(!)p Fq(')f(b)m(y)g
-(default.)150 2977 y Fj(1.1.1)63 b(Ev)m(en)m(t)39 b(Designators)150
-3124 y Fq(An)32 b(ev)m(en)m(t)j(designator)e(is)g(a)g(reference)g(to)h
-(a)f(command)f(line)h(en)m(try)g(in)g(the)g(history)g(list.)48
-b(Unless)33 b(the)150 3233 y(reference)e(is)f(absolute,)i(ev)m(en)m(ts)
-f(are)g(relativ)m(e)i(to)e(the)f(curren)m(t)g(p)s(osition)h(in)f(the)h
-(history)f(list.)150 3401 y Fp(!)432 b Fq(Start)34 b(a)f(history)h
-(substitution,)g(except)g(when)f(follo)m(w)m(ed)i(b)m(y)e(a)h(space,)h
-(tab,)f(the)g(end)f(of)630 3511 y(the)e(line,)g(or)f(`)p
-Fp(=)p Fq('.)150 3675 y Fp(!)p Fi(n)384 b Fq(Refer)30
-b(to)i(command)e(line)g Fk(n)p Fq(.)150 3840 y Fp(!-)p
+(haracter,)150 2722 y(whic)m(h)30 b(is)h(`)p Fp(!)p Fq(')f(b)m(y)g
+(default.)275 2855 y(History)c(expansion)g(implemen)m(ts)h(shell-lik)m
+(e)h(quoting)f(con)m(v)m(en)m(tions:)40 b(a)27 b(bac)m(kslash)g(can)f
+(b)s(e)g(used)f(to)150 2964 y(remo)m(v)m(e)h(the)e(sp)s(ecial)g
+(handling)g(for)g(the)g(next)g(c)m(haracter;)k(single)d(quotes)g
+(enclose)g(v)m(erbatim)g(sequences)150 3074 y(of)k(c)m(haracters,)i
+(and)e(can)g(b)s(e)g(used)f(to)i(inhibit)f(history)g(expansion;)g(and)g
+(c)m(haracters)i(enclosed)e(within)150 3183 y(double)h(quotes)i(ma)m(y)
+f(b)s(e)f(sub)5 b(ject)31 b(to)h(history)f(expansion,)g(since)g(bac)m
+(kslash)g(can)h(escap)s(e)f(the)g(history)150 3293 y(expansion)e(c)m
+(haracter,)j(but)d(single)h(quotes)g(ma)m(y)h(not,)f(since)g(they)g
+(are)g(not)f(treated)i(sp)s(ecially)f(within)150 3403
+y(double)g(quotes.)150 3599 y Fj(1.1.1)63 b(Ev)m(en)m(t)39
+b(Designators)150 3746 y Fq(An)32 b(ev)m(en)m(t)j(designator)e(is)g(a)g
+(reference)g(to)h(a)f(command)f(line)h(en)m(try)g(in)g(the)g(history)g
+(list.)48 b(Unless)33 b(the)150 3855 y(reference)e(is)f(absolute,)i(ev)
+m(en)m(ts)f(are)g(relativ)m(e)i(to)e(the)f(curren)m(t)g(p)s(osition)h
+(in)f(the)h(history)f(list.)150 4011 y Fp(!)432 b Fq(Start)34
+b(a)f(history)h(substitution,)g(except)g(when)f(follo)m(w)m(ed)i(b)m(y)
+e(a)h(space,)h(tab,)f(the)g(end)f(of)630 4121 y(the)e(line,)g(or)f(`)p
+Fp(=)p Fq('.)150 4277 y Fp(!)p Fi(n)384 b Fq(Refer)30
+b(to)i(command)e(line)g Fk(n)p Fq(.)150 4433 y Fp(!-)p
Fi(n)336 b Fq(Refer)30 b(to)i(the)e(command)g Fk(n)g
-Fq(lines)h(bac)m(k.)150 4005 y Fp(!!)384 b Fq(Refer)30
+Fq(lines)h(bac)m(k.)150 4589 y Fp(!!)384 b Fq(Refer)30
b(to)i(the)e(previous)g(command.)40 b(This)30 b(is)g(a)h(synon)m(ym)f
-(for)g(`)p Fp(!-1)p Fq('.)150 4170 y Fp(!)p Fi(string)144
+(for)g(`)p Fp(!-1)p Fq('.)150 4745 y Fp(!)p Fi(string)144
b Fq(Refer)25 b(to)h(the)f(most)h(recen)m(t)g(command)f(preceding)g
(the)g(curren)m(t)g(p)s(osition)g(in)g(the)g(history)630
-4280 y(list)31 b(starting)g(with)f Fk(string)p Fq(.)150
-4445 y Fp(!?)p Fi(string)p Fp([?])630 4554 y Fq(Refer)25
+4855 y(list)31 b(starting)g(with)f Fk(string)p Fq(.)150
+5011 y Fp(!?)p Fi(string)p Fp([?])630 5121 y Fq(Refer)25
b(to)h(the)f(most)h(recen)m(t)g(command)f(preceding)g(the)g(curren)m(t)
-g(p)s(osition)g(in)g(the)g(history)630 4664 y(list)32
+g(p)s(osition)g(in)g(the)g(history)630 5230 y(list)32
b(con)m(taining)i Fk(string)p Fq(.)45 b(The)31 b(trailing)i(`)p
Fp(?)p Fq(')f(ma)m(y)g(b)s(e)f(omitted)i(if)f(the)g Fk(string)39
-b Fq(is)32 b(follo)m(w)m(ed)630 4773 y(immediately)g(b)m(y)e(a)h
-(newline.)150 4938 y Fp(^)p Fi(string1)p Fp(^)p Fi(string2)p
-Fp(^)630 5048 y Fq(Quic)m(k)h(Substitution.)44 b(Rep)s(eat)32
-b(the)g(last)h(command,)f(replacing)g Fk(string1)40 b
-Fq(with)31 b Fk(string2)p Fq(.)630 5157 y(Equiv)-5 b(alen)m(t)31
-b(to)g Fp(!!:s/)p Fi(string1)p Fp(/)p Fi(string2)p Fp(/)p
-Fq(.)150 5322 y Fp(!#)384 b Fq(The)30 b(en)m(tire)h(command)f(line)h(t)
-m(yp)s(ed)f(so)h(far.)p eop end
+b Fq(is)32 b(follo)m(w)m(ed)630 5340 y(immediately)g(b)m(y)e(a)h
+(newline.)p eop end
%%Page: 2 5
TeXDict begin 2 4 bop 150 -116 a Fq(Chapter)30 b(1:)41
b(Using)30 b(History)h(In)m(teractiv)m(ely)2016 b(2)150
-299 y Fj(1.1.2)63 b(W)-10 b(ord)41 b(Designators)150
-446 y Fq(W)-8 b(ord)27 b(designators)h(are)g(used)e(to)i(select)h
-(desired)d(w)m(ords)h(from)f(the)i(ev)m(en)m(t.)41 b(A)27
-b(`)p Fp(:)p Fq(')g(separates)h(the)f(ev)m(en)m(t)150
-555 y(sp)s(eci\014cation)38 b(from)e(the)h(w)m(ord)f(designator.)61
+299 y Fp(^)p Fi(string1)p Fp(^)p Fi(string2)p Fp(^)630
+408 y Fq(Quic)m(k)32 b(Substitution.)44 b(Rep)s(eat)32
+b(the)g(last)h(command,)f(replacing)g Fk(string1)40 b
+Fq(with)31 b Fk(string2)p Fq(.)630 518 y(Equiv)-5 b(alen)m(t)31
+b(to)g Fp(!!:s/)p Fi(string1)p Fp(/)p Fi(string2)p Fp(/)p
+Fq(.)150 674 y Fp(!#)384 b Fq(The)30 b(en)m(tire)h(command)f(line)h(t)m
+(yp)s(ed)f(so)h(far.)150 869 y Fj(1.1.2)63 b(W)-10 b(ord)41
+b(Designators)150 1016 y Fq(W)-8 b(ord)27 b(designators)h(are)g(used)e
+(to)i(select)h(desired)d(w)m(ords)h(from)f(the)i(ev)m(en)m(t.)41
+b(A)27 b(`)p Fp(:)p Fq(')g(separates)h(the)f(ev)m(en)m(t)150
+1125 y(sp)s(eci\014cation)38 b(from)e(the)h(w)m(ord)f(designator.)61
b(It)37 b(ma)m(y)h(b)s(e)e(omitted)i(if)e(the)h(w)m(ord)g(designator)g
-(b)s(egins)150 665 y(with)30 b(a)g(`)p Fp(^)p Fq(',)g(`)p
+(b)s(egins)150 1235 y(with)30 b(a)g(`)p Fp(^)p Fq(',)g(`)p
Fp($)p Fq(',)g(`)p Fp(*)p Fq(',)h(`)p Fp(-)p Fq(',)f(or)g(`)p
Fp(\045)p Fq('.)41 b(W)-8 b(ords)30 b(are)g(n)m(um)m(b)s(ered)e(from)i
(the)g(b)s(eginning)f(of)h(the)g(line,)g(with)g(the)150
-775 y(\014rst)f(w)m(ord)f(b)s(eing)h(denoted)h(b)m(y)f(0)h(\(zero\).)41
-b(W)-8 b(ords)30 b(are)g(inserted)f(in)m(to)h(the)g(curren)m(t)f(line)g
-(separated)h(b)m(y)150 884 y(single)h(spaces.)275 1026
-y(F)-8 b(or)31 b(example,)150 1197 y Fp(!!)384 b Fq(designates)37
-b(the)f(preceding)g(command.)57 b(When)35 b(y)m(ou)i(t)m(yp)s(e)f
-(this,)h(the)f(preceding)g(com-)630 1307 y(mand)30 b(is)g(rep)s(eated)g
-(in)g(toto.)150 1474 y Fp(!!:$)288 b Fq(designates)23
-b(the)g(last)g(argumen)m(t)g(of)f(the)h(preceding)f(command.)38
-b(This)22 b(ma)m(y)h(b)s(e)e(shortened)630 1583 y(to)31
-b Fp(!$)p Fq(.)150 1750 y Fp(!fi:2)240 b Fq(designates)30
-b(the)g(second)f(argumen)m(t)h(of)f(the)h(most)f(recen)m(t)i(command)e
-(starting)h(with)f(the)630 1860 y(letters)j Fp(fi)p Fq(.)275
-2031 y(Here)e(are)h(the)g(w)m(ord)f(designators:)150
-2202 y Fp(0)g(\(zero\))114 b Fq(The)30 b Fp(0)p Fq(th)g(w)m(ord.)40
-b(F)-8 b(or)31 b(man)m(y)g(applications,)h(this)e(is)g(the)h(command)f
-(w)m(ord.)150 2369 y Fi(n)432 b Fq(The)30 b Fk(n)p Fq(th)g(w)m(ord.)150
-2536 y Fp(^)432 b Fq(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m
-(ord)g(1.)150 2703 y Fp($)432 b Fq(The)30 b(last)h(argumen)m(t.)150
-2870 y Fp(\045)432 b Fq(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h
+1345 y(\014rst)f(w)m(ord)f(b)s(eing)h(denoted)h(b)m(y)f(0)h(\(zero\).)
+41 b(W)-8 b(ords)30 b(are)g(inserted)f(in)m(to)h(the)g(curren)m(t)f
+(line)g(separated)h(b)m(y)150 1454 y(single)h(spaces.)275
+1587 y(F)-8 b(or)31 b(example,)150 1742 y Fp(!!)384 b
+Fq(designates)37 b(the)f(preceding)g(command.)57 b(When)35
+b(y)m(ou)i(t)m(yp)s(e)f(this,)h(the)f(preceding)g(com-)630
+1852 y(mand)30 b(is)g(rep)s(eated)g(in)g(toto.)150 2007
+y Fp(!!:$)288 b Fq(designates)23 b(the)g(last)g(argumen)m(t)g(of)f(the)
+h(preceding)f(command.)38 b(This)22 b(ma)m(y)h(b)s(e)e(shortened)630
+2117 y(to)31 b Fp(!$)p Fq(.)150 2273 y Fp(!fi:2)240 b
+Fq(designates)30 b(the)g(second)f(argumen)m(t)h(of)f(the)h(most)f
+(recen)m(t)i(command)e(starting)h(with)f(the)630 2382
+y(letters)j Fp(fi)p Fq(.)275 2538 y(Here)e(are)h(the)g(w)m(ord)f
+(designators:)150 2693 y Fp(0)g(\(zero\))114 b Fq(The)30
+b Fp(0)p Fq(th)g(w)m(ord.)40 b(F)-8 b(or)31 b(man)m(y)g(applications,)h
+(this)e(is)g(the)h(command)f(w)m(ord.)150 2849 y Fi(n)432
+b Fq(The)30 b Fk(n)p Fq(th)g(w)m(ord.)150 3004 y Fp(^)432
+b Fq(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m(ord)g(1.)150
+3160 y Fp($)432 b Fq(The)30 b(last)h(argumen)m(t.)150
+3315 y Fp(\045)432 b Fq(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h
(most)g(recen)m(t)g(`)p Fp(?)p Fi(string)p Fp(?)p Fq(')e(searc)m(h.)150
-3037 y Fi(x)p Fp(-)p Fi(y)336 b Fq(A)30 b(range)h(of)g(w)m(ords;)f(`)p
+3471 y Fi(x)p Fp(-)p Fi(y)336 b Fq(A)30 b(range)h(of)g(w)m(ords;)f(`)p
Fp(-)p Fi(y)p Fq(')g(abbreviates)h(`)p Fp(0-)p Fi(y)p
-Fq('.)150 3204 y Fp(*)432 b Fq(All)28 b(of)g(the)g(w)m(ords,)g(except)h
+Fq('.)150 3626 y Fp(*)432 b Fq(All)28 b(of)g(the)g(w)m(ords,)g(except)h
(the)e Fp(0)p Fq(th.)40 b(This)27 b(is)g(a)h(synon)m(ym)f(for)h(`)p
Fp(1-$)p Fq('.)39 b(It)28 b(is)g(not)g(an)f(error)630
-3313 y(to)j(use)g(`)p Fp(*)p Fq(')f(if)h(there)g(is)g(just)f(one)h(w)m
+3736 y(to)j(use)g(`)p Fp(*)p Fq(')f(if)h(there)g(is)g(just)f(one)h(w)m
(ord)f(in)g(the)h(ev)m(en)m(t;)i(the)d(empt)m(y)i(string)e(is)h
-(returned)e(in)630 3423 y(that)j(case.)150 3590 y Fi(x)p
+(returned)e(in)630 3845 y(that)j(case.)150 4001 y Fi(x)p
Fp(*)384 b Fq(Abbreviates)31 b(`)p Fi(x)p Fp(-$)p Fq(')150
-3757 y Fi(x)p Fp(-)384 b Fq(Abbreviates)31 b(`)p Fi(x)p
+4156 y Fi(x)p Fp(-)384 b Fq(Abbreviates)31 b(`)p Fi(x)p
Fp(-$)p Fq(')f(lik)m(e)h(`)p Fi(x)p Fp(*)p Fq(',)g(but)f(omits)h(the)f
-(last)h(w)m(ord.)275 3928 y(If)i(a)h(w)m(ord)g(designator)g(is)g
+(last)h(w)m(ord.)275 4312 y(If)i(a)h(w)m(ord)g(designator)g(is)g
(supplied)f(without)h(an)g(ev)m(en)m(t)h(sp)s(eci\014cation,)h(the)e
-(previous)f(command)150 4038 y(is)d(used)g(as)h(the)f(ev)m(en)m(t.)150
-4244 y Fj(1.1.3)63 b(Mo)s(di\014ers)150 4391 y Fq(After)29
+(previous)f(command)150 4422 y(is)d(used)g(as)h(the)f(ev)m(en)m(t.)150
+4617 y Fj(1.1.3)63 b(Mo)s(di\014ers)150 4764 y Fq(After)29
b(the)g(optional)g(w)m(ord)g(designator,)g(y)m(ou)g(can)g(add)f(a)h
(sequence)g(of)g(one)g(or)f(more)h(of)g(the)f(follo)m(wing)150
-4501 y(mo)s(di\014ers,)h(eac)m(h)j(preceded)e(b)m(y)g(a)h(`)p
-Fp(:)p Fq('.)150 4672 y Fp(h)432 b Fq(Remo)m(v)m(e)32
+4873 y(mo)s(di\014ers,)h(eac)m(h)j(preceded)e(b)m(y)g(a)h(`)p
+Fp(:)p Fq('.)150 5029 y Fp(h)432 b Fq(Remo)m(v)m(e)32
b(a)f(trailing)g(pathname)g(comp)s(onen)m(t,)g(lea)m(ving)h(only)e(the)
-h(head.)150 4839 y Fp(t)432 b Fq(Remo)m(v)m(e)32 b(all)f(leading)h
+h(head.)150 5184 y Fp(t)432 b Fq(Remo)m(v)m(e)32 b(all)f(leading)h
(pathname)e(comp)s(onen)m(ts,)h(lea)m(ving)h(the)e(tail.)150
-5006 y Fp(r)432 b Fq(Remo)m(v)m(e)32 b(a)f(trailing)g(su\016x)f(of)g
+5340 y Fp(r)432 b Fq(Remo)m(v)m(e)32 b(a)f(trailing)g(su\016x)f(of)g
(the)h(form)f(`)p Fp(.)p Fi(suffix)p Fq(',)f(lea)m(ving)j(the)f
-(basename.)150 5173 y Fp(e)432 b Fq(Remo)m(v)m(e)32 b(all)f(but)f(the)h
-(trailing)g(su\016x.)150 5340 y Fp(p)432 b Fq(Prin)m(t)30
-b(the)h(new)f(command)g(but)g(do)g(not)g(execute)i(it.)p
-eop end
+(basename.)p eop end
%%Page: 3 6
TeXDict begin 3 5 bop 150 -116 a Fq(Chapter)30 b(1:)41
b(Using)30 b(History)h(In)m(teractiv)m(ely)2016 b(3)150
-299 y Fp(s/)p Fi(old)p Fp(/)p Fi(new)p Fp(/)630 408 y
-Fq(Substitute)32 b Fk(new)40 b Fq(for)32 b(the)h(\014rst)f(o)s
-(ccurrence)h(of)f Fk(old)37 b Fq(in)32 b(the)h(ev)m(en)m(t)h(line.)48
-b(An)m(y)32 b(delimiter)630 518 y(ma)m(y)25 b(b)s(e)g(used)f(in)g
-(place)i(of)f(`)p Fp(/)p Fq('.)39 b(The)24 b(delimiter)h(ma)m(y)h(b)s
-(e)e(quoted)h(in)f Fk(old)29 b Fq(and)24 b Fk(new)32
-b Fq(with)25 b(a)630 628 y(single)k(bac)m(kslash.)40
-b(If)28 b(`)p Fp(&)p Fq(')g(app)s(ears)g(in)f Fk(new)p
-Fq(,)i(it)f(is)h(replaced)f(b)m(y)g Fk(old)p Fq(.)40
-b(A)28 b(single)h(bac)m(kslash)630 737 y(will)35 b(quote)g(the)g(`)p
-Fp(&)p Fq('.)54 b(The)34 b(\014nal)g(delimiter)i(is)e(optional)i(if)f
-(it)g(is)f(the)h(last)h(c)m(haracter)g(on)630 847 y(the)31
-b(input)e(line.)150 1006 y Fp(&)432 b Fq(Rep)s(eat)31
-b(the)f(previous)g(substitution.)150 1166 y Fp(g)150
-1275 y(a)432 b Fq(Cause)38 b(c)m(hanges)i(to)f(b)s(e)f(applied)h(o)m(v)
-m(er)h(the)f(en)m(tire)g(ev)m(en)m(t)h(line.)66 b(Used)39
-b(in)f(conjunction)630 1385 y(with)30 b(`)p Fp(s)p Fq(',)h(as)f(in)h
-Fp(gs/)p Fi(old)p Fp(/)p Fi(new)p Fp(/)p Fq(,)c(or)j(with)h(`)p
-Fp(&)p Fq('.)150 1544 y Fp(G)432 b Fq(Apply)30 b(the)g(follo)m(wing)i
-(`)p Fp(s)p Fq(')f(mo)s(di\014er)e(once)i(to)g(eac)m(h)h(w)m(ord)e(in)g
-(the)g(ev)m(en)m(t.)p eop end
+299 y Fp(e)432 b Fq(Remo)m(v)m(e)32 b(all)f(but)f(the)h(trailing)g
+(su\016x.)150 458 y Fp(p)432 b Fq(Prin)m(t)30 b(the)h(new)f(command)g
+(but)g(do)g(not)g(execute)i(it.)150 618 y Fp(s/)p Fi(old)p
+Fp(/)p Fi(new)p Fp(/)630 727 y Fq(Substitute)g Fk(new)40
+b Fq(for)32 b(the)h(\014rst)f(o)s(ccurrence)h(of)f Fk(old)37
+b Fq(in)32 b(the)h(ev)m(en)m(t)h(line.)48 b(An)m(y)32
+b(delimiter)630 837 y(ma)m(y)25 b(b)s(e)g(used)f(in)g(place)i(of)f(`)p
+Fp(/)p Fq('.)39 b(The)24 b(delimiter)h(ma)m(y)h(b)s(e)e(quoted)h(in)f
+Fk(old)29 b Fq(and)24 b Fk(new)32 b Fq(with)25 b(a)630
+946 y(single)k(bac)m(kslash.)40 b(If)28 b(`)p Fp(&)p
+Fq(')g(app)s(ears)g(in)f Fk(new)p Fq(,)i(it)f(is)h(replaced)f(b)m(y)g
+Fk(old)p Fq(.)40 b(A)28 b(single)h(bac)m(kslash)630 1056
+y(will)35 b(quote)g(the)g(`)p Fp(&)p Fq('.)54 b(The)34
+b(\014nal)g(delimiter)i(is)e(optional)i(if)f(it)g(is)f(the)h(last)h(c)m
+(haracter)g(on)630 1166 y(the)31 b(input)e(line.)150
+1325 y Fp(&)432 b Fq(Rep)s(eat)31 b(the)f(previous)g(substitution.)150
+1484 y Fp(g)150 1594 y(a)432 b Fq(Cause)38 b(c)m(hanges)i(to)f(b)s(e)f
+(applied)h(o)m(v)m(er)h(the)f(en)m(tire)g(ev)m(en)m(t)h(line.)66
+b(Used)39 b(in)f(conjunction)630 1704 y(with)30 b(`)p
+Fp(s)p Fq(',)h(as)f(in)h Fp(gs/)p Fi(old)p Fp(/)p Fi(new)p
+Fp(/)p Fq(,)c(or)j(with)h(`)p Fp(&)p Fq('.)150 1863 y
+Fp(G)432 b Fq(Apply)30 b(the)g(follo)m(wing)i(`)p Fp(s)p
+Fq(')f(mo)s(di\014er)e(once)i(to)g(eac)m(h)h(w)m(ord)e(in)g(the)g(ev)m
+(en)m(t.)p eop end
%%Page: 4 7
TeXDict begin 4 6 bop 3705 -116 a Fq(4)150 299 y Fm(2)80
b(Programming)54 b(with)f(GNU)h(History)150 544 y Fq(This)41
@@ -5762,146 +5786,169 @@ b(c)m(har)g(*string)p Fg(\))390 4721 y Fq(Return)c(an)h(arra)m(y)g(of)g
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.)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
+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
%%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 660 y([V)g(ariable])-3598
-b Fh(int)53 b(history_base)390 770 y Fq(The)30 b(logical)j(o\013set)e
+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
-971 y([V)-8 b(ariable])-3598 b Fh(int)53 b(history_length)390
-1081 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 1282 y([V)-8
+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
-1392 y Fq(The)45 b(maxim)m(um)h(n)m(um)m(b)s(er)f(of)h(history)g(en)m
+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 1502 y(history\(\))p Fq(.)3371 1703 y([V)-8
+Fp(stifle_)390 1444 y(history\(\))p Fq(.)3371 1627 y([V)-8
b(ariable])-3598 b Fh(int)53 b(history_write_timesta)q(mps)390
-1813 y Fq(If)44 b(non-zero,)49 b(timestamps)c(are)g(written)g(to)g(the)
+1736 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
-1922 y(b)s(et)m(w)m(een)31 b(sessions.)41 b(The)30 b(default)g(v)-5
+1846 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 2066 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 2066 28 4 v
-41 w(commen)m(t)p 3098 2066 V 41 w(c)m(har)48 b Fq(to)42
-b(delimit)390 2175 y(timestamp)h(en)m(tries)g(in)f(the)g(history)h
+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 2285 y(default\),)31
-b(timestamps)g(will)g(not)f(b)s(e)g(written.)3371 2486
+(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
-2596 y Fq(The)35 b(c)m(haracter)i(that)e(in)m(tro)s(duces)g(a)h
+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 2706
-y(inhibits)30 b(history)g(expansion.)3371 2907 y([V)-8
+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
-3017 y Fq(The)40 b(c)m(haracter)i(that)g(in)m(v)m(ok)m(es)g(w)m(ord)f
+2893 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 3126 y(default)31 b(is)f(`)p Fp(^)p Fq('.)3371
-3328 y([V)-8 b(ariable])-3598 b Fh(char)54 b(history_comment_char)390
-3438 y Fq(During)37 b(tok)m(enization,)43 b(if)38 b(this)f(c)m
+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 3547 y(it)44 b(and)e(all)j(subsequen)m(t)d(c)m
+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 3657 y(expansion)30 b(for)g(the)h(remainder)f(of)g(the)h
+(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
-3858 y([V)-8 b(ariable])-3598 b Fh(char)54 b(*)e
-(history_word_delimiter)q(s)390 3968 y Fq(The)27 b(c)m(haracters)i
+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
-4078 y(\\t\\n\(\)<>;&|")p Fq(.)3371 4279 y([V)-8 b(ariable])-3598
+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
-4389 y Fq(The)26 b(list)g(of)g(additional)h(c)m(haracters)h(whic)m(h)e
+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
-4498 y(to)31 b(space,)g(T)-8 b(AB,)32 b(`)p Fp(:)p Fq(')e(and)g(`)p
+4317 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 4700 y([V)g(ariable])
+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
-4810 y Fq(The)29 b(list)i(of)f(c)m(haracters)h(whic)m(h)e(inhibit)h
+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
-4919 y Fk(history)p 672 4919 V 40 w(expansion)p 1104
-4919 V 40 w(c)m(har)p Fq(.)41 b(The)30 b(default)g(is)h(space,)g(tab,)g
+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
-5121 y([V)-8 b(ariable])-3598 b Fh(int)53 b(history_quotes_inhibi)q
-(t_ex)q(pan)q(sio)q(n)390 5230 y Fq(If)27 b(non-zero,)i(double-quoted)f
-(w)m(ords)g(are)g(not)g(scanned)f(for)h(the)g(history)g(expansion)f(c)m
-(haracter)390 5340 y(or)j(the)h(history)f(commen)m(t)i(c)m(haracter.)42
-b(The)30 b(default)g(v)-5 b(alue)31 b(is)g(0.)p eop end
+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
%%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(rl_linebuf_func_t)57
+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
+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
+(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
+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
-408 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 518 y Fq(\()p Fk(string)8
+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
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 628 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 737 y(should)i(b)s(e)g(done.)45
+-5 b(alue)27 b(if)g(the)390 1708 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
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 847 y(expansion)e(c)m
+(e)h(Bash)e(that)g(use)g(the)g(history)390 1927 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 1122 y Fo(2.5)68 b(History)46 b(Programming)g
-(Example)150 1282 y Fq(The)30 b(follo)m(wing)i(program)e(demonstrates)h
+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
(simple)f(use)g(of)h(the)f Fl(gnu)g Fq(History)h(Library)-8
-b(.)390 1417 y Fe(#include)41 b(<stdio.h>)390 1504 y(#include)g
-(<readline/history.h>)390 1679 y(main)f(\(argc,)h(argv\))586
-1766 y(int)f(argc;)586 1853 y(char)g(**argv;)390 1940
-y({)468 2027 y(char)h(line[1024],)g(*t;)468 2115 y(int)f(len,)g(done)h
-(=)e(0;)468 2289 y(line[0])i(=)f(0;)468 2463 y(using_history)j(\(\);)
-468 2550 y(while)e(\(!done\))547 2638 y({)625 2725 y(printf)g
-(\("history$)g("\);)625 2812 y(fflush)g(\(stdout\);)625
-2899 y(t)f(=)f(fgets)i(\(line,)f(sizeof)h(\(line\))f(-)g(1,)g(stdin\);)
-625 2986 y(if)g(\(t)g(&&)f(*t\))704 3073 y({)782 3161
-y(len)h(=)g(strlen)g(\(t\);)782 3248 y(if)g(\(t[len)h(-)e(1])h(==)f
-('\\n'\))861 3335 y(t[len)h(-)g(1])f(=)h('\\0';)704 3422
-y(})625 3597 y(if)g(\(!t\))704 3684 y(strcpy)g(\(line,)h("quit"\);)625
-3858 y(if)f(\(line[0]\))704 3945 y({)782 4032 y(char)g(*expansion;)782
-4120 y(int)g(result;)782 4294 y(result)h(=)e(history_expand)k(\(line,)d
-(&expansion\);)782 4381 y(if)g(\(result\))861 4468 y(fprintf)h
-(\(stderr,)g("\045s\\n",)f(expansion\);)782 4643 y(if)g(\(result)h(<)e
-(0)h(||)f(result)i(==)f(2\))861 4730 y({)939 4817 y(free)g
-(\(expansion\);)939 4904 y(continue;)861 4991 y(})782
-5166 y(add_history)i(\(expansion\);)782 5253 y(strncpy)f(\(line,)g
-(expansion,)g(sizeof)g(\(line\))f(-)g(1\);)782 5340 y(free)g
-(\(expansion\);)p eop end
+b(.)390 2463 y Fe(#include)41 b(<stdio.h>)390 2550 y(#include)g
+(<readline/history.h>)390 2725 y(main)f(\(argc,)h(argv\))586
+2812 y(int)f(argc;)586 2899 y(char)g(**argv;)390 2986
+y({)468 3073 y(char)h(line[1024],)g(*t;)468 3161 y(int)f(len,)g(done)h
+(=)e(0;)468 3335 y(line[0])i(=)f(0;)468 3509 y(using_history)j(\(\);)
+468 3597 y(while)e(\(!done\))547 3684 y({)625 3771 y(printf)g
+(\("history$)g("\);)625 3858 y(fflush)g(\(stdout\);)625
+3945 y(t)f(=)f(fgets)i(\(line,)f(sizeof)h(\(line\))f(-)g(1,)g(stdin\);)
+625 4032 y(if)g(\(t)g(&&)f(*t\))704 4120 y({)782 4207
+y(len)h(=)g(strlen)g(\(t\);)782 4294 y(if)g(\(t[len)h(-)e(1])h(==)f
+('\\n'\))861 4381 y(t[len)h(-)g(1])f(=)h('\\0';)704 4468
+y(})625 4643 y(if)g(\(!t\))704 4730 y(strcpy)g(\(line,)h("quit"\);)625
+4904 y(if)f(\(line[0]\))704 4991 y({)782 5078 y(char)g(*expansion;)782
+5166 y(int)g(result;)782 5340 y(result)h(=)e(history_expand)k(\(line,)d
+(&expansion\);)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)704
-299 y Fe(})625 473 y(if)40 b(\(strcmp)h(\(line,)f("quit"\))h(==)f(0\))
-704 560 y(done)g(=)f(1;)625 648 y(else)h(if)g(\(strcmp)h(\(line,)g
-("save"\))f(==)g(0\))704 735 y(write_history)i(\("history_file"\);)625
-822 y(else)e(if)g(\(strcmp)h(\(line,)g("read"\))f(==)g(0\))704
-909 y(read_history)i(\("history_file"\);)625 996 y(else)e(if)g
-(\(strcmp)h(\(line,)g("list"\))f(==)g(0\))704 1083 y({)782
-1171 y(register)h(HIST_ENTRY)h(**the_list;)782 1258 y(register)f(int)f
-(i;)782 1432 y(the_list)h(=)f(history_list)i(\(\);)782
-1519 y(if)e(\(the_list\))861 1606 y(for)g(\(i)f(=)h(0;)f(the_list[i];)j
-(i++\))939 1694 y(printf)f(\("\045d:)f(\045s\\n",)h(i)e(+)h
-(history_base,)i(the_list[i]->line\);)704 1781 y(})625
-1868 y(else)e(if)g(\(strncmp)h(\(line,)g("delete",)g(6\))f(==)f(0\))704
-1955 y({)782 2042 y(int)h(which;)782 2130 y(if)g(\(\(sscanf)h(\(line)f
-(+)g(6,)g("\045d",)g(&which\)\))h(==)f(1\))861 2217 y({)939
-2304 y(HIST_ENTRY)i(*entry)e(=)g(remove_history)i(\(which\);)939
-2391 y(if)e(\(!entry\))1018 2478 y(fprintf)g(\(stderr,)i("No)d(such)i
-(entry)f(\045d\\n",)h(which\);)939 2565 y(else)1018 2653
-y({)1096 2740 y(free)f(\(entry->line\);)1096 2827 y(free)g(\(entry\);)
-1018 2914 y(})861 3001 y(})782 3088 y(else)861 3176 y({)939
-3263 y(fprintf)h(\(stderr,)g("non-numeric)h(arg)e(given)g(to)g
-(`delete'\\n"\);)861 3350 y(})704 3437 y(})547 3524 y(})390
-3611 y(})p eop end
+b(Programming)30 b(with)g(GNU)h(History)1734 b(11)782
+299 y Fe(if)40 b(\(result\))861 386 y(fprintf)h(\(stderr,)g
+("\045s\\n",)f(expansion\);)782 560 y(if)g(\(result)h(<)e(0)h(||)f
+(result)i(==)f(2\))861 648 y({)939 735 y(free)g(\(expansion\);)939
+822 y(continue;)861 909 y(})782 1083 y(add_history)i(\(expansion\);)782
+1171 y(strncpy)f(\(line,)g(expansion,)g(sizeof)g(\(line\))f(-)g(1\);)
+782 1258 y(free)g(\(expansion\);)704 1345 y(})625 1519
+y(if)g(\(strcmp)h(\(line,)f("quit"\))h(==)f(0\))704 1606
+y(done)g(=)f(1;)625 1694 y(else)h(if)g(\(strcmp)h(\(line,)g("save"\))f
+(==)g(0\))704 1781 y(write_history)i(\("history_file"\);)625
+1868 y(else)e(if)g(\(strcmp)h(\(line,)g("read"\))f(==)g(0\))704
+1955 y(read_history)i(\("history_file"\);)625 2042 y(else)e(if)g
+(\(strcmp)h(\(line,)g("list"\))f(==)g(0\))704 2130 y({)782
+2217 y(register)h(HIST_ENTRY)h(**the_list;)782 2304 y(register)f(int)f
+(i;)782 2478 y(the_list)h(=)f(history_list)i(\(\);)782
+2565 y(if)e(\(the_list\))861 2653 y(for)g(\(i)f(=)h(0;)f(the_list[i];)j
+(i++\))939 2740 y(printf)f(\("\045d:)f(\045s\\n",)h(i)e(+)h
+(history_base,)i(the_list[i]->line\);)704 2827 y(})625
+2914 y(else)e(if)g(\(strncmp)h(\(line,)g("delete",)g(6\))f(==)f(0\))704
+3001 y({)782 3088 y(int)h(which;)782 3176 y(if)g(\(\(sscanf)h(\(line)f
+(+)g(6,)g("\045d",)g(&which\)\))h(==)f(1\))861 3263 y({)939
+3350 y(HIST_ENTRY)i(*entry)e(=)g(remove_history)i(\(which\);)939
+3437 y(if)e(\(!entry\))1018 3524 y(fprintf)g(\(stderr,)i("No)d(such)i
+(entry)f(\045d\\n",)h(which\);)939 3611 y(else)1018 3699
+y({)1096 3786 y(free)f(\(entry->line\);)1096 3873 y(free)g(\(entry\);)
+1018 3960 y(})861 4047 y(})782 4134 y(else)861 4222 y({)939
+4309 y(fprintf)h(\(stderr,)g("non-numeric)h(arg)e(given)g(to)g
+(`delete'\\n"\);)861 4396 y(})704 4483 y(})547 4570 y(})390
+4658 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
b(A)81 b(GNU)54 b(F)-13 b(ree)53 b(Do)t(cumen)l(tation)e(License)1359
@@ -6576,16 +6623,18 @@ b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)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_search_delimiter_char)q(s)15
-b Fa(:)k(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)30
-b Fb(9)150 1184 y Fe(history_subst_char)12 b Fa(:)17
-b(:)c(:)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(:)27 b Fb(9)150
-1272 y Fe(history_word_delimiters)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 1359 y Fe(history_write_timestamps)13 b Fa(:)19
-b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)28 b Fb(9)p eop end
+b Fb(9)150 1097 y Fe(history_quoting_state)f 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
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)30 b Fb(9)150 1272 y Fe
+(history_subst_char)12 b Fa(:)17 b(:)c(:)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(:)
+27 b Fb(9)150 1359 y Fe(history_word_delimiters)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 1446 y Fe(history_write_timestamps)13
+b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)28 b Fb(9)p eop end
%%Trailer
userdict /end-hook known{end-hook}if
diff --git a/doc/readline.dvi b/doc/readline.dvi
index 146236f..9aec103 100644
--- a/doc/readline.dvi
+++ b/doc/readline.dvi
Binary files differ
diff --git a/doc/readline.html b/doc/readline.html
index 53f68b0..9637f12 100644
--- a/doc/readline.html
+++ b/doc/readline.html
@@ -1,6 +1,6 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on May, 21 2018 by texi2html 1.64 -->
+<!-- Created on November, 16 2018 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -651,6 +651,7 @@ The default value is <SAMP>`off'</SAMP>.
If set to <SAMP>`on'</SAMP>, and <VAR>completion-ignore-case</VAR> is enabled, Readline
treats hyphens (<SAMP>`-'</SAMP>) and underscores (<SAMP>`_'</SAMP>) as equivalent when
performing case-insensitive filename matching and completion.
+The default value is <SAMP>`off'</SAMP>.
<P>
<DT><CODE>completion-prefix-display-length</CODE>
@@ -798,7 +799,7 @@ If this variable has not been given a value, the characters <KBD>ESC</KBD> and
<DT><CODE>keymap</CODE>
<DD><A NAME="IDX30"></A>
Sets Readline's idea of the current keymap for key binding commands.
-Acceptable <CODE>keymap</CODE> names are
+Built-in <CODE>keymap</CODE> names are
<CODE>emacs</CODE>,
<CODE>emacs-standard</CODE>,
<CODE>emacs-meta</CODE>,
@@ -809,6 +810,7 @@ Acceptable <CODE>keymap</CODE> names are
<CODE>vi-insert</CODE>.
<CODE>vi</CODE> is equivalent to <CODE>vi-command</CODE> (<CODE>vi-move</CODE> is also a
synonym); <CODE>emacs</CODE> is equivalent to <CODE>emacs-standard</CODE>.
+Applications may add additional names.
The default value is <CODE>emacs</CODE>.
The value of the <CODE>editing-mode</CODE> variable also affects the
default keymap.
@@ -1010,7 +1012,7 @@ Meta-Rubout: backward-kill-word
Control-o: "&#62; output"
</pre></td></tr></table><P>
-In the above example, <KBD>C-u</KBD> is bound to the function
+In the example above, <KBD>C-u</KBD> is bound to the function
<CODE>universal-argument</CODE>,
<KBD>M-DEL</KBD> is bound to the function <CODE>backward-kill-word</CODE>, and
<KBD>C-o</KBD> is bound to run the macro
@@ -1734,7 +1736,7 @@ This function is intended to be bound to the "bracketed paste" escape
sequence sent by some terminals, and such a binding is assigned by default.
It allows Readline to insert the pasted text as a single unit without treating
each character as if it had been read from the keyboard. The characters
-are inserted as if each one was bound to <CODE>self-insert</CODE>) instead of
+are inserted as if each one was bound to <CODE>self-insert</CODE> instead of
executing any editing commands.
<P>
@@ -3342,6 +3344,24 @@ be supplied in a <CODE>set keymap</CODE> inputrc line (see section <A HREF="read
</DL>
</P><P>
+<A NAME="IDX266"></A>
+<DL>
+<DT><U>Function:</U> void <B>rl_set_keymap</B> <I>(const char *name, Keymap keymap)</I>
+<DD>Set the name of <VAR>keymap</VAR>. This name will then be "registered" and
+available for use in a <CODE>set keymap</CODE> inputrc directive
+see section <A HREF="readline.html#SEC9">1.3 Readline Init File</A>).
+The <VAR>name</VAR> may not be one of Readline's builtin names;
+you may not add a different name for one of Readline's builtin keymaps.
+Readline will make a copy of <VAR>name</VAR>.
+You may replace the name associated with a given keymap by calling this
+function two or more times with the same <VAR>keymap</VAR> argument.
+You can associate a registered name with a new keymap by calling this
+function two or more times with the same <VAR>name</VAR> argument.
+There is no way to remove a named keymap once the name has been
+registered.
+</DL>
+</P><P>
+
<A NAME="Binding Keys"></A>
<HR SIZE="6">
<A NAME="SEC32"></A>
@@ -3379,7 +3399,7 @@ initialization function assigned to the <CODE>rl_startup_hook</CODE> variable
These functions manage key bindings.
</P><P>
-<A NAME="IDX266"></A>
+<A NAME="IDX267"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_key</B> <I>(int key, rl_command_func_t *function)</I>
<DD>Binds <VAR>key</VAR> to <VAR>function</VAR> in the currently active keymap.
@@ -3387,7 +3407,7 @@ Returns non-zero in the case of an invalid <VAR>key</VAR>.
</DL>
</P><P>
-<A NAME="IDX267"></A>
+<A NAME="IDX268"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_key_in_map</B> <I>(int key, rl_command_func_t *function, Keymap map)</I>
<DD>Bind <VAR>key</VAR> to <VAR>function</VAR> in <VAR>map</VAR>.
@@ -3395,7 +3415,7 @@ Returns non-zero in the case of an invalid <VAR>key</VAR>.
</DL>
</P><P>
-<A NAME="IDX268"></A>
+<A NAME="IDX269"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_key_if_unbound</B> <I>(int key, rl_command_func_t *function)</I>
<DD>Binds <VAR>key</VAR> to <VAR>function</VAR> if it is not already bound in the
@@ -3405,7 +3425,7 @@ already bound.
</DL>
</P><P>
-<A NAME="IDX269"></A>
+<A NAME="IDX270"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_key_if_unbound_in_map</B> <I>(int key, rl_command_func_t *function, Keymap map)</I>
<DD>Binds <VAR>key</VAR> to <VAR>function</VAR> if it is not already bound in <VAR>map</VAR>.
@@ -3414,7 +3434,7 @@ already bound.
</DL>
</P><P>
-<A NAME="IDX270"></A>
+<A NAME="IDX271"></A>
<DL>
<DT><U>Function:</U> int <B>rl_unbind_key</B> <I>(int key)</I>
<DD>Bind <VAR>key</VAR> to the null function in the currently active keymap.
@@ -3422,7 +3442,7 @@ Returns non-zero in case of error.
</DL>
</P><P>
-<A NAME="IDX271"></A>
+<A NAME="IDX272"></A>
<DL>
<DT><U>Function:</U> int <B>rl_unbind_key_in_map</B> <I>(int key, Keymap map)</I>
<DD>Bind <VAR>key</VAR> to the null function in <VAR>map</VAR>.
@@ -3430,21 +3450,21 @@ Returns non-zero in case of error.
</DL>
</P><P>
-<A NAME="IDX272"></A>
+<A NAME="IDX273"></A>
<DL>
<DT><U>Function:</U> int <B>rl_unbind_function_in_map</B> <I>(rl_command_func_t *function, Keymap map)</I>
<DD>Unbind all keys that execute <VAR>function</VAR> in <VAR>map</VAR>.
</DL>
</P><P>
-<A NAME="IDX273"></A>
+<A NAME="IDX274"></A>
<DL>
<DT><U>Function:</U> int <B>rl_unbind_command_in_map</B> <I>(const char *command, Keymap map)</I>
<DD>Unbind all keys that are bound to <VAR>command</VAR> in <VAR>map</VAR>.
</DL>
</P><P>
-<A NAME="IDX274"></A>
+<A NAME="IDX275"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_keyseq</B> <I>(const char *keyseq, rl_command_func_t *function)</I>
<DD>Bind the key sequence represented by the string <VAR>keyseq</VAR> to the function
@@ -3454,7 +3474,7 @@ The return value is non-zero if <VAR>keyseq</VAR> is invalid.
</DL>
</P><P>
-<A NAME="IDX275"></A>
+<A NAME="IDX276"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_keyseq_in_map</B> <I>(const char *keyseq, rl_command_func_t *function, Keymap map)</I>
<DD>Bind the key sequence represented by the string <VAR>keyseq</VAR> to the function
@@ -3464,14 +3484,14 @@ The return value is non-zero if <VAR>keyseq</VAR> is invalid.
</DL>
</P><P>
-<A NAME="IDX276"></A>
+<A NAME="IDX277"></A>
<DL>
<DT><U>Function:</U> int <B>rl_set_key</B> <I>(const char *keyseq, rl_command_func_t *function, Keymap map)</I>
<DD>Equivalent to <CODE>rl_bind_keyseq_in_map</CODE>.
</DL>
</P><P>
-<A NAME="IDX277"></A>
+<A NAME="IDX278"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_keyseq_if_unbound</B> <I>(const char *keyseq, rl_command_func_t *function)</I>
<DD>Binds <VAR>keyseq</VAR> to <VAR>function</VAR> if it is not already bound in the
@@ -3481,7 +3501,7 @@ already bound.
</DL>
</P><P>
-<A NAME="IDX278"></A>
+<A NAME="IDX279"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_keyseq_if_unbound_in_map</B> <I>(const char *keyseq, rl_command_func_t *function, Keymap map)</I>
<DD>Binds <VAR>keyseq</VAR> to <VAR>function</VAR> if it is not already bound in <VAR>map</VAR>.
@@ -3490,7 +3510,7 @@ already bound.
</DL>
</P><P>
-<A NAME="IDX279"></A>
+<A NAME="IDX280"></A>
<DL>
<DT><U>Function:</U> int <B>rl_generic_bind</B> <I>(int type, const char *keyseq, char *data, Keymap map)</I>
<DD>Bind the key sequence represented by the string <VAR>keyseq</VAR> to the arbitrary
@@ -3501,7 +3521,7 @@ necessary. The initial keymap in which to do bindings is <VAR>map</VAR>.
</DL>
</P><P>
-<A NAME="IDX280"></A>
+<A NAME="IDX281"></A>
<DL>
<DT><U>Function:</U> int <B>rl_parse_and_bind</B> <I>(char *line)</I>
<DD>Parse <VAR>line</VAR> as if it had been read from the <CODE>inputrc</CODE> file and
@@ -3510,7 +3530,7 @@ perform any key bindings and variable assignments found
</DL>
</P><P>
-<A NAME="IDX281"></A>
+<A NAME="IDX282"></A>
<DL>
<DT><U>Function:</U> int <B>rl_read_init_file</B> <I>(const char *filename)</I>
<DD>Read keybindings and variable assignments from <VAR>filename</VAR>
@@ -3541,33 +3561,37 @@ and the functions invoked by a particular key sequence. You may also
associate a new function name with an arbitrary function.
</P><P>
-<A NAME="IDX282"></A>
+<A NAME="IDX283"></A>
<DL>
<DT><U>Function:</U> rl_command_func_t * <B>rl_named_function</B> <I>(const char *name)</I>
<DD>Return the function with name <VAR>name</VAR>.
</DL>
</P><P>
-<A NAME="IDX283"></A>
+<A NAME="IDX284"></A>
<DL>
<DT><U>Function:</U> rl_command_func_t * <B>rl_function_of_keyseq</B> <I>(const char *keyseq, Keymap map, int *type)</I>
<DD>Return the function invoked by <VAR>keyseq</VAR> in keymap <VAR>map</VAR>.
If <VAR>map</VAR> is <CODE>NULL</CODE>, the current keymap is used. If <VAR>type</VAR> is
not <CODE>NULL</CODE>, the type of the object is returned in the <CODE>int</CODE> variable
it points to (one of <CODE>ISFUNC</CODE>, <CODE>ISKMAP</CODE>, or <CODE>ISMACR</CODE>).
+It takes a "translated" key sequence and should not be used if the key sequence
+can include NUL.
</DL>
</P><P>
-<A NAME="IDX284"></A>
+<A NAME="IDX285"></A>
<DL>
-<DT><U>Function:</U> rl_command_func_t * <B>rl_function_of_keyseq_len</B> <I>(const char *keyseq, size_t len Keymap map, int *type)</I>
+<DT><U>Function:</U> rl_command_func_t * <B>rl_function_of_keyseq_len</B> <I>(const char *keyseq, size_t len, Keymap map, int *type)</I>
<DD>Return the function invoked by <VAR>keyseq</VAR> of length <VAR>len</VAR>
in keymap <VAR>map</VAR>. Equivalent to <CODE>rl_function_of_keyseq</CODE> with the
addition of the <VAR>len</VAR> parameter.
+It takes a "translated" key sequence and should be used if the key sequence
+can include NUL.
</DL>
</P><P>
-<A NAME="IDX285"></A>
+<A NAME="IDX286"></A>
<DL>
<DT><U>Function:</U> char ** <B>rl_invoking_keyseqs</B> <I>(rl_command_func_t *function)</I>
<DD>Return an array of strings representing the key sequences used to
@@ -3575,7 +3599,7 @@ invoke <VAR>function</VAR> in the current keymap.
</DL>
</P><P>
-<A NAME="IDX286"></A>
+<A NAME="IDX287"></A>
<DL>
<DT><U>Function:</U> char ** <B>rl_invoking_keyseqs_in_map</B> <I>(rl_command_func_t *function, Keymap map)</I>
<DD>Return an array of strings representing the key sequences used to
@@ -3583,7 +3607,7 @@ invoke <VAR>function</VAR> in the keymap <VAR>map</VAR>.
</DL>
</P><P>
-<A NAME="IDX287"></A>
+<A NAME="IDX288"></A>
<DL>
<DT><U>Function:</U> void <B>rl_function_dumper</B> <I>(int readable)</I>
<DD>Print the readline function names and the key sequences currently
@@ -3593,14 +3617,14 @@ the list is formatted in such a way that it can be made part of an
</DL>
</P><P>
-<A NAME="IDX288"></A>
+<A NAME="IDX289"></A>
<DL>
<DT><U>Function:</U> void <B>rl_list_funmap_names</B> <I>(void)</I>
<DD>Print the names of all bindable Readline functions to <CODE>rl_outstream</CODE>.
</DL>
</P><P>
-<A NAME="IDX289"></A>
+<A NAME="IDX290"></A>
<DL>
<DT><U>Function:</U> const char ** <B>rl_funmap_names</B> <I>(void)</I>
<DD>Return a NULL terminated array of known function names. The array is
@@ -3610,7 +3634,7 @@ should free the array, but not the pointers, using <CODE>free</CODE> or
</DL>
</P><P>
-<A NAME="IDX290"></A>
+<A NAME="IDX291"></A>
<DL>
<DT><U>Function:</U> int <B>rl_add_funmap_entry</B> <I>(const char *name, rl_command_func_t *function)</I>
<DD>Add <VAR>name</VAR> to the list of bindable Readline command names, and make
@@ -3665,7 +3689,7 @@ tells what to undo, not how to undo it. <CODE>UNDO_BEGIN</CODE> and
<CODE>rl_end_undo_group()</CODE>.
</P><P>
-<A NAME="IDX291"></A>
+<A NAME="IDX292"></A>
<DL>
<DT><U>Function:</U> int <B>rl_begin_undo_group</B> <I>(void)</I>
<DD>Begins saving undo information in a group construct. The undo
@@ -3675,7 +3699,7 @@ information usually comes from calls to <CODE>rl_insert_text()</CODE> and
</DL>
</P><P>
-<A NAME="IDX292"></A>
+<A NAME="IDX293"></A>
<DL>
<DT><U>Function:</U> int <B>rl_end_undo_group</B> <I>(void)</I>
<DD>Closes the current undo group started with <CODE>rl_begin_undo_group
@@ -3684,7 +3708,7 @@ for each call to <CODE>rl_begin_undo_group()</CODE>.
</DL>
</P><P>
-<A NAME="IDX293"></A>
+<A NAME="IDX294"></A>
<DL>
<DT><U>Function:</U> void <B>rl_add_undo</B> <I>(enum undo_code what, int start, int end, char *text)</I>
<DD>Remember how to undo an event (according to <VAR>what</VAR>). The affected
@@ -3692,14 +3716,14 @@ text runs from <VAR>start</VAR> to <VAR>end</VAR>, and encompasses <VAR>text</VA
</DL>
</P><P>
-<A NAME="IDX294"></A>
+<A NAME="IDX295"></A>
<DL>
<DT><U>Function:</U> void <B>rl_free_undo_list</B> <I>(void)</I>
<DD>Free the existing undo list.
</DL>
</P><P>
-<A NAME="IDX295"></A>
+<A NAME="IDX296"></A>
<DL>
<DT><U>Function:</U> int <B>rl_do_undo</B> <I>(void)</I>
<DD>Undo the first thing on the undo list. Returns <CODE>0</CODE> if there was
@@ -3713,7 +3737,7 @@ once, just before you modify the text. You must supply the indices of
the text range that you are going to modify.
</P><P>
-<A NAME="IDX296"></A>
+<A NAME="IDX297"></A>
<DL>
<DT><U>Function:</U> int <B>rl_modifying</B> <I>(int start, int end)</I>
<DD>Tell Readline to save the text between <VAR>start</VAR> and <VAR>end</VAR> as a
@@ -3740,7 +3764,7 @@ that text.
<!--docid::SEC35::-->
<P>
-<A NAME="IDX297"></A>
+<A NAME="IDX298"></A>
<DL>
<DT><U>Function:</U> void <B>rl_redisplay</B> <I>(void)</I>
<DD>Change what's displayed on the screen to reflect the current contents
@@ -3748,7 +3772,7 @@ of <CODE>rl_line_buffer</CODE>.
</DL>
</P><P>
-<A NAME="IDX298"></A>
+<A NAME="IDX299"></A>
<DL>
<DT><U>Function:</U> int <B>rl_forced_update_display</B> <I>(void)</I>
<DD>Force the line to be updated and redisplayed, whether or not
@@ -3756,7 +3780,7 @@ Readline thinks the screen display is correct.
</DL>
</P><P>
-<A NAME="IDX299"></A>
+<A NAME="IDX300"></A>
<DL>
<DT><U>Function:</U> int <B>rl_on_new_line</B> <I>(void)</I>
<DD>Tell the update functions that we have moved onto a new (empty) line,
@@ -3764,7 +3788,7 @@ usually after outputting a newline.
</DL>
</P><P>
-<A NAME="IDX300"></A>
+<A NAME="IDX301"></A>
<DL>
<DT><U>Function:</U> int <B>rl_on_new_line_with_prompt</B> <I>(void)</I>
<DD>Tell the update functions that we have moved onto a new line, with
@@ -3776,14 +3800,14 @@ It should be used after setting <VAR>rl_already_prompted</VAR>.
</DL>
</P><P>
-<A NAME="IDX301"></A>
+<A NAME="IDX302"></A>
<DL>
<DT><U>Function:</U> int <B>rl_clear_visible_line</B> <I>(void)</I>
<DD>Clear the screen lines corresponding to the current line's contents.
</DL>
</P><P>
-<A NAME="IDX302"></A>
+<A NAME="IDX303"></A>
<DL>
<DT><U>Function:</U> int <B>rl_reset_line_state</B> <I>(void)</I>
<DD>Reset the display state to a clean state and redisplay the current line
@@ -3791,14 +3815,14 @@ starting on a new line.
</DL>
</P><P>
-<A NAME="IDX303"></A>
+<A NAME="IDX304"></A>
<DL>
<DT><U>Function:</U> int <B>rl_crlf</B> <I>(void)</I>
<DD>Move the cursor to the start of the next screen line.
</DL>
</P><P>
-<A NAME="IDX304"></A>
+<A NAME="IDX305"></A>
<DL>
<DT><U>Function:</U> int <B>rl_show_char</B> <I>(int c)</I>
<DD>Display character <VAR>c</VAR> on <CODE>rl_outstream</CODE>.
@@ -3809,7 +3833,7 @@ redisplay.
</DL>
</P><P>
-<A NAME="IDX305"></A>
+<A NAME="IDX306"></A>
<DL>
<DT><U>Function:</U> int <B>rl_message</B> <I>(const char *, <small>...</small>)</I>
<DD>The arguments are a format string as would be supplied to <CODE>printf</CODE>,
@@ -3822,7 +3846,7 @@ before calling this function.
</DL>
</P><P>
-<A NAME="IDX306"></A>
+<A NAME="IDX307"></A>
<DL>
<DT><U>Function:</U> int <B>rl_clear_message</B> <I>(void)</I>
<DD>Clear the message in the echo area. If the prompt was saved with a call to
@@ -3831,7 +3855,7 @@ call <CODE>rl_restore_prompt</CODE> before calling this function.
</DL>
</P><P>
-<A NAME="IDX307"></A>
+<A NAME="IDX308"></A>
<DL>
<DT><U>Function:</U> void <B>rl_save_prompt</B> <I>(void)</I>
<DD>Save the local Readline prompt display state in preparation for
@@ -3839,7 +3863,7 @@ displaying a new message in the message area with <CODE>rl_message()</CODE>.
</DL>
</P><P>
-<A NAME="IDX308"></A>
+<A NAME="IDX309"></A>
<DL>
<DT><U>Function:</U> void <B>rl_restore_prompt</B> <I>(void)</I>
<DD>Restore the local Readline prompt display state saved by the most
@@ -3850,7 +3874,7 @@ corresponding call to <CODE>rl_clear_message</CODE>.
</DL>
</P><P>
-<A NAME="IDX309"></A>
+<A NAME="IDX310"></A>
<DL>
<DT><U>Function:</U> int <B>rl_expand_prompt</B> <I>(char *prompt)</I>
<DD>Expand any special character sequences in <VAR>prompt</VAR> and set up the
@@ -3868,7 +3892,7 @@ be used to embed terminal-specific escape sequences in prompts.
</DL>
</P><P>
-<A NAME="IDX310"></A>
+<A NAME="IDX311"></A>
<DL>
<DT><U>Function:</U> int <B>rl_set_prompt</B> <I>(const char *prompt)</I>
<DD>Make Readline use <VAR>prompt</VAR> for subsequent redisplay. This calls
@@ -3895,7 +3919,7 @@ to the result.
<!--docid::SEC36::-->
<P>
-<A NAME="IDX311"></A>
+<A NAME="IDX312"></A>
<DL>
<DT><U>Function:</U> int <B>rl_insert_text</B> <I>(const char *text)</I>
<DD>Insert <VAR>text</VAR> into the line at the current cursor position.
@@ -3903,7 +3927,7 @@ Returns the number of characters inserted.
</DL>
</P><P>
-<A NAME="IDX312"></A>
+<A NAME="IDX313"></A>
<DL>
<DT><U>Function:</U> int <B>rl_delete_text</B> <I>(int start, int end)</I>
<DD>Delete the text between <VAR>start</VAR> and <VAR>end</VAR> in the current line.
@@ -3911,7 +3935,7 @@ Returns the number of characters deleted.
</DL>
</P><P>
-<A NAME="IDX313"></A>
+<A NAME="IDX314"></A>
<DL>
<DT><U>Function:</U> char * <B>rl_copy_text</B> <I>(int start, int end)</I>
<DD>Return a copy of the text between <VAR>start</VAR> and <VAR>end</VAR> in
@@ -3919,7 +3943,7 @@ the current line.
</DL>
</P><P>
-<A NAME="IDX314"></A>
+<A NAME="IDX315"></A>
<DL>
<DT><U>Function:</U> int <B>rl_kill_text</B> <I>(int start, int end)</I>
<DD>Copy the text between <VAR>start</VAR> and <VAR>end</VAR> in the current line
@@ -3931,7 +3955,7 @@ not a kill, a new kill ring slot is used.
</DL>
</P><P>
-<A NAME="IDX315"></A>
+<A NAME="IDX316"></A>
<DL>
<DT><U>Function:</U> int <B>rl_push_macro_input</B> <I>(char *macro)</I>
<DD>Cause <VAR>macro</VAR> to be inserted into the line, as if it had been invoked
@@ -3958,7 +3982,7 @@ by a key bound to a macro. Not especially useful; use
<!--docid::SEC37::-->
<P>
-<A NAME="IDX316"></A>
+<A NAME="IDX317"></A>
<DL>
<DT><U>Function:</U> int <B>rl_read_key</B> <I>(void)</I>
<DD>Return the next character available from Readline's current input stream.
@@ -3970,7 +3994,7 @@ the <CODE>rl_event_hook</CODE> variable.
</DL>
</P><P>
-<A NAME="IDX317"></A>
+<A NAME="IDX318"></A>
<DL>
<DT><U>Function:</U> int <B>rl_getc</B> <I>(FILE *stream)</I>
<DD>Return the next character available from <VAR>stream</VAR>, which is assumed to
@@ -3978,7 +4002,7 @@ be the keyboard.
</DL>
</P><P>
-<A NAME="IDX318"></A>
+<A NAME="IDX319"></A>
<DL>
<DT><U>Function:</U> int <B>rl_stuff_char</B> <I>(int c)</I>
<DD>Insert <VAR>c</VAR> into the Readline input stream. It will be "read"
@@ -3989,7 +4013,7 @@ before Readline attempts to read characters from the terminal with
</DL>
</P><P>
-<A NAME="IDX319"></A>
+<A NAME="IDX320"></A>
<DL>
<DT><U>Function:</U> int <B>rl_execute_next</B> <I>(int c)</I>
<DD>Make <VAR>c</VAR> be the next command to be executed when <CODE>rl_read_key()</CODE>
@@ -3997,7 +4021,7 @@ is called. This sets <VAR>rl_pending_input</VAR>.
</DL>
</P><P>
-<A NAME="IDX320"></A>
+<A NAME="IDX321"></A>
<DL>
<DT><U>Function:</U> int <B>rl_clear_pending_input</B> <I>(void)</I>
<DD>Unset <VAR>rl_pending_input</VAR>, effectively negating the effect of any
@@ -4006,7 +4030,7 @@ pending input has not already been read with <CODE>rl_read_key()</CODE>.
</DL>
</P><P>
-<A NAME="IDX321"></A>
+<A NAME="IDX322"></A>
<DL>
<DT><U>Function:</U> int <B>rl_set_keyboard_input_timeout</B> <I>(int u)</I>
<DD>While waiting for keyboard input in <CODE>rl_read_key()</CODE>, Readline will
@@ -4036,7 +4060,7 @@ Returns the old timeout value.
<!--docid::SEC38::-->
<P>
-<A NAME="IDX322"></A>
+<A NAME="IDX323"></A>
<DL>
<DT><U>Function:</U> void <B>rl_prep_terminal</B> <I>(int meta_flag)</I>
<DD>Modify the terminal settings for Readline's use, so <CODE>readline()</CODE>
@@ -4046,7 +4070,7 @@ read eight-bit input.
</DL>
</P><P>
-<A NAME="IDX323"></A>
+<A NAME="IDX324"></A>
<DL>
<DT><U>Function:</U> void <B>rl_deprep_terminal</B> <I>(void)</I>
<DD>Undo the effects of <CODE>rl_prep_terminal()</CODE>, leaving the terminal in
@@ -4055,7 +4079,7 @@ the state in which it was before the most recent call to
</DL>
</P><P>
-<A NAME="IDX324"></A>
+<A NAME="IDX325"></A>
<DL>
<DT><U>Function:</U> void <B>rl_tty_set_default_bindings</B> <I>(Keymap kmap)</I>
<DD>Read the operating system's terminal editing characters (as would be
@@ -4064,7 +4088,7 @@ The bindings are performed in <VAR>kmap</VAR>.
</DL>
</P><P>
-<A NAME="IDX325"></A>
+<A NAME="IDX326"></A>
<DL>
<DT><U>Function:</U> void <B>rl_tty_unset_default_bindings</B> <I>(Keymap kmap)</I>
<DD>Reset the bindings manipulated by <CODE>rl_tty_set_default_bindings</CODE> so
@@ -4073,7 +4097,7 @@ The bindings are performed in <VAR>kmap</VAR>.
</DL>
</P><P>
-<A NAME="IDX326"></A>
+<A NAME="IDX327"></A>
<DL>
<DT><U>Function:</U> int <B>rl_tty_set_echoing</B> <I>(int value)</I>
<DD>Set Readline's idea of whether or not it is echoing output to its output
@@ -4084,7 +4108,7 @@ This function returns the previous value.
</DL>
</P><P>
-<A NAME="IDX327"></A>
+<A NAME="IDX328"></A>
<DL>
<DT><U>Function:</U> int <B>rl_reset_terminal</B> <I>(const char *terminal_name)</I>
<DD>Reinitialize Readline's idea of the terminal settings using
@@ -4112,7 +4136,7 @@ environment variable is used.
<!--docid::SEC39::-->
<P>
-<A NAME="IDX328"></A>
+<A NAME="IDX329"></A>
<DL>
<DT><U>Function:</U> int <B>rl_save_state</B> <I>(struct readline_state *sp)</I>
<DD>Save a snapshot of Readline's internal state to <VAR>sp</VAR>.
@@ -4122,7 +4146,7 @@ The caller is responsible for allocating the structure.
</DL>
</P><P>
-<A NAME="IDX329"></A>
+<A NAME="IDX330"></A>
<DL>
<DT><U>Function:</U> int <B>rl_restore_state</B> <I>(struct readline_state *sp)</I>
<DD>Restore Readline's internal state to that stored in <VAR>sp</VAR>, which must
@@ -4133,7 +4157,7 @@ The caller is responsible for freeing the structure.
</DL>
</P><P>
-<A NAME="IDX330"></A>
+<A NAME="IDX331"></A>
<DL>
<DT><U>Function:</U> void <B>rl_free</B> <I>(void *mem)</I>
<DD>Deallocate the memory pointed to by <VAR>mem</VAR>. <VAR>mem</VAR> must have been
@@ -4141,7 +4165,7 @@ allocated by <CODE>malloc</CODE>.
</DL>
</P><P>
-<A NAME="IDX331"></A>
+<A NAME="IDX332"></A>
<DL>
<DT><U>Function:</U> void <B>rl_replace_line</B> <I>(const char *text, int clear_undo)</I>
<DD>Replace the contents of <CODE>rl_line_buffer</CODE> with <VAR>text</VAR>.
@@ -4151,7 +4175,7 @@ current line is cleared.
</DL>
</P><P>
-<A NAME="IDX332"></A>
+<A NAME="IDX333"></A>
<DL>
<DT><U>Function:</U> void <B>rl_extend_line_buffer</B> <I>(int len)</I>
<DD>Ensure that <CODE>rl_line_buffer</CODE> has enough space to hold <VAR>len</VAR>
@@ -4159,7 +4183,7 @@ characters, possibly reallocating it if necessary.
</DL>
</P><P>
-<A NAME="IDX333"></A>
+<A NAME="IDX334"></A>
<DL>
<DT><U>Function:</U> int <B>rl_initialize</B> <I>(void)</I>
<DD>Initialize or re-initialize Readline's internal state.
@@ -4168,21 +4192,21 @@ reading any input.
</DL>
</P><P>
-<A NAME="IDX334"></A>
+<A NAME="IDX335"></A>
<DL>
<DT><U>Function:</U> int <B>rl_ding</B> <I>(void)</I>
<DD>Ring the terminal bell, obeying the setting of <CODE>bell-style</CODE>.
</DL>
</P><P>
-<A NAME="IDX335"></A>
+<A NAME="IDX336"></A>
<DL>
<DT><U>Function:</U> int <B>rl_alphabetic</B> <I>(int c)</I>
<DD>Return 1 if <VAR>c</VAR> is an alphabetic character.
</DL>
</P><P>
-<A NAME="IDX336"></A>
+<A NAME="IDX337"></A>
<DL>
<DT><U>Function:</U> void <B>rl_display_match_list</B> <I>(char **matches, int len, int max)</I>
<DD>A convenience function for displaying a list of strings in
@@ -4202,28 +4226,28 @@ The following are implemented as macros, defined in <CODE>chardefs.h</CODE>.
Applications should refrain from using them.
</P><P>
-<A NAME="IDX337"></A>
+<A NAME="IDX338"></A>
<DL>
<DT><U>Function:</U> int <B>_rl_uppercase_p</B> <I>(int c)</I>
<DD>Return 1 if <VAR>c</VAR> is an uppercase alphabetic character.
</DL>
</P><P>
-<A NAME="IDX338"></A>
+<A NAME="IDX339"></A>
<DL>
<DT><U>Function:</U> int <B>_rl_lowercase_p</B> <I>(int c)</I>
<DD>Return 1 if <VAR>c</VAR> is a lowercase alphabetic character.
</DL>
</P><P>
-<A NAME="IDX339"></A>
+<A NAME="IDX340"></A>
<DL>
<DT><U>Function:</U> int <B>_rl_digit_p</B> <I>(int c)</I>
<DD>Return 1 if <VAR>c</VAR> is a numeric character.
</DL>
</P><P>
-<A NAME="IDX340"></A>
+<A NAME="IDX341"></A>
<DL>
<DT><U>Function:</U> int <B>_rl_to_upper</B> <I>(int c)</I>
<DD>If <VAR>c</VAR> is a lowercase alphabetic character, return the corresponding
@@ -4231,7 +4255,7 @@ uppercase character.
</DL>
</P><P>
-<A NAME="IDX341"></A>
+<A NAME="IDX342"></A>
<DL>
<DT><U>Function:</U> int <B>_rl_to_lower</B> <I>(int c)</I>
<DD>If <VAR>c</VAR> is an uppercase alphabetic character, return the corresponding
@@ -4239,7 +4263,7 @@ lowercase character.
</DL>
</P><P>
-<A NAME="IDX342"></A>
+<A NAME="IDX343"></A>
<DL>
<DT><U>Function:</U> int <B>_rl_digit_value</B> <I>(int c)</I>
<DD>If <VAR>c</VAR> is a number, return the value it represents.
@@ -4264,7 +4288,7 @@ lowercase character.
<!--docid::SEC40::-->
<P>
-<A NAME="IDX343"></A>
+<A NAME="IDX344"></A>
<DL>
<DT><U>Function:</U> int <B>rl_macro_bind</B> <I>(const char *keyseq, const char *macro, Keymap map)</I>
<DD>Bind the key sequence <VAR>keyseq</VAR> to invoke the macro <VAR>macro</VAR>.
@@ -4274,7 +4298,7 @@ use <CODE>rl_generic_bind()</CODE> instead.
</DL>
</P><P>
-<A NAME="IDX344"></A>
+<A NAME="IDX345"></A>
<DL>
<DT><U>Function:</U> void <B>rl_macro_dumper</B> <I>(int readable)</I>
<DD>Print the key sequences bound to macros and their values, using
@@ -4284,7 +4308,7 @@ that it can be made part of an <CODE>inputrc</CODE> file and re-read.
</DL>
</P><P>
-<A NAME="IDX345"></A>
+<A NAME="IDX346"></A>
<DL>
<DT><U>Function:</U> int <B>rl_variable_bind</B> <I>(const char *variable, const char *value)</I>
<DD>Make the Readline variable <VAR>variable</VAR> have <VAR>value</VAR>.
@@ -4294,7 +4318,7 @@ file (see section <A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax<
</DL>
</P><P>
-<A NAME="IDX346"></A>
+<A NAME="IDX347"></A>
<DL>
<DT><U>Function:</U> char * <B>rl_variable_value</B> <I>(const char *variable)</I>
<DD>Return a string representing the value of the Readline variable <VAR>variable</VAR>.
@@ -4302,7 +4326,7 @@ For boolean variables, this string is either <SAMP>`on'</SAMP> or <SAMP>`off'</S
</DL>
</P><P>
-<A NAME="IDX347"></A>
+<A NAME="IDX348"></A>
<DL>
<DT><U>Function:</U> void <B>rl_variable_dumper</B> <I>(int readable)</I>
<DD>Print the readline variable names and their current values
@@ -4312,7 +4336,7 @@ that it can be made part of an <CODE>inputrc</CODE> file and re-read.
</DL>
</P><P>
-<A NAME="IDX348"></A>
+<A NAME="IDX349"></A>
<DL>
<DT><U>Function:</U> int <B>rl_set_paren_blink_timeout</B> <I>(int u)</I>
<DD>Set the time interval (in microseconds) that Readline waits when showing
@@ -4320,7 +4344,7 @@ a balancing character when <CODE>blink-matching-paren</CODE> has been enabled.
</DL>
</P><P>
-<A NAME="IDX349"></A>
+<A NAME="IDX350"></A>
<DL>
<DT><U>Function:</U> char * <B>rl_get_termcap</B> <I>(const char *cap)</I>
<DD>Retrieve the string value of the termcap capability <VAR>cap</VAR>.
@@ -4332,7 +4356,7 @@ values for only those capabilities Readline uses.
</DL>
</P><P>
-<A NAME="IDX350"></A>
+<A NAME="IDX351"></A>
<DL>
<DT><U>Function:</U> void <B>rl_clear_history</B> <I>(void)</I>
<DD>Clear the history list by deleting all of the entries, in the same manner
@@ -4368,7 +4392,7 @@ also be invoked as a `callback' function from an event loop. There
are functions available to make this easy.
</P><P>
-<A NAME="IDX351"></A>
+<A NAME="IDX352"></A>
<DL>
<DT><U>Function:</U> void <B>rl_callback_handler_install</B> <I>(const char *prompt, rl_vcpfunc_t *lhandler)</I>
<DD>Set up the terminal for readline I/O and display the initial
@@ -4381,7 +4405,7 @@ line when it it finished with it.
</DL>
</P><P>
-<A NAME="IDX352"></A>
+<A NAME="IDX353"></A>
<DL>
<DT><U>Function:</U> void <B>rl_callback_read_char</B> <I>(void)</I>
<DD>Whenever an application determines that keyboard input is available, it
@@ -4401,7 +4425,7 @@ the terminal settings are modified for Readline's use again.
</DL>
</P><P>
-<A NAME="IDX353"></A>
+<A NAME="IDX354"></A>
<DL>
<DT><U>Function:</U> void <B>rl_callback_sigcleanup</B> <I>(void)</I>
<DD>Clean up any internal state the callback interface uses to maintain state
@@ -4412,7 +4436,7 @@ calls this when appropriate.
</DL>
</P><P>
-<A NAME="IDX354"></A>
+<A NAME="IDX355"></A>
<DL>
<DT><U>Function:</U> void <B>rl_callback_handler_remove</B> <I>(void)</I>
<DD>Restore the terminal to its initial state and remove the line handler.
@@ -4731,7 +4755,7 @@ values of these variables only when calling <CODE>readline()</CODE>, not in
a signal handler, so Readline's internal signal state is not corrupted.
</P><P>
-<A NAME="IDX355"></A>
+<A NAME="IDX356"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_catch_signals</B>
<DD>If this variable is non-zero, Readline will install signal handlers for
@@ -4743,7 +4767,7 @@ The default value of <CODE>rl_catch_signals</CODE> is 1.
</DL>
</P><P>
-<A NAME="IDX356"></A>
+<A NAME="IDX357"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_catch_sigwinch</B>
<DD>If this variable is set to a non-zero value,
@@ -4754,7 +4778,7 @@ The default value of <CODE>rl_catch_sigwinch</CODE> is 1.
</DL>
</P><P>
-<A NAME="IDX357"></A>
+<A NAME="IDX358"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_persistent_signal_handlers</B>
<DD>If an application using the callback interface wishes Readline's signal
@@ -4767,7 +4791,7 @@ The default value of <CODE>rl_persistent_signal_handlers</CODE> is 0.
</DL>
</P><P>
-<A NAME="IDX358"></A>
+<A NAME="IDX359"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_change_environment</B>
<DD>If this variable is set to a non-zero value,
@@ -4787,7 +4811,7 @@ Readline provides convenience functions to do the necessary terminal
and internal state cleanup upon receipt of a signal.
</P><P>
-<A NAME="IDX359"></A>
+<A NAME="IDX360"></A>
<DL>
<DT><U>Function:</U> int <B>rl_pending_signal</B> <I>(void)</I>
<DD>Return the signal number of the most recent signal Readline received but
@@ -4795,7 +4819,7 @@ has not yet handled, or 0 if there is no pending signal.
</DL>
</P><P>
-<A NAME="IDX360"></A>
+<A NAME="IDX361"></A>
<DL>
<DT><U>Function:</U> void <B>rl_cleanup_after_signal</B> <I>(void)</I>
<DD>This function will reset the state of the terminal to what it was before
@@ -4805,7 +4829,7 @@ all signals, depending on the values of <CODE>rl_catch_signals</CODE> and
</DL>
</P><P>
-<A NAME="IDX361"></A>
+<A NAME="IDX362"></A>
<DL>
<DT><U>Function:</U> void <B>rl_free_line_state</B> <I>(void)</I>
<DD>This will free any partial state associated with the current input line
@@ -4817,7 +4841,7 @@ current input line.
</DL>
</P><P>
-<A NAME="IDX362"></A>
+<A NAME="IDX363"></A>
<DL>
<DT><U>Function:</U> void <B>rl_reset_after_signal</B> <I>(void)</I>
<DD>This will reinitialize the terminal and reinstall any Readline signal
@@ -4834,7 +4858,7 @@ a custom <CODE>rl_getc_function</CODE> (see section <A HREF="readline.html#SEC28
to handle signals received while waiting for input.
</P><P>
-<A NAME="IDX363"></A>
+<A NAME="IDX364"></A>
<DL>
<DT><U>Function:</U> void <B>rl_check_signals</B> <I>(void)</I>
<DD>If there are any pending signals, call Readline's internal signal handling
@@ -4849,7 +4873,7 @@ Readline to update its idea of the terminal size when a <CODE>SIGWINCH</CODE>
is received.
</P><P>
-<A NAME="IDX364"></A>
+<A NAME="IDX365"></A>
<DL>
<DT><U>Function:</U> void <B>rl_echo_signal_char</B> <I>(int sig)</I>
<DD>If an application wishes to install its own signal handlers, but still
@@ -4859,14 +4883,14 @@ function with <VAR>sig</VAR> set to <CODE>SIGINT</CODE>, <CODE>SIGQUIT</CODE>, o
</DL>
</P><P>
-<A NAME="IDX365"></A>
+<A NAME="IDX366"></A>
<DL>
<DT><U>Function:</U> void <B>rl_resize_terminal</B> <I>(void)</I>
<DD>Update Readline's internal screen size by reading values from the kernel.
</DL>
</P><P>
-<A NAME="IDX366"></A>
+<A NAME="IDX367"></A>
<DL>
<DT><U>Function:</U> void <B>rl_set_screen_size</B> <I>(int rows, int cols)</I>
<DD>Set Readline's idea of the terminal size to <VAR>rows</VAR> rows and
@@ -4880,7 +4904,7 @@ is still interested in the screen dimensions, Readline's idea of the screen
size may be queried.
</P><P>
-<A NAME="IDX367"></A>
+<A NAME="IDX368"></A>
<DL>
<DT><U>Function:</U> void <B>rl_get_screen_size</B> <I>(int *rows, int *cols)</I>
<DD>Return Readline's idea of the terminal's size in the
@@ -4888,7 +4912,7 @@ variables pointed to by the arguments.
</DL>
</P><P>
-<A NAME="IDX368"></A>
+<A NAME="IDX369"></A>
<DL>
<DT><U>Function:</U> void <B>rl_reset_screen_size</B> <I>(void)</I>
<DD>Cause Readline to reobtain the screen size and recalculate its dimensions.
@@ -4898,7 +4922,7 @@ variables pointed to by the arguments.
The following functions install and remove Readline's signal handlers.
</P><P>
-<A NAME="IDX369"></A>
+<A NAME="IDX370"></A>
<DL>
<DT><U>Function:</U> int <B>rl_set_signals</B> <I>(void)</I>
<DD>Install Readline's signal handler for <CODE>SIGINT</CODE>, <CODE>SIGQUIT</CODE>,
@@ -4908,7 +4932,7 @@ The following functions install and remove Readline's signal handlers.
</DL>
</P><P>
-<A NAME="IDX370"></A>
+<A NAME="IDX371"></A>
<DL>
<DT><U>Function:</U> int <B>rl_clear_signals</B> <I>(void)</I>
<DD>Remove all of the Readline signal handlers installed by
@@ -5021,7 +5045,7 @@ Such a generator function is referred to as an
</OL>
<P>
-<A NAME="IDX371"></A>
+<A NAME="IDX372"></A>
<DL>
<DT><U>Function:</U> int <B>rl_complete</B> <I>(int ignore, int invoking_key)</I>
<DD>Complete the word at or before point. You have supplied the function
@@ -5030,7 +5054,7 @@ that does the initial simple matching selection algorithm (see
</DL>
</P><P>
-<A NAME="IDX372"></A>
+<A NAME="IDX373"></A>
<DL>
<DT><U>Variable:</U> rl_compentry_func_t * <B>rl_completion_entry_function</B>
<DD>This is a pointer to the generator function for
@@ -5066,7 +5090,7 @@ Here is the complete list of callable completion functions present in
Readline.
</P><P>
-<A NAME="IDX373"></A>
+<A NAME="IDX374"></A>
<DL>
<DT><U>Function:</U> int <B>rl_complete_internal</B> <I>(int what_to_do)</I>
<DD>Complete the word at or before point. <VAR>what_to_do</VAR> says what to do
@@ -5080,7 +5104,7 @@ a common prefix.
</DL>
</P><P>
-<A NAME="IDX374"></A>
+<A NAME="IDX375"></A>
<DL>
<DT><U>Function:</U> int <B>rl_complete</B> <I>(int ignore, int invoking_key)</I>
<DD>Complete the word at or before point. You have supplied the function
@@ -5092,7 +5116,7 @@ argument depending on <VAR>invoking_key</VAR>.
</DL>
</P><P>
-<A NAME="IDX375"></A>
+<A NAME="IDX376"></A>
<DL>
<DT><U>Function:</U> int <B>rl_possible_completions</B> <I>(int count, int invoking_key)</I>
<DD>List the possible completions. See description of <CODE>rl_complete
@@ -5101,7 +5125,7 @@ argument depending on <VAR>invoking_key</VAR>.
</DL>
</P><P>
-<A NAME="IDX376"></A>
+<A NAME="IDX377"></A>
<DL>
<DT><U>Function:</U> int <B>rl_insert_completions</B> <I>(int count, int invoking_key)</I>
<DD>Insert the list of possible completions into the line, deleting the
@@ -5110,7 +5134,7 @@ This calls <CODE>rl_complete_internal()</CODE> with an argument of <SAMP>`*'</SA
</DL>
</P><P>
-<A NAME="IDX377"></A>
+<A NAME="IDX378"></A>
<DL>
<DT><U>Function:</U> int <B>rl_completion_mode</B> <I>(rl_command_func_t *cfunc)</I>
<DD>Returns the appropriate value to pass to <CODE>rl_complete_internal()</CODE>
@@ -5122,7 +5146,7 @@ the same interface as <CODE>rl_complete()</CODE>.
</DL>
</P><P>
-<A NAME="IDX378"></A>
+<A NAME="IDX379"></A>
<DL>
<DT><U>Function:</U> char ** <B>rl_completion_matches</B> <I>(const char *text, rl_compentry_func_t *entry_func)</I>
<DD>Returns an array of strings which is a list of completions for
@@ -5140,7 +5164,7 @@ when there are no more matches.
</DL>
</P><P>
-<A NAME="IDX379"></A>
+<A NAME="IDX380"></A>
<DL>
<DT><U>Function:</U> char * <B>rl_filename_completion_function</B> <I>(const char *text, int state)</I>
<DD>A generator function for filename completion in the general case.
@@ -5151,7 +5175,7 @@ Readline functions).
</DL>
</P><P>
-<A NAME="IDX380"></A>
+<A NAME="IDX381"></A>
<DL>
<DT><U>Function:</U> char * <B>rl_username_completion_function</B> <I>(const char *text, int state)</I>
<DD>A completion generator for usernames. <VAR>text</VAR> contains a partial
@@ -5179,7 +5203,7 @@ for subsequent calls.
<!--docid::SEC48::-->
<P>
-<A NAME="IDX381"></A>
+<A NAME="IDX382"></A>
<DL>
<DT><U>Variable:</U> rl_compentry_func_t * <B>rl_completion_entry_function</B>
<DD>A pointer to the generator function for <CODE>rl_completion_matches()</CODE>.
@@ -5188,7 +5212,7 @@ the default filename completer.
</DL>
</P><P>
-<A NAME="IDX382"></A>
+<A NAME="IDX383"></A>
<DL>
<DT><U>Variable:</U> rl_completion_func_t * <B>rl_attempted_completion_function</B>
<DD>A pointer to an alternative function to create matches.
@@ -5205,7 +5229,7 @@ completion even if this function returns no matches.
</DL>
</P><P>
-<A NAME="IDX383"></A>
+<A NAME="IDX384"></A>
<DL>
<DT><U>Variable:</U> rl_quote_func_t * <B>rl_filename_quoting_function</B>
<DD>A pointer to a function that will quote a filename in an
@@ -5222,7 +5246,7 @@ to reset this character.
</DL>
</P><P>
-<A NAME="IDX384"></A>
+<A NAME="IDX385"></A>
<DL>
<DT><U>Variable:</U> rl_dequote_func_t * <B>rl_filename_dequoting_function</B>
<DD>A pointer to a function that will remove application-specific quoting
@@ -5235,7 +5259,7 @@ that delimits the filename (usually <SAMP>`''</SAMP> or <SAMP>`"'</SAMP>). If
</DL>
</P><P>
-<A NAME="IDX385"></A>
+<A NAME="IDX386"></A>
<DL>
<DT><U>Variable:</U> rl_linebuf_func_t * <B>rl_char_is_quoted_p</B>
<DD>A pointer to a function to call that determines whether or not a specific
@@ -5248,7 +5272,7 @@ used to break words for the completer.
</DL>
</P><P>
-<A NAME="IDX386"></A>
+<A NAME="IDX387"></A>
<DL>
<DT><U>Variable:</U> rl_compignore_func_t * <B>rl_ignore_some_completions_function</B>
<DD>This function, if defined, is called by the completer when real filename
@@ -5261,7 +5285,7 @@ from the array must be freed.
</DL>
</P><P>
-<A NAME="IDX387"></A>
+<A NAME="IDX388"></A>
<DL>
<DT><U>Variable:</U> rl_icppfunc_t * <B>rl_directory_completion_hook</B>
<DD>This function, if defined, is allowed to modify the directory portion
@@ -5284,7 +5308,7 @@ The function should not modify the directory argument if it returns 0.
</DL>
</P><P>
-<A NAME="IDX388"></A>
+<A NAME="IDX389"></A>
<DL>
<DT><U>Variable:</U> rl_icppfunc_t * <B>rl_directory_rewrite_hook;</B>
<DD>If non-zero, this is the address of a function to call when completing
@@ -5304,7 +5328,7 @@ The function should not modify the directory argument if it returns 0.
</DL>
</P><P>
-<A NAME="IDX389"></A>
+<A NAME="IDX390"></A>
<DL>
<DT><U>Variable:</U> rl_icppfunc_t * <B>rl_filename_stat_hook</B>
<DD>If non-zero, this is the address of a function for the completer to
@@ -5320,7 +5344,7 @@ The function should not modify the directory argument if it returns 0.
</DL>
</P><P>
-<A NAME="IDX390"></A>
+<A NAME="IDX391"></A>
<DL>
<DT><U>Variable:</U> rl_dequote_func_t * <B>rl_filename_rewrite_hook</B>
<DD>If non-zero, this is the address of a function called when reading
@@ -5339,7 +5363,7 @@ allocated string.
</DL>
</P><P>
-<A NAME="IDX391"></A>
+<A NAME="IDX392"></A>
<DL>
<DT><U>Variable:</U> rl_compdisp_func_t * <B>rl_completion_display_matches_hook</B>
<DD>If non-zero, then this is the address of a function to call when
@@ -5356,7 +5380,7 @@ You may call that function from this hook.
</DL>
</P><P>
-<A NAME="IDX392"></A>
+<A NAME="IDX393"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_basic_word_break_characters</B>
<DD>The basic list of characters that signal a break between words for the
@@ -5366,14 +5390,14 @@ which break words for completion in Bash:
</DL>
</P><P>
-<A NAME="IDX393"></A>
+<A NAME="IDX394"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_basic_quote_characters</B>
<DD>A list of quote characters which can cause a word break.
</DL>
</P><P>
-<A NAME="IDX394"></A>
+<A NAME="IDX395"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_completer_word_break_characters</B>
<DD>The list of characters that signal a break between words for
@@ -5382,7 +5406,7 @@ which break words for completion in Bash:
</DL>
</P><P>
-<A NAME="IDX395"></A>
+<A NAME="IDX396"></A>
<DL>
<DT><U>Variable:</U> rl_cpvfunc_t * <B>rl_completion_word_break_hook</B>
<DD>If non-zero, this is the address of a function to call when Readline is
@@ -5394,7 +5418,7 @@ returns <CODE>NULL</CODE>, <CODE>rl_completer_word_break_characters</CODE> is us
</DL>
</P><P>
-<A NAME="IDX396"></A>
+<A NAME="IDX397"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_completer_quote_characters</B>
<DD>A list of characters which can be used to quote a substring of the line.
@@ -5404,7 +5428,7 @@ unless they also appear within this list.
</DL>
</P><P>
-<A NAME="IDX397"></A>
+<A NAME="IDX398"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_filename_quote_characters</B>
<DD>A list of characters that cause a filename to be quoted by the completer
@@ -5412,7 +5436,7 @@ when they appear in a completed filename. The default is the null string.
</DL>
</P><P>
-<A NAME="IDX398"></A>
+<A NAME="IDX399"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_special_prefixes</B>
<DD>The list of characters that are word break characters, but should be
@@ -5423,7 +5447,7 @@ shell variables and hostnames.
</DL>
</P><P>
-<A NAME="IDX399"></A>
+<A NAME="IDX400"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_query_items</B>
<DD>Up to this many items will be displayed in response to a
@@ -5433,7 +5457,7 @@ indicates that Readline should never ask the user.
</DL>
</P><P>
-<A NAME="IDX400"></A>
+<A NAME="IDX401"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_append_character</B>
<DD>When a single completion alternative matches at the end of the command
@@ -5446,7 +5470,7 @@ an application-specific command line syntax specification.
</DL>
</P><P>
-<A NAME="IDX401"></A>
+<A NAME="IDX402"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_suppress_append</B>
<DD>If non-zero, <VAR>rl_completion_append_character</VAR> is not appended to
@@ -5456,7 +5480,7 @@ is called, and may only be changed within such a function.
</DL>
</P><P>
-<A NAME="IDX402"></A>
+<A NAME="IDX403"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_quote_character</B>
<DD>When Readline is completing quoted text, as delimited by one of the
@@ -5466,7 +5490,7 @@ This is set before any application-specific completion function is called.
</DL>
</P><P>
-<A NAME="IDX403"></A>
+<A NAME="IDX404"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_suppress_quote</B>
<DD>If non-zero, Readline does not append a matching quote character when
@@ -5476,7 +5500,7 @@ is called, and may only be changed within such a function.
</DL>
</P><P>
-<A NAME="IDX404"></A>
+<A NAME="IDX405"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_found_quote</B>
<DD>When Readline is completing quoted text, it sets this variable
@@ -5486,7 +5510,7 @@ This is set before any application-specific completion function is called.
</DL>
</P><P>
-<A NAME="IDX405"></A>
+<A NAME="IDX406"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_mark_symlink_dirs</B>
<DD>If non-zero, a slash will be appended to completed filenames that are
@@ -5501,7 +5525,7 @@ function modifies the value, the user's preferences are honored.
</DL>
</P><P>
-<A NAME="IDX406"></A>
+<A NAME="IDX407"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_ignore_completion_duplicates</B>
<DD>If non-zero, then duplicates in the matches are removed.
@@ -5509,7 +5533,7 @@ The default is 1.
</DL>
</P><P>
-<A NAME="IDX407"></A>
+<A NAME="IDX408"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_filename_completion_desired</B>
<DD>Non-zero means that the results of the matches are to be treated as
@@ -5523,7 +5547,7 @@ characters in <CODE>rl_filename_quote_characters</CODE> and
</DL>
</P><P>
-<A NAME="IDX408"></A>
+<A NAME="IDX409"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_filename_quoting_desired</B>
<DD>Non-zero means that the results of the matches are to be quoted using
@@ -5537,7 +5561,7 @@ by <CODE>rl_filename_quoting_function</CODE>.
</DL>
</P><P>
-<A NAME="IDX409"></A>
+<A NAME="IDX410"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_attempted_completion_over</B>
<DD>If an application-specific completion function assigned to
@@ -5548,7 +5572,7 @@ It should be set only by an application's completion function.
</DL>
</P><P>
-<A NAME="IDX410"></A>
+<A NAME="IDX411"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_sort_completion_matches</B>
<DD>If an application sets this variable to 0, Readline will not sort the
@@ -5560,7 +5584,7 @@ matches.
</DL>
</P><P>
-<A NAME="IDX411"></A>
+<A NAME="IDX412"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_type</B>
<DD>Set to a character describing the type of completion Readline is currently
@@ -5572,7 +5596,7 @@ the same interface as <CODE>rl_complete()</CODE>.
</DL>
</P><P>
-<A NAME="IDX412"></A>
+<A NAME="IDX413"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_invoking_key</B>
<DD>Set to the final character in the key sequence that invoked one of the
@@ -5582,7 +5606,7 @@ function is called.
</DL>
</P><P>
-<A NAME="IDX413"></A>
+<A NAME="IDX414"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_inhibit_completion</B>
<DD>If this variable is non-zero, completion is inhibited. The completion
@@ -6821,12 +6845,12 @@ to permit their use in free software.
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn__"></A>_</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX339"><CODE>_rl_digit_p</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX342"><CODE>_rl_digit_value</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX338"><CODE>_rl_lowercase_p</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX341"><CODE>_rl_to_lower</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX340"><CODE>_rl_to_upper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX337"><CODE>_rl_uppercase_p</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX340"><CODE>_rl_digit_p</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX343"><CODE>_rl_digit_value</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX339"><CODE>_rl_lowercase_p</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX342"><CODE>_rl_to_lower</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX341"><CODE>_rl_to_upper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX338"><CODE>_rl_uppercase_p</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_A"></A>A</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX179"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
@@ -7022,198 +7046,199 @@ to permit their use in free software.
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX187"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX188"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX255"><CODE>rl_add_defun</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC30">2.4.1 Naming a Function</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX290"><CODE>rl_add_funmap_entry</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX293"><CODE>rl_add_undo</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX335"><CODE>rl_alphabetic</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX291"><CODE>rl_add_funmap_entry</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX294"><CODE>rl_add_undo</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX336"><CODE>rl_alphabetic</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX226">rl_already_prompted</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX382">rl_attempted_completion_function</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX409">rl_attempted_completion_over</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX393">rl_basic_quote_characters</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX392">rl_basic_word_break_characters</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX291"><CODE>rl_begin_undo_group</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX266"><CODE>rl_bind_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX268"><CODE>rl_bind_key_if_unbound</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX269"><CODE>rl_bind_key_if_unbound_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX267"><CODE>rl_bind_key_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX274"><CODE>rl_bind_keyseq</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX277"><CODE>rl_bind_keyseq_if_unbound</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX278"><CODE>rl_bind_keyseq_if_unbound_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX275"><CODE>rl_bind_keyseq_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX383">rl_attempted_completion_function</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX410">rl_attempted_completion_over</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX394">rl_basic_quote_characters</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX393">rl_basic_word_break_characters</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX292"><CODE>rl_begin_undo_group</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX267"><CODE>rl_bind_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX269"><CODE>rl_bind_key_if_unbound</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX270"><CODE>rl_bind_key_if_unbound_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX268"><CODE>rl_bind_key_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX275"><CODE>rl_bind_keyseq</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX278"><CODE>rl_bind_keyseq_if_unbound</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX279"><CODE>rl_bind_keyseq_if_unbound_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX276"><CODE>rl_bind_keyseq_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX246">rl_binding_keymap</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX351"><CODE>rl_callback_handler_install</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC41">2.4.12 Alternate Interface</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX354"><CODE>rl_callback_handler_remove</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC41">2.4.12 Alternate Interface</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX352"><CODE>rl_callback_read_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC41">2.4.12 Alternate Interface</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX353"><CODE>rl_callback_sigcleanup</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC41">2.4.12 Alternate Interface</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX355">rl_catch_signals</A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX356">rl_catch_sigwinch</A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX358">rl_change_environment</A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX385">rl_char_is_quoted_p</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX363"><CODE>rl_check_signals</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX360"><CODE>rl_cleanup_after_signal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX350"><CODE>rl_clear_history</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX306"><CODE>rl_clear_message</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX320"><CODE>rl_clear_pending_input</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX370"><CODE>rl_clear_signals</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX301"><CODE>rl_clear_visible_line</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX371"><CODE>rl_complete</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.1 How Completing Works</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX374"><CODE>rl_complete</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX373"><CODE>rl_complete_internal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX396">rl_completer_quote_characters</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX394">rl_completer_word_break_characters</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX400">rl_completion_append_character</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX391">rl_completion_display_matches_hook</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX372">rl_completion_entry_function</A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.1 How Completing Works</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX381">rl_completion_entry_function</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX404">rl_completion_found_quote</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX412">rl_completion_invoking_key</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX405">rl_completion_mark_symlink_dirs</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX378"><CODE>rl_completion_matches</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX377"><CODE>rl_completion_mode</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX399">rl_completion_query_items</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX402">rl_completion_quote_character</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX401">rl_completion_suppress_append</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX403">rl_completion_suppress_quote</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX411">rl_completion_type</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX395">rl_completion_word_break_hook</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX352"><CODE>rl_callback_handler_install</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC41">2.4.12 Alternate Interface</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX355"><CODE>rl_callback_handler_remove</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC41">2.4.12 Alternate Interface</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX353"><CODE>rl_callback_read_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC41">2.4.12 Alternate Interface</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX354"><CODE>rl_callback_sigcleanup</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC41">2.4.12 Alternate Interface</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX356">rl_catch_signals</A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX357">rl_catch_sigwinch</A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX359">rl_change_environment</A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX386">rl_char_is_quoted_p</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX364"><CODE>rl_check_signals</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX361"><CODE>rl_cleanup_after_signal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX351"><CODE>rl_clear_history</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX307"><CODE>rl_clear_message</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX321"><CODE>rl_clear_pending_input</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX371"><CODE>rl_clear_signals</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX302"><CODE>rl_clear_visible_line</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX372"><CODE>rl_complete</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.1 How Completing Works</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX375"><CODE>rl_complete</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX374"><CODE>rl_complete_internal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX397">rl_completer_quote_characters</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX395">rl_completer_word_break_characters</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX401">rl_completion_append_character</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX392">rl_completion_display_matches_hook</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX373">rl_completion_entry_function</A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.1 How Completing Works</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX382">rl_completion_entry_function</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX405">rl_completion_found_quote</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX413">rl_completion_invoking_key</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX406">rl_completion_mark_symlink_dirs</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX379"><CODE>rl_completion_matches</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX378"><CODE>rl_completion_mode</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX400">rl_completion_query_items</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX403">rl_completion_quote_character</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX402">rl_completion_suppress_append</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX404">rl_completion_suppress_quote</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX412">rl_completion_type</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX396">rl_completion_word_break_hook</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX257"><CODE>rl_copy_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX313"><CODE>rl_copy_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX303"><CODE>rl_crlf</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX312"><CODE>rl_delete_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX314"><CODE>rl_copy_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX304"><CODE>rl_crlf</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX313"><CODE>rl_delete_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX244">rl_deprep_term_function</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX323"><CODE>rl_deprep_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX334"><CODE>rl_ding</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX387">rl_directory_completion_hook</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX388">rl_directory_rewrite_hook;</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX324"><CODE>rl_deprep_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX335"><CODE>rl_ding</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX388">rl_directory_completion_hook</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX389">rl_directory_rewrite_hook;</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX259"><CODE>rl_discard_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX222">rl_dispatching</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX336"><CODE>rl_display_match_list</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX337"><CODE>rl_display_match_list</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX225">rl_display_prompt</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX295"><CODE>rl_do_undo</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX296"><CODE>rl_do_undo</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX219">rl_done</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX364"><CODE>rl_echo_signal_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX365"><CODE>rl_echo_signal_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX254">rl_editing_mode</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX261"><CODE>rl_empty_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX217">rl_end</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX292"><CODE>rl_end_undo_group</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX293"><CODE>rl_end_undo_group</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX223">rl_erase_empty_line</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX238">rl_event_hook</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX319"><CODE>rl_execute_next</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX320"><CODE>rl_execute_next</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX248">rl_executing_key</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX245">rl_executing_keymap</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX249">rl_executing_keyseq</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX247">rl_executing_macro</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX309"><CODE>rl_expand_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX310"><CODE>rl_expand_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX252">rl_explicit_arg</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX332"><CODE>rl_extend_line_buffer</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX407">rl_filename_completion_desired</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX379"><CODE>rl_filename_completion_function</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX384">rl_filename_dequoting_function</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX397">rl_filename_quote_characters</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX408">rl_filename_quoting_desired</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX383">rl_filename_quoting_function</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX390">rl_filename_rewrite_hook</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX389">rl_filename_stat_hook</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX298"><CODE>rl_forced_update_display</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX330"><CODE>rl_free</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX333"><CODE>rl_extend_line_buffer</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX408">rl_filename_completion_desired</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX380"><CODE>rl_filename_completion_function</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX385">rl_filename_dequoting_function</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX398">rl_filename_quote_characters</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX409">rl_filename_quoting_desired</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX384">rl_filename_quoting_function</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX391">rl_filename_rewrite_hook</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX390">rl_filename_stat_hook</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX299"><CODE>rl_forced_update_display</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX331"><CODE>rl_free</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX260"><CODE>rl_free_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX361"><CODE>rl_free_line_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX294"><CODE>rl_free_undo_list</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX287"><CODE>rl_function_dumper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX283"><CODE>rl_function_of_keyseq</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX284"><CODE>rl_function_of_keyseq_len</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX289"><CODE>rl_funmap_names</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX279"><CODE>rl_generic_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX362"><CODE>rl_free_line_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX295"><CODE>rl_free_undo_list</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX288"><CODE>rl_function_dumper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX284"><CODE>rl_function_of_keyseq</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX285"><CODE>rl_function_of_keyseq_len</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX290"><CODE>rl_funmap_names</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX280"><CODE>rl_generic_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX262"><CODE>rl_get_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX264"><CODE>rl_get_keymap_by_name</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX265"><CODE>rl_get_keymap_name</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX367"><CODE>rl_get_screen_size</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX349"><CODE>rl_get_termcap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX317"><CODE>rl_getc</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX368"><CODE>rl_get_screen_size</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX350"><CODE>rl_get_termcap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX318"><CODE>rl_getc</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX239">rl_getc_function</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX229">rl_gnu_readline_p</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX406">rl_ignore_completion_duplicates</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX386">rl_ignore_some_completions_function</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX413">rl_inhibit_completion</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX333"><CODE>rl_initialize</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX407">rl_ignore_completion_duplicates</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX387">rl_ignore_some_completions_function</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX414">rl_inhibit_completion</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX334"><CODE>rl_initialize</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX241">rl_input_available_hook</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX376"><CODE>rl_insert_completions</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX311"><CODE>rl_insert_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX377"><CODE>rl_insert_completions</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX312"><CODE>rl_insert_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX232">rl_instream</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX285"><CODE>rl_invoking_keyseqs</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX286"><CODE>rl_invoking_keyseqs_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX286"><CODE>rl_invoking_keyseqs</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX287"><CODE>rl_invoking_keyseqs_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX250">rl_key_sequence_length</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX314"><CODE>rl_kill_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX315"><CODE>rl_kill_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX235">rl_last_func</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX227">rl_library_version</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX215">rl_line_buffer</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX288"><CODE>rl_list_funmap_names</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX343"><CODE>rl_macro_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX344"><CODE>rl_macro_dumper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX289"><CODE>rl_list_funmap_names</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX344"><CODE>rl_macro_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX345"><CODE>rl_macro_dumper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX256"><CODE>rl_make_bare_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX258"><CODE>rl_make_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX218">rl_mark</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX305"><CODE>rl_message</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX296"><CODE>rl_modifying</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX282"><CODE>rl_named_function</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX306"><CODE>rl_message</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX297"><CODE>rl_modifying</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX283"><CODE>rl_named_function</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX220">rl_num_chars_to_read</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX253">rl_numeric_arg</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX299"><CODE>rl_on_new_line</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX300"><CODE>rl_on_new_line_with_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX300"><CODE>rl_on_new_line</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX301"><CODE>rl_on_new_line_with_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX233">rl_outstream</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX280"><CODE>rl_parse_and_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX281"><CODE>rl_parse_and_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX221">rl_pending_input</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX359"><CODE>rl_pending_signal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX357">rl_persistent_signal_handlers</A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX360"><CODE>rl_pending_signal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX358">rl_persistent_signal_handlers</A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX216">rl_point</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX375"><CODE>rl_possible_completions</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX376"><CODE>rl_possible_completions</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX237">rl_pre_input_hook</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX234">rl_prefer_env_winsize</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX243">rl_prep_term_function</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX322"><CODE>rl_prep_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX323"><CODE>rl_prep_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX224">rl_prompt</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX315"><CODE>rl_push_macro_input</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX281"><CODE>rl_read_init_file</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX316"><CODE>rl_read_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX316"><CODE>rl_push_macro_input</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX282"><CODE>rl_read_init_file</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX317"><CODE>rl_read_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX231">rl_readline_name</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX251">rl_readline_state</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX228">rl_readline_version</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX297"><CODE>rl_redisplay</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX298"><CODE>rl_redisplay</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX242">rl_redisplay_function</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX331"><CODE>rl_replace_line</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX362"><CODE>rl_reset_after_signal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX302"><CODE>rl_reset_line_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX368"><CODE>rl_reset_screen_size</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX327"><CODE>rl_reset_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX365"><CODE>rl_resize_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX308"><CODE>rl_restore_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX329"><CODE>rl_restore_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX307"><CODE>rl_save_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX328"><CODE>rl_save_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX276"><CODE>rl_set_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX321"><CODE>rl_set_keyboard_input_timeout</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX332"><CODE>rl_replace_line</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX363"><CODE>rl_reset_after_signal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX303"><CODE>rl_reset_line_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX369"><CODE>rl_reset_screen_size</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX328"><CODE>rl_reset_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX366"><CODE>rl_resize_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX309"><CODE>rl_restore_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX330"><CODE>rl_restore_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX308"><CODE>rl_save_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX329"><CODE>rl_save_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX277"><CODE>rl_set_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX322"><CODE>rl_set_keyboard_input_timeout</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX263"><CODE>rl_set_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX348"><CODE>rl_set_paren_blink_timeout</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX310"><CODE>rl_set_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX366"><CODE>rl_set_screen_size</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX369"><CODE>rl_set_signals</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX304"><CODE>rl_show_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX266"><CODE>rl_set_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX349"><CODE>rl_set_paren_blink_timeout</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX311"><CODE>rl_set_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX367"><CODE>rl_set_screen_size</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX370"><CODE>rl_set_signals</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC44">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX305"><CODE>rl_show_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX240">rl_signal_event_hook</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX410">rl_sort_completion_matches</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX398">rl_special_prefixes</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX411">rl_sort_completion_matches</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX399">rl_special_prefixes</A></TD><TD valign=top><A HREF="readline.html#SEC48">2.6.3 Completion Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX236">rl_startup_hook</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX318"><CODE>rl_stuff_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX319"><CODE>rl_stuff_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX230">rl_terminal_name</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX324"><CODE>rl_tty_set_default_bindings</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX326"><CODE>rl_tty_set_echoing</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX325"><CODE>rl_tty_unset_default_bindings</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX273"><CODE>rl_unbind_command_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX272"><CODE>rl_unbind_function_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX270"><CODE>rl_unbind_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX271"><CODE>rl_unbind_key_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX380"><CODE>rl_username_completion_function</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX345"><CODE>rl_variable_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX347"><CODE>rl_variable_dumper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX346"><CODE>rl_variable_value</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX325"><CODE>rl_tty_set_default_bindings</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX327"><CODE>rl_tty_set_echoing</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX326"><CODE>rl_tty_unset_default_bindings</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX274"><CODE>rl_unbind_command_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX273"><CODE>rl_unbind_function_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX271"><CODE>rl_unbind_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX272"><CODE>rl_unbind_key_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX381"><CODE>rl_username_completion_function</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX346"><CODE>rl_variable_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX348"><CODE>rl_variable_dumper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX347"><CODE>rl_variable_value</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_S"></A>S</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX107"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
@@ -7477,7 +7502,7 @@ to permit their use in free software.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="readline.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>May, 21 2018</I>
+This document was generated by <I>chet</I> on <I>November, 16 2018</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
@@ -7639,7 +7664,7 @@ the following structure:
<BR>
<FONT SIZE="-1">
This document was generated
-by <I>Chet Ramey</I> on <I>May, 21 2018</I>
+by <I>chet</I> on <I>November, 16 2018</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
diff --git a/doc/readline.info b/doc/readline.info
index 5cbd709..c276699 100644
--- a/doc/readline.info
+++ b/doc/readline.info
@@ -1,8 +1,9 @@
This is readline.info, produced by makeinfo version 6.5 from rlman.texi.
-This manual describes the GNU Readline Library (version 7.0, 28 December
-2017), a library which aids in the consistency of user interface across
-discrete programs which provide a command line interface.
+This manual describes the GNU Readline Library (version 8.0, 18
+September 2018), a library which aids in the consistency of user
+interface across discrete programs which provide a command line
+interface.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
@@ -414,7 +415,7 @@ Variable Settings
If set to 'on', and COMPLETION-IGNORE-CASE is enabled,
Readline treats hyphens ('-') and underscores ('_') as
equivalent when performing case-insensitive filename matching
- and completion.
+ and completion. The default value is 'off'.
'completion-prefix-display-length'
The length in characters of the common prefix of a list of
@@ -529,13 +530,13 @@ Variable Settings
'keymap'
Sets Readline's idea of the current keymap for key binding
- commands. Acceptable 'keymap' names are 'emacs',
+ commands. Built-in 'keymap' names are 'emacs',
'emacs-standard', 'emacs-meta', 'emacs-ctlx', 'vi', 'vi-move',
'vi-command', and 'vi-insert'. 'vi' is equivalent to
'vi-command' ('vi-move' is also a synonym); 'emacs' is
- equivalent to 'emacs-standard'. The default value is 'emacs'.
- The value of the 'editing-mode' variable also affects the
- default keymap.
+ equivalent to 'emacs-standard'. Applications may add
+ additional names. The default value is 'emacs'. The value of
+ the 'editing-mode' variable also affects the default keymap.
'keyseq-timeout'
Specifies the duration Readline will wait for a character when
@@ -686,7 +687,7 @@ Key Bindings
Meta-Rubout: backward-kill-word
Control-o: "> output"
- In the above example, 'C-u' is bound to the function
+ In the example above, 'C-u' is bound to the function
'universal-argument', 'M-DEL' is bound to the function
'backward-kill-word', and 'C-o' is bound to run the macro
expressed on the right hand side (that is, to insert the text
@@ -1169,7 +1170,7 @@ File: readline.info, Node: Commands For Text, Next: Commands For Killing, Pre
assigned by default. It allows Readline to insert the pasted text
as a single unit without treating each character as if it had been
read from the keyboard. The characters are inserted as if each one
- was bound to 'self-insert') instead of executing any editing
+ was bound to 'self-insert' instead of executing any editing
commands.
'transpose-chars (C-t)'
@@ -2140,6 +2141,18 @@ change which keymap is active.
supplied in a 'set keymap' inputrc line (*note Readline Init
File::).
+ -- Function: void rl_set_keymap (const char *name, Keymap keymap)
+ Set the name of KEYMAP. This name will then be "registered" and
+ available for use in a 'set keymap' inputrc directive *note
+ Readline Init File::). The NAME may not be one of Readline's
+ builtin names; you may not add a different name for one of
+ Readline's builtin keymaps. Readline will make a copy of NAME.
+ You may replace the name associated with a given keymap by calling
+ this function two or more times with the same KEYMAP argument. You
+ can associate a registered name with a new keymap by calling this
+ function two or more times with the same NAME argument. There is
+ no way to remove a named keymap once the name has been registered.
+

File: readline.info, Node: Binding Keys, Next: Associating Function Names and Bindings, Prev: Keymaps, Up: Readline Convenience Functions
@@ -2262,13 +2275,16 @@ associate a new function name with an arbitrary function.
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
- (one of 'ISFUNC', 'ISKMAP', or 'ISMACR').
+ (one of 'ISFUNC', 'ISKMAP', or 'ISMACR'). It takes a "translated"
+ key sequence and should not be used if the key sequence can include
+ NUL.
-- Function: rl_command_func_t * rl_function_of_keyseq_len (const char
- *keyseq, size_t len Keymap map, int *type)
+ *keyseq, size_t len, Keymap map, int *type)
Return the function invoked by KEYSEQ of length LEN in keymap MAP.
Equivalent to 'rl_function_of_keyseq' with the addition of the LEN
- parameter.
+ parameter. It takes a "translated" key sequence and should be used
+ if the key sequence can include NUL.
-- Function: char ** rl_invoking_keyseqs (rl_command_func_t *function)
Return an array of strings representing the key sequences used to
@@ -4728,7 +4744,7 @@ Function and Variable Index
(line 26)
* rl_add_defun: Function Naming. (line 18)
* rl_add_funmap_entry: Associating Function Names and Bindings.
- (line 51)
+ (line 54)
* rl_add_undo: Allowing Undoing. (line 39)
* rl_alphabetic: Utility Functions. (line 38)
* rl_already_prompted: Readline Variables. (line 63)
@@ -4869,13 +4885,13 @@ Function and Variable Index
(line 113)
* rl_free_undo_list: Allowing Undoing. (line 44)
* rl_function_dumper: Associating Function Names and Bindings.
- (line 35)
+ (line 38)
* rl_function_of_keyseq: Associating Function Names and Bindings.
(line 13)
* rl_function_of_keyseq_len: Associating Function Names and Bindings.
- (line 20)
+ (line 22)
* rl_funmap_names: Associating Function Names and Bindings.
- (line 45)
+ (line 48)
* rl_generic_bind: Binding Keys. (line 87)
* rl_getc: Character Input. (line 14)
* rl_getc_function: Readline Variables. (line 128)
@@ -4900,16 +4916,16 @@ Function and Variable Index
* rl_insert_text: Modifying Text. (line 6)
* rl_instream: Readline Variables. (line 96)
* rl_invoking_keyseqs: Associating Function Names and Bindings.
- (line 26)
+ (line 29)
* rl_invoking_keyseqs_in_map: Associating Function Names and Bindings.
- (line 30)
+ (line 33)
* rl_key_sequence_length: Readline Variables. (line 199)
* rl_kill_text: Modifying Text. (line 18)
* rl_last_func: Readline Variables. (line 109)
* rl_library_version: Readline Variables. (line 72)
* rl_line_buffer: Readline Variables. (line 8)
* rl_list_funmap_names: Associating Function Names and Bindings.
- (line 41)
+ (line 44)
* rl_macro_bind: Miscellaneous Functions.
(line 6)
* rl_macro_dumper: Miscellaneous Functions.
@@ -4964,6 +4980,7 @@ Function and Variable Index
* rl_set_key: Binding Keys. (line 71)
* rl_set_keyboard_input_timeout: Character Input. (line 34)
* rl_set_keymap: Keymaps. (line 43)
+* rl_set_keymap <1>: Keymaps. (line 56)
* rl_set_paren_blink_timeout: Miscellaneous Functions.
(line 36)
* rl_set_prompt: Redisplay. (line 80)
@@ -5044,58 +5061,58 @@ Function and Variable Index

Tag Table:
-Node: Top865
-Node: Command Line Editing1590
-Node: Introduction and Notation2242
-Node: Readline Interaction3866
-Node: Readline Bare Essentials5058
-Node: Readline Movement Commands6842
-Node: Readline Killing Commands7803
-Node: Readline Arguments9722
-Node: Searching10767
-Node: Readline Init File12920
-Node: Readline Init File Syntax14074
-Node: Conditional Init Constructs34165
-Node: Sample Init File38362
-Node: Bindable Readline Commands41480
-Node: Commands For Moving42535
-Node: Commands For History44102
-Node: Commands For Text48367
-Node: Commands For Killing51810
-Node: Numeric Arguments53977
-Node: Commands For Completion55117
-Node: Keyboard Macros57086
-Node: Miscellaneous Commands57774
-Node: Readline vi Mode61696
-Node: Programming with GNU Readline63513
-Node: Basic Behavior64499
-Node: Custom Functions68182
-Node: Readline Typedefs69665
-Node: Function Writing71299
-Node: Readline Variables72613
-Node: Readline Convenience Functions85285
-Node: Function Naming86357
-Node: Keymaps87619
-Node: Binding Keys89774
-Node: Associating Function Names and Bindings94322
-Node: Allowing Undoing96893
-Node: Redisplay99443
-Node: Modifying Text103467
-Node: Character Input104714
-Node: Terminal Management106612
-Node: Utility Functions108435
-Node: Miscellaneous Functions111763
-Node: Alternate Interface114352
-Node: A Readline Example117094
-Node: Alternate Interface Example119033
-Node: Readline Signal Handling122565
-Node: Custom Completers131614
-Node: How Completing Works132334
-Node: Completion Functions135641
-Node: Completion Variables139215
-Node: A Short Completion Example154859
-Node: GNU Free Documentation License167638
-Node: Concept Index192812
-Node: Function and Variable Index194333
+Node: Top866
+Node: Command Line Editing1591
+Node: Introduction and Notation2243
+Node: Readline Interaction3867
+Node: Readline Bare Essentials5059
+Node: Readline Movement Commands6843
+Node: Readline Killing Commands7804
+Node: Readline Arguments9723
+Node: Searching10768
+Node: Readline Init File12921
+Node: Readline Init File Syntax14075
+Node: Conditional Init Constructs34234
+Node: Sample Init File38431
+Node: Bindable Readline Commands41549
+Node: Commands For Moving42604
+Node: Commands For History44171
+Node: Commands For Text48436
+Node: Commands For Killing51878
+Node: Numeric Arguments54045
+Node: Commands For Completion55185
+Node: Keyboard Macros57154
+Node: Miscellaneous Commands57842
+Node: Readline vi Mode61764
+Node: Programming with GNU Readline63581
+Node: Basic Behavior64567
+Node: Custom Functions68250
+Node: Readline Typedefs69733
+Node: Function Writing71367
+Node: Readline Variables72681
+Node: Readline Convenience Functions85353
+Node: Function Naming86425
+Node: Keymaps87687
+Node: Binding Keys90604
+Node: Associating Function Names and Bindings95152
+Node: Allowing Undoing97931
+Node: Redisplay100481
+Node: Modifying Text104505
+Node: Character Input105752
+Node: Terminal Management107650
+Node: Utility Functions109473
+Node: Miscellaneous Functions112801
+Node: Alternate Interface115390
+Node: A Readline Example118132
+Node: Alternate Interface Example120071
+Node: Readline Signal Handling123603
+Node: Custom Completers132652
+Node: How Completing Works133372
+Node: Completion Functions136679
+Node: Completion Variables140253
+Node: A Short Completion Example155897
+Node: GNU Free Documentation License168676
+Node: Concept Index193850
+Node: Function and Variable Index195371

End Tag Table
diff --git a/doc/readline.pdf b/doc/readline.pdf
index f40a2ff..381af31 100644
--- a/doc/readline.pdf
+++ b/doc/readline.pdf
Binary files differ
diff --git a/doc/readline.ps b/doc/readline.ps
index 8ec3b04..fe1d877 100644
--- a/doc/readline.ps
+++ b/doc/readline.ps
@@ -1,8 +1,8 @@
%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.997 Copyright 2017 Radical Eye Software
+%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software
%%Title: readline.dvi
-%%CreationDate: Mon May 21 14:32:51 2018
-%%Pages: 80
+%%CreationDate: Fri Nov 16 20:47:28 2018
+%%Pages: 81
%%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 2018.05.21:1032
+%DVIPSSource: TeX output 2018.11.16:1547
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -6673,16 +6673,16 @@ ifelse
%%EndSetup
%%Page: 1 1
TeXDict begin 1 0 bop 150 1318 a Fu(GNU)65 b(Readline)g(Library)p
-150 1418 3600 34 v 1873 1515 a Ft(Edition)30 b(7.0,)i(for)e
-Fs(Readline)e(Library)h Ft(V)-8 b(ersion)31 b(7.0.)3145
-1623 y(Decem)m(b)s(er)g(2017)150 4927 y Fr(Chet)45 b(Ramey)-11
+150 1418 3600 34 v 1873 1515 a Ft(Edition)30 b(8.0,)i(for)e
+Fs(Readline)e(Library)h Ft(V)-8 b(ersion)31 b(8.0.)3118
+1623 y(Septem)m(b)s(er)f(2018)150 4927 y Fr(Chet)45 b(Ramey)-11
b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150
5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)
-11 b(oundation)p 150 5141 3600 17 v eop end
%%Page: 2 2
-TeXDict begin 2 1 bop 150 4413 a Ft(This)23 b(man)m(ual)g(describ)s(es)
-g(the)h(GNU)g(Readline)g(Library)e(\(v)m(ersion)j(7.0,)h(28)e(Decem)m
-(b)s(er)g(2017\),)k(a)23 b(library)150 4523 y(whic)m(h)39
+TeXDict begin 2 1 bop 150 4413 a Ft(This)21 b(man)m(ual)g(describ)s(es)
+g(the)g(GNU)h(Readline)g(Library)f(\(v)m(ersion)h(8.0,)i(18)e(Septem)m
+(b)s(er)f(2018\),)26 b(a)21 b(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
@@ -6807,7 +6807,7 @@ f(:)h(:)f(:)g(:)h(:)22 b Ft(33)399 4242 y(2.4.3)93 b(Binding)30
b(Keys)15 b Fn(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)28
-b Ft(33)399 4352 y(2.4.4)93 b(Asso)s(ciating)32 b(F)-8
+b Ft(34)399 4352 y(2.4.4)93 b(Asso)s(ciating)32 b(F)-8
b(unction)31 b(Names)g(and)e(Bindings)d Fn(:)16 b(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39 b Ft(35)399
4462 y(2.4.5)93 b(Allo)m(wing)32 b(Undoing)26 b Fn(:)16
@@ -6820,24 +6820,24 @@ h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)23
b Ft(37)399 4681 y(2.4.7)93 b(Mo)s(difying)30 b(T)-8
b(ext)16 b Fn(:)g(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)28 b Ft(38)399
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)28 b Ft(39)399
4790 y(2.4.8)93 b(Character)31 b(Input)22 b Fn(:)13 b(:)j(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)35 b Ft(39)399 4900 y(2.4.9)93 b(T)-8 b(erminal)30
b(Managemen)m(t)17 b Fn(:)h(:)d(:)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(:)30 b Ft(39)399 5010 y(2.4.10)93
+g(:)h(:)f(:)h(:)f(:)g(:)30 b Ft(40)399 5010 y(2.4.10)93
b(Utilit)m(y)33 b(F)-8 b(unctions)24 b Fn(:)15 b(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)36
b Ft(40)399 5119 y(2.4.11)93 b(Miscellaneous)33 b(F)-8
b(unctions)23 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(:)36 b Ft(41)399 5229 y(2.4.12)93 b(Alternate)32
+f(:)h(:)f(:)36 b Ft(42)399 5229 y(2.4.12)93 b(Alternate)32
b(In)m(terface)27 b Fn(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)38 b Ft(42)399 5338
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)38 b Ft(43)399 5338
y(2.4.13)93 b(A)31 b(Readline)g(Example)12 b Fn(:)j(:)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(:)25
@@ -6846,7 +6846,7 @@ b Ft(43)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(44)275 193 y(2.5)92 b(Readline)31
+f(:)g(:)h(:)f(:)h(:)31 b Ft(45)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(47)275 302
@@ -6866,14 +6866,14 @@ f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)31 b
Ft(52)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(56)150 991 y Fr(App)t(endix)44 b(A)119 b(GNU)39 b(F)-11
+Ft(57)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(65)150 1269 y(Concept)45 b(Index)36 b Fo(:)19
+b(:)32 b Fr(66)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(73)150 1548 y(F)-11 b(unction)44 b(and)h(V)-11
+h(:)49 b Fr(74)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(74)p
+f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fr(75)p
eop end
%%Page: 1 5
TeXDict begin 1 4 bop 3705 -116 a Ft(1)150 299 y Fp(1)80
@@ -7205,120 +7205,121 @@ Fs(visible)p Ft(',)32 b(Readline)i(uses)f(a)g(visible)g(b)s(ell)g(if)g
(one)g(is)g(a)m(v)-5 b(ailable.)51 b(If)33 b(set)g(to)1110
737 y(`)p Fs(audible)p Ft(')j(\(the)i(default\),)i(Readline)e(attempts)
g(to)h(ring)e(the)g(terminal's)1110 847 y(b)s(ell.)630
-993 y Fs(bind-tty-special-chars)1110 1103 y Ft(If)e(set)g(to)h(`)p
+1005 y Fs(bind-tty-special-chars)1110 1115 y Ft(If)e(set)g(to)h(`)p
Fs(on)p Ft(')f(\(the)g(default\),)i(Readline)f(attempts)g(to)g(bind)d
-(the)i(con)m(trol)1110 1212 y(c)m(haracters)30 b(treated)g(sp)s
+(the)i(con)m(trol)1110 1224 y(c)m(haracters)30 b(treated)g(sp)s
(ecially)g(b)m(y)f(the)g(k)m(ernel's)h(terminal)f(driv)m(er)g(to)h
-(their)1110 1322 y(Readline)h(equiv)-5 b(alen)m(ts.)630
-1468 y Fs(blink-matching-paren)1110 1577 y Ft(If)36 b(set)g(to)h(`)p
+(their)1110 1334 y(Readline)h(equiv)-5 b(alen)m(ts.)630
+1492 y Fs(blink-matching-paren)1110 1602 y Ft(If)36 b(set)g(to)h(`)p
Fs(on)p Ft(',)h(Readline)f(attempts)g(to)g(brie\015y)e(mo)m(v)m(e)j
-(the)f(cursor)e(to)i(an)1110 1687 y(op)s(ening)k(paren)m(thesis)h(when)
+(the)f(cursor)e(to)i(an)1110 1711 y(op)s(ening)k(paren)m(thesis)h(when)
f(a)h(closing)h(paren)m(thesis)e(is)h(inserted.)74 b(The)1110
-1797 y(default)31 b(is)f(`)p Fs(off)p Ft('.)630 1943
-y Fs(colored-completion-prefi)o(x)1110 2052 y Ft(If)f(set)h(to)g(`)p
+1821 y(default)31 b(is)f(`)p Fs(off)p Ft('.)630 1979
+y Fs(colored-completion-prefi)o(x)1110 2089 y Ft(If)f(set)h(to)g(`)p
Fs(on)p Ft(',)g(when)e(listing)i(completions,)h(Readline)f(displa)m(ys)
-g(the)f(com-)1110 2162 y(mon)c(pre\014x)f(of)i(the)f(set)h(of)g(p)s
+g(the)f(com-)1110 2198 y(mon)c(pre\014x)f(of)i(the)f(set)h(of)g(p)s
(ossible)f(completions)h(using)f(a)h(di\013eren)m(t)g(color.)1110
-2271 y(The)39 b(color)i(de\014nitions)f(are)g(tak)m(en)h(from)f(the)g
-(v)-5 b(alue)40 b(of)g(the)g Fs(LS_COLORS)1110 2381 y
+2308 y(The)39 b(color)i(de\014nitions)f(are)g(tak)m(en)h(from)f(the)g
+(v)-5 b(alue)40 b(of)g(the)g Fs(LS_COLORS)1110 2418 y
Ft(en)m(vironmen)m(t)31 b(v)-5 b(ariable.)41 b(The)30
-b(default)h(is)f(`)p Fs(off)p Ft('.)630 2527 y Fs(colored-stats)1110
-2637 y Ft(If)c(set)h(to)g(`)p Fs(on)p Ft(',)h(Readline)f(displa)m(ys)g
+b(default)h(is)f(`)p Fs(off)p Ft('.)630 2576 y Fs(colored-stats)1110
+2685 y Ft(If)c(set)h(to)g(`)p Fs(on)p Ft(',)h(Readline)f(displa)m(ys)g
(p)s(ossible)f(completions)h(using)f(di\013eren)m(t)1110
-2746 y(colors)40 b(to)g(indicate)g(their)f(\014le)h(t)m(yp)s(e.)67
+2795 y(colors)40 b(to)g(indicate)g(their)f(\014le)h(t)m(yp)s(e.)67
b(The)38 b(color)j(de\014nitions)d(are)i(tak)m(en)1110
-2856 y(from)24 b(the)h(v)-5 b(alue)25 b(of)g(the)g Fs(LS_COLORS)d
+2905 y(from)24 b(the)h(v)-5 b(alue)25 b(of)g(the)g Fs(LS_COLORS)d
Ft(en)m(vironmen)m(t)j(v)-5 b(ariable.)40 b(The)24 b(default)1110
-2966 y(is)30 b(`)p Fs(off)p Ft('.)630 3112 y Fs(comment-begin)1110
-3221 y Ft(The)62 b(string)g(to)h(insert)f(at)h(the)g(b)s(eginning)e(of)
-h(the)h(line)f(when)g(the)1110 3331 y Fs(insert-comment)26
+3014 y(is)30 b(`)p Fs(off)p Ft('.)630 3173 y Fs(comment-begin)1110
+3282 y Ft(The)62 b(string)g(to)h(insert)f(at)h(the)g(b)s(eginning)e(of)
+h(the)h(line)f(when)g(the)1110 3392 y Fs(insert-comment)26
b Ft(command)31 b(is)f(executed.)42 b(The)30 b(default)g(v)-5
-b(alue)31 b(is)f Fs("#")p Ft(.)630 3477 y Fs(completion-display-width)
-1110 3587 y Ft(The)41 b(n)m(um)m(b)s(er)f(of)i(screen)g(columns)f(used)
-g(to)h(displa)m(y)g(p)s(ossible)f(matc)m(hes)1110 3696
+b(alue)31 b(is)f Fs("#")p Ft(.)630 3550 y Fs(completion-display-width)
+1110 3660 y Ft(The)41 b(n)m(um)m(b)s(er)f(of)i(screen)g(columns)f(used)
+g(to)h(displa)m(y)g(p)s(ossible)f(matc)m(hes)1110 3769
y(when)28 b(p)s(erforming)g(completion.)41 b(The)29 b(v)-5
b(alue)29 b(is)g(ignored)g(if)g(it)h(is)f(less)g(than)1110
-3806 y(0)e(or)f(greater)h(than)f(the)g(terminal)h(screen)f(width.)39
+3879 y(0)e(or)f(greater)h(than)f(the)g(terminal)h(screen)f(width.)39
b(A)26 b(v)-5 b(alue)27 b(of)f(0)h(will)f(cause)1110
-3915 y(matc)m(hes)32 b(to)f(b)s(e)e(displa)m(y)m(ed)i(one)g(p)s(er)e
+3988 y(matc)m(hes)32 b(to)f(b)s(e)e(displa)m(y)m(ed)i(one)g(p)s(er)e
(line.)41 b(The)30 b(default)h(v)-5 b(alue)31 b(is)f(-1.)630
-4061 y Fs(completion-ignore-case)1110 4171 y Ft(If)d(set)h(to)g(`)p
+4147 y Fs(completion-ignore-case)1110 4256 y Ft(If)d(set)h(to)g(`)p
Fs(on)p Ft(',)g(Readline)g(p)s(erforms)e(\014lename)h(matc)m(hing)i
-(and)e(completion)1110 4281 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)
+(and)e(completion)1110 4366 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)
40 b(The)30 b(default)h(v)-5 b(alue)30 b(is)h(`)p Fs(off)p
-Ft('.)630 4427 y Fs(completion-map-case)1110 4536 y Ft(If)22
+Ft('.)630 4524 y Fs(completion-map-case)1110 4634 y Ft(If)22
b(set)g(to)h(`)p Fs(on)p Ft(',)h(and)e Fj(completion-ignore-case)31
-b Ft(is)22 b(enabled,)i(Readline)f(treats)1110 4646 y(h)m(yphens)29
+b Ft(is)22 b(enabled,)i(Readline)f(treats)1110 4743 y(h)m(yphens)29
b(\(`)p Fs(-)p Ft('\))j(and)e(underscores)g(\(`)p Fs(_)p
Ft('\))i(as)f(equiv)-5 b(alen)m(t)32 b(when)e(p)s(erforming)1110
-4756 y(case-insensitiv)m(e)j(\014lename)d(matc)m(hing)i(and)e
-(completion.)630 4902 y Fs(completion-prefix-displa)o(y-le)o(ngth)1110
-5011 y Ft(The)h(length)g(in)g(c)m(haracters)i(of)f(the)f(common)h
-(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 5121
-y(completions)g(that)f(is)g(displa)m(y)m(ed)g(without)g(mo)s
-(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 5230
-y(v)-5 b(alue)26 b(greater)h(than)e(zero,)j(common)e(pre\014xes)e
-(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 5340
-y(replaced)k(with)f(an)g(ellipsis)h(when)e(displa)m(ying)i(p)s(ossible)
-f(completions.)p eop end
+4853 y(case-insensitiv)m(e)47 b(\014lename)e(matc)m(hing)g(and)f
+(completion.)85 b(The)44 b(default)1110 4963 y(v)-5 b(alue)31
+b(is)f(`)p Fs(off)p Ft('.)630 5121 y Fs(completion-prefix-displa)o
+(y-le)o(ngth)1110 5230 y Ft(The)h(length)g(in)g(c)m(haracters)i(of)f
+(the)f(common)h(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110
+5340 y(completions)g(that)f(is)g(displa)m(y)m(ed)g(without)g(mo)s
+(di\014cation.)41 b(When)29 b(set)h(to)h(a)p eop end
%%Page: 6 10
TeXDict begin 6 9 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(6)630 299 y Fs
-(completion-query-items)1110 408 y Ft(The)26 b(n)m(um)m(b)s(er)f(of)h
-(p)s(ossible)g(completions)h(that)g(determines)f(when)f(the)i(user)1110
-518 y(is)i(ask)m(ed)h(whether)f(the)h(list)g(of)f(p)s(ossibilities)h
-(should)e(b)s(e)h(displa)m(y)m(ed.)41 b(If)29 b(the)1110
-628 y(n)m(um)m(b)s(er)d(of)h(p)s(ossible)f(completions)i(is)f(greater)h
-(than)e(this)h(v)-5 b(alue,)28 b(Readline)1110 737 y(will)f(ask)g(the)f
-(user)g(whether)g(or)g(not)h(he)f(wishes)g(to)i(view)e(them;)i
-(otherwise,)1110 847 y(they)d(are)f(simply)g(listed.)40
-b(This)23 b(v)-5 b(ariable)25 b(m)m(ust)g(b)s(e)e(set)i(to)g(an)g(in)m
-(teger)g(v)-5 b(alue)1110 956 y(greater)26 b(than)f(or)f(equal)i(to)f
-(0.)40 b(A)24 b(negativ)m(e)j(v)-5 b(alue)26 b(means)e(Readline)i
-(should)1110 1066 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g
-(is)g Fs(100)p Ft(.)630 1267 y Fs(convert-meta)1110 1377
-y Ft(If)22 b(set)g(to)h(`)p Fs(on)p Ft(',)h(Readline)f(will)f(con)m(v)m
+b(Command)29 b(Line)i(Editing)2153 b(6)1110 299 y(v)-5
+b(alue)26 b(greater)h(than)e(zero,)j(common)e(pre\014xes)e(longer)j
+(than)e(this)g(v)-5 b(alue)27 b(are)1110 408 y(replaced)k(with)f(an)g
+(ellipsis)h(when)e(displa)m(ying)i(p)s(ossible)f(completions.)630
+565 y Fs(completion-query-items)1110 675 y Ft(The)c(n)m(um)m(b)s(er)f
+(of)h(p)s(ossible)g(completions)h(that)g(determines)f(when)f(the)i
+(user)1110 784 y(is)i(ask)m(ed)h(whether)f(the)h(list)g(of)f(p)s
+(ossibilities)h(should)e(b)s(e)h(displa)m(y)m(ed.)41
+b(If)29 b(the)1110 894 y(n)m(um)m(b)s(er)d(of)h(p)s(ossible)f
+(completions)i(is)f(greater)h(than)e(this)h(v)-5 b(alue,)28
+b(Readline)1110 1003 y(will)f(ask)g(the)f(user)g(whether)g(or)g(not)h
+(he)f(wishes)g(to)i(view)e(them;)i(otherwise,)1110 1113
+y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5 b(ariable)25
+b(m)m(ust)g(b)s(e)e(set)i(to)g(an)g(in)m(teger)g(v)-5
+b(alue)1110 1223 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40
+b(A)24 b(negativ)m(e)j(v)-5 b(alue)26 b(means)e(Readline)i(should)1110
+1332 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g
+Fs(100)p Ft(.)630 1489 y Fs(convert-meta)1110 1598 y
+Ft(If)22 b(set)g(to)h(`)p Fs(on)p Ft(',)h(Readline)f(will)f(con)m(v)m
(ert)i(c)m(haracters)f(with)f(the)g(eigh)m(th)h(bit)f(set)1110
-1486 y(to)33 b(an)e Fm(asci)r(i)h Ft(k)m(ey)h(sequence)f(b)m(y)g
+1708 y(to)33 b(an)e Fm(asci)r(i)h Ft(k)m(ey)h(sequence)f(b)m(y)g
(stripping)f(the)h(eigh)m(th)h(bit)f(and)f(pre\014xing)1110
-1596 y(an)24 b Fs(ESC)g Ft(c)m(haracter,)j(con)m(v)m(erting)f(them)f
-(to)g(a)g(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 1705
+1817 y(an)24 b Fs(ESC)g Ft(c)m(haracter,)j(con)m(v)m(erting)f(them)f
+(to)g(a)g(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 1927
y(The)i(default)h(v)-5 b(alue)28 b(is)f(`)p Fs(on)p Ft(',)i(but)d(will)
i(b)s(e)f(set)h(to)g(`)p Fs(off)p Ft(')g(if)f(the)h(lo)s(cale)h(is)f
-(one)1110 1815 y(that)j(con)m(tains)h(eigh)m(t-bit)g(c)m(haracters.)630
-2016 y Fs(disable-completion)1110 2125 y Ft(If)k(set)h(to)h(`)p
+(one)1110 2037 y(that)j(con)m(tains)h(eigh)m(t-bit)g(c)m(haracters.)630
+2193 y Fs(disable-completion)1110 2303 y Ft(If)k(set)h(to)h(`)p
Fs(On)p Ft(',)g(Readline)f(will)g(inhibit)f(w)m(ord)h(completion.)60
-b(Completion)1110 2235 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h
+b(Completion)1110 2412 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h
(in)m(to)h(the)g(line)f(as)g(if)g(they)h(had)e(b)s(een)g(mapp)s(ed)1110
-2345 y(to)31 b Fs(self-insert)p Ft(.)38 b(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)630 2545 y Fs(echo-control-characters)1110
-2655 y Ft(When)f(set)h(to)g(`)p Fs(on)p Ft(',)f(on)g(op)s(erating)h
-(systems)f(that)h(indicate)g(they)g(supp)s(ort)1110 2765
+2522 y(to)31 b Fs(self-insert)p Ft(.)38 b(The)30 b(default)g(is)h(`)p
+Fs(off)p Ft('.)630 2679 y Fs(echo-control-characters)1110
+2788 y Ft(When)f(set)h(to)g(`)p Fs(on)p Ft(',)f(on)g(op)s(erating)h
+(systems)f(that)h(indicate)g(they)g(supp)s(ort)1110 2898
y(it,)i(readline)e(ec)m(ho)s(es)i(a)f(c)m(haracter)h(corresp)s(onding)d
-(to)j(a)f(signal)g(generated)1110 2874 y(from)e(the)g(k)m(eyb)s(oard.)
-41 b(The)30 b(default)g(is)h(`)p Fs(on)p Ft('.)630 3075
-y Fs(editing-mode)1110 3185 y Ft(The)d Fs(editing-mode)e
+(to)j(a)f(signal)g(generated)1110 3007 y(from)e(the)g(k)m(eyb)s(oard.)
+41 b(The)30 b(default)g(is)h(`)p Fs(on)p Ft('.)630 3164
+y Fs(editing-mode)1110 3273 y Ft(The)d Fs(editing-mode)e
Ft(v)-5 b(ariable)29 b(con)m(trols)h(whic)m(h)e(default)h(set)h(of)e(k)
-m(ey)i(bind-)1110 3294 y(ings)25 b(is)g(used.)38 b(By)26
+m(ey)i(bind-)1110 3383 y(ings)25 b(is)g(used.)38 b(By)26
b(default,)g(Readline)g(starts)f(up)f(in)h(Emacs)g(editing)h(mo)s(de,)
-1110 3404 y(where)j(the)g(k)m(eystrok)m(es)i(are)e(most)h(similar)f(to)
+1110 3493 y(where)j(the)g(k)m(eystrok)m(es)i(are)e(most)h(similar)f(to)
h(Emacs.)40 b(This)29 b(v)-5 b(ariable)30 b(can)1110
-3513 y(b)s(e)g(set)h(to)g(either)g(`)p Fs(emacs)p Ft(')e(or)h(`)p
-Fs(vi)p Ft('.)630 3714 y Fs(emacs-mode-string)1110 3824
+3602 y(b)s(e)g(set)h(to)g(either)g(`)p Fs(emacs)p Ft(')e(or)h(`)p
+Fs(vi)p Ft('.)630 3759 y Fs(emacs-mode-string)1110 3868
y Ft(If)j(the)h Fj(sho)m(w-mo)s(de-in-prompt)h Ft(v)-5
b(ariable)35 b(is)e(enabled,)i(this)f(string)f(is)h(dis-)1110
-3934 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)g(last)h(line)f
-(of)h(the)f(primary)f(prompt)g(when)1110 4043 y(emacs)g(editing)h(mo)s
+3978 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)g(last)h(line)f
+(of)h(the)f(primary)f(prompt)g(when)1110 4088 y(emacs)g(editing)h(mo)s
(de)e(is)h(activ)m(e.)40 b(The)21 b(v)-5 b(alue)22 b(is)g(expanded)f
-(lik)m(e)h(a)h(k)m(ey)f(bind-)1110 4153 y(ing,)27 b(so)f(the)f
+(lik)m(e)h(a)h(k)m(ey)f(bind-)1110 4197 y(ing,)27 b(so)f(the)f
(standard)g(set)h(of)f(meta-)i(and)e(con)m(trol)i(pre\014xes)d(and)h
-(bac)m(kslash)1110 4262 y(escap)s(e)f(sequences)h(is)e(a)m(v)-5
+(bac)m(kslash)1110 4307 y(escap)s(e)f(sequences)h(is)e(a)m(v)-5
b(ailable.)41 b(Use)25 b(the)f(`)p Fs(\\1)p Ft(')f(and)h(`)p
-Fs(\\2)p Ft(')g(escap)s(es)g(to)g(b)s(egin)1110 4372
+Fs(\\2)p Ft(')g(escap)s(es)g(to)g(b)s(egin)1110 4416
y(and)37 b(end)g(sequences)h(of)f(non-prin)m(ting)h(c)m(haracters,)j
-(whic)m(h)c(can)h(b)s(e)f(used)1110 4482 y(to)h(em)m(b)s(ed)f(a)g
+(whic)m(h)c(can)h(b)s(e)f(used)1110 4526 y(to)h(em)m(b)s(ed)f(a)g
(terminal)h(con)m(trol)h(sequence)f(in)m(to)g(the)f(mo)s(de)g(string.)
-61 b(The)1110 4591 y(default)31 b(is)f(`)p Fs(@)p Ft('.)630
+61 b(The)1110 4635 y(default)31 b(is)f(`)p Fs(@)p Ft('.)630
4792 y Fs(enable-bracketed-paste)1110 4902 y Ft(When)24
b(set)h(to)h(`)p Fs(On)p Ft(',)g(Readline)f(will)g(con\014gure)f(the)h
(terminal)g(in)f(a)h(w)m(a)m(y)g(that)1110 5011 y(will)k(enable)f(it)h
@@ -7398,32 +7399,32 @@ Fl(C-J)g Ft(will)h(terminate)g(an)1110 5340 y(incremen)m(tal)c(searc)m
%%Page: 8 12
TeXDict begin 8 11 bop 150 -116 a Ft(Chapter)30 b(1:)41
b(Command)29 b(Line)i(Editing)2153 b(8)630 299 y Fs(keymap)192
-b Ft(Sets)39 b(Readline's)g(idea)h(of)f(the)g(curren)m(t)f(k)m(eymap)h
-(for)g(k)m(ey)g(binding)f(com-)1110 408 y(mands.)81 b(Acceptable)47
-b Fs(keymap)42 b Ft(names)i(are)h Fs(emacs)p Ft(,)i Fs(emacs-standard)p
+b Ft(Sets)64 b(Readline's)i(idea)f(of)f(the)h(curren)m(t)f(k)m(eymap)h
+(for)f(k)m(ey)h(binding)1110 408 y(commands.)71 b(Built-in)41
+b Fs(keymap)e Ft(names)h(are)h Fs(emacs)p Ft(,)h Fs(emacs-standard)p
Ft(,)1110 518 y Fs(emacs-meta)p Ft(,)99 b Fs(emacs-ctlx)p
Ft(,)f Fs(vi)p Ft(,)j Fs(vi-move)p Ft(,)f Fs(vi-command)p
Ft(,)f(and)1110 628 y Fs(vi-insert)p Ft(.)81 b Fs(vi)44
b Ft(is)h(equiv)-5 b(alen)m(t)46 b(to)g Fs(vi-command)c
-Ft(\()p Fs(vi-move)h Ft(is)i(also)h(a)1110 737 y(synon)m(ym\);)g
-Fs(emacs)39 b Ft(is)i(equiv)-5 b(alen)m(t)42 b(to)g Fs(emacs-standard)p
-Ft(.)68 b(The)40 b(default)1110 847 y(v)-5 b(alue)52
-b(is)f Fs(emacs)p Ft(.)103 b(The)51 b(v)-5 b(alue)52
-b(of)f(the)h Fs(editing-mode)c Ft(v)-5 b(ariable)52 b(also)1110
-956 y(a\013ects)32 b(the)e(default)h(k)m(eymap.)630 1113
-y Fs(keyseq-timeout)1110 1223 y Ft(Sp)s(eci\014es)25
-b(the)g(duration)g(Readline)h(will)g(w)m(ait)g(for)g(a)f(c)m(haracter)i
-(when)e(read-)1110 1332 y(ing)30 b(an)g(am)m(biguous)g(k)m(ey)h
-(sequence)f(\(one)g(that)h(can)f(form)g(a)g(complete)h(k)m(ey)1110
-1442 y(sequence)j(using)e(the)i(input)e(read)h(so)g(far,)h(or)g(can)f
-(tak)m(e)i(additional)f(input)1110 1551 y(to)g(complete)g(a)f(longer)h
-(k)m(ey)f(sequence\).)49 b(If)33 b(no)f(input)g(is)h(receiv)m(ed)h
-(within)1110 1661 y(the)43 b(timeout,)48 b(Readline)43
-b(will)g(use)g(the)g(shorter)g(but)f(complete)j(k)m(ey)e(se-)1110
-1771 y(quence.)c(Readline)26 b(uses)f(this)h(v)-5 b(alue)26
-b(to)g(determine)g(whether)f(or)g(not)h(input)1110 1880
-y(is)31 b(a)m(v)-5 b(ailable)33 b(on)d(the)h(curren)m(t)f(input)g
-(source)h(\()p Fs(rl_instream)d Ft(b)m(y)i(default\).)1110
+Ft(\()p Fs(vi-move)h Ft(is)i(also)h(a)1110 737 y(synon)m(ym\);)41
+b Fs(emacs)c Ft(is)h(equiv)-5 b(alen)m(t)39 b(to)f Fs(emacs-standard)p
+Ft(.)59 b(Applications)1110 847 y(ma)m(y)32 b(add)e(additional)i
+(names.)43 b(The)30 b(default)h(v)-5 b(alue)32 b(is)f
+Fs(emacs)p Ft(.)41 b(The)30 b(v)-5 b(alue)1110 956 y(of)31
+b(the)f Fs(editing-mode)d Ft(v)-5 b(ariable)31 b(also)h(a\013ects)f
+(the)g(default)g(k)m(eymap.)630 1113 y Fs(keyseq-timeout)1110
+1223 y Ft(Sp)s(eci\014es)25 b(the)g(duration)g(Readline)h(will)g(w)m
+(ait)g(for)g(a)f(c)m(haracter)i(when)e(read-)1110 1332
+y(ing)30 b(an)g(am)m(biguous)g(k)m(ey)h(sequence)f(\(one)g(that)h(can)f
+(form)g(a)g(complete)h(k)m(ey)1110 1442 y(sequence)j(using)e(the)i
+(input)e(read)h(so)g(far,)h(or)g(can)f(tak)m(e)i(additional)f(input)
+1110 1551 y(to)g(complete)g(a)f(longer)h(k)m(ey)f(sequence\).)49
+b(If)33 b(no)f(input)g(is)h(receiv)m(ed)h(within)1110
+1661 y(the)43 b(timeout,)48 b(Readline)43 b(will)g(use)g(the)g(shorter)
+g(but)f(complete)j(k)m(ey)e(se-)1110 1771 y(quence.)c(Readline)26
+b(uses)f(this)h(v)-5 b(alue)26 b(to)g(determine)g(whether)f(or)g(not)h
+(input)1110 1880 y(is)31 b(a)m(v)-5 b(ailable)33 b(on)d(the)h(curren)m
+(t)f(input)g(source)h(\()p Fs(rl_instream)d Ft(b)m(y)i(default\).)1110
1990 y(The)25 b(v)-5 b(alue)26 b(is)f(sp)s(eci\014ed)f(in)h
(milliseconds,)j(so)d(a)h(v)-5 b(alue)26 b(of)f(1000)i(means)e(that)
1110 2099 y(Readline)e(will)g(w)m(ait)g(one)g(second)f(for)g
@@ -7601,7 +7602,7 @@ Ft(:)42 b Fj(function-name)35 b Ft(or)c Fj(macro)1110
(elled)e(out)h(in)g(English.)39 b(F)-8 b(or)30 b(example:)1350
4545 y Fs(Control-u:)45 b(universal-argument)1350 4655
y(Meta-Rubout:)f(backward-kill-word)1350 4765 y(Control-o:)h(">)i
-(output")1110 4902 y Ft(In)94 b(the)g(ab)s(o)m(v)m(e)i(example,)111
+(output")1110 4902 y Ft(In)94 b(the)g(example)h(ab)s(o)m(v)m(e,)112
b Fl(C-u)94 b Ft(is)g(b)s(ound)f(to)i(the)f(function)1110
5011 y Fs(universal-argument)p Ft(,)124 b Fl(M-DEL)107
b Ft(is)i(b)s(ound)e(to)j(the)f(function)1110 5121 y
@@ -8055,25 +8056,25 @@ b(b)m(y)f(some)h(terminals,)i(and)d(suc)m(h)g(a)h(binding)e(is)i
(single)g(unit)f(without)h(treating)h(eac)m(h)f(c)m(har-)630
1286 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
-1396 y(as)i(if)g(eac)m(h)i(one)e(w)m(as)h(b)s(ound)d(to)i
-Fs(self-insert)p Ft(\))e(instead)i(of)h(executing)g(an)m(y)f(editing)
-630 1505 y(commands.)150 1670 y Fs(transpose-chars)26
-b(\(C-t\))630 1780 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 1889 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 1999 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 2109 y(ha)m(v)m(e)32
-b(no)e(e\013ect.)150 2273 y Fs(transpose-words)c(\(M-t\))630
-2383 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 2493 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 2602 y(last)j(t)m(w)m(o)h(w)m
-(ords)e(on)g(the)h(line.)150 2767 y Fs(upcase-word)c(\(M-u\))630
-2877 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
+1396 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
+1505 y(commands.)150 1670 y Fs(transpose-chars)26 b(\(C-t\))630
+1780 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
+1889 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 1999 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 2109 y(ha)m(v)m(e)32 b(no)e(e\013ect.)150
+2273 y Fs(transpose-words)c(\(M-t\))630 2383 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
+2493 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 2602 y(last)j(t)m(w)m(o)h(w)m(ords)e(on)g(the)h(line.)150
+2767 y Fs(upcase-word)c(\(M-u\))630 2877 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
2986 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 3151 y Fs(downcase-word)d(\(M-l\))630
3261 y Ft(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h(follo)m(wing\))i
@@ -8770,7 +8771,7 @@ b(alue)21 b(passed)f(to)390 4573 y Fs(rl_set_keyboard_input_ti)o(meou)o
Fj(k)m(eyseq-timeout)390 4682 y Ft(v)-5 b(ariable.)48
b(This)31 b(is)i(designed)f(for)g(use)g(b)m(y)g(applications)i(using)e
(Readline's)h(callbac)m(k)h(in)m(terface)390 4792 y(\(see)d(Section)f
-(2.4.12)i([Alternate)f(In)m(terface],)h(page)e(42\),)i(whic)m(h)d(ma)m
+(2.4.12)i([Alternate)f(In)m(terface],)h(page)e(43\),)i(whic)m(h)d(ma)m
(y)h(not)g(use)g(the)g(traditional)390 4902 y Fs(read\(2\))39
b Ft(and)g(\014le)i(descriptor)f(in)m(terface,)45 b(or)c(other)f
(applications)i(using)e(a)h(di\013eren)m(t)g(input)390
@@ -8804,7 +8805,7 @@ b(default,)h(it)g(is)f(set)g(to)h Fs(rl_redisplay)p Ft(,)390
(whether)e(or)h(not)g(to)h(use)390 1146 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
-1255 y([T)-8 b(erminal)31 b(Managemen)m(t],)i(page)e(39\).)3371
+1255 y([T)-8 b(erminal)31 b(Managemen)m(t],)i(page)e(40\).)3371
1445 y([V)-8 b(ariable])-3598 b Fh(rl_voidfunc_t)56 b(*)d
(rl_deprep_term_functio)q(n)390 1554 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
@@ -8812,7 +8813,7 @@ e(will)g(call)h(indirectly)f(through)f(this)g(p)s(oin)m(ter)h(to)g
(the)h(e\013ects)h(of)f Fs(rl_prep_term_function)p Ft(.)49
b(By)35 b(default,)i(this)390 1774 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(39\).)3371 1963
+b(erminal)30 b(Managemen)m(t],)j(page)e(40\).)3371 1963
y([V)-8 b(ariable])-3598 b Fh(Keymap)54 b(rl_executing_keymap)390
2073 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(33\))i(in)d
@@ -8891,7 +8892,7 @@ b(alues)31 b(of)f(the)h(terminal's)g(sp)s(ecial)g(c)m(haracters.)390
5121 y Fs(RL_STATE_CALLBACK)870 5230 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 5340 y(tion)31 b(2.4.12)h([Alternate)h(In)m
-(terface],)f(page)f(42\).)p eop end
+(terface],)f(page)f(43\).)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)390
@@ -8965,1800 +8966,1836 @@ Ft(.)66 b(The)38 b(k)m(eymap)h(is)g(the)g(asso)s(ciation)h(b)s(et)m(w)m
(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
665 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 849 y([F)-8 b(unction])-3599
+(eymap)h(to)g(use.)3350 854 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 959 y Ft(Returns)23 b(a)i(new,)g(empt)m(y)f(k)m(eymap.)40
+Fg(\))390 963 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 1068 y(the)31 b(caller)g(should)f(free)g(it)h
+Fs(malloc\(\))p Ft(;)390 1073 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
-1253 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 1362 y Ft(Return)c(a)g(new)g(k)m
+1262 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 1371 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 Fj(map)p
-Ft(.)3350 1547 y([F)-8 b(unction])-3599 b Fh(Keymap)54
-b(rl_make_keymap)c Fg(\()p Ff(v)m(oid)p Fg(\))390 1656
+Ft(.)3350 1560 y([F)-8 b(unction])-3599 b Fh(Keymap)54
+b(rl_make_keymap)c Fg(\()p Ff(v)m(oid)p Fg(\))390 1669
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 1656 28 4 v 40
-w(insert,)g(the)g(lo)m(w)m(ercase)390 1766 y(Meta)24
+(haracters)i(b)s(ound)c(to)j(rl)p 2909 1669 28 4 v 40
+w(insert,)g(the)g(lo)m(w)m(ercase)390 1779 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 1875 y(n)m(umeric)30 b(argumen)m(ts.)3350 2060
+(duce)390 1889 y(n)m(umeric)30 b(argumen)m(ts.)3350 2077
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 2169 y Ft(F)-8
+Fg(\()p Ff(Keymap)34 b(k)m(eymap)p Fg(\))390 2187 y Ft(F)-8
b(ree)30 b(the)g(storage)h(asso)s(ciated)g(with)e(the)g(data)h(in)f
Fj(k)m(eymap)p Ft(.)41 b(The)29 b(caller)h(should)f(free)g
-Fj(k)m(eymap)p Ft(.)3350 2354 y([F)-8 b(unction])-3599
+Fj(k)m(eymap)p Ft(.)3350 2375 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 2463 y Ft(F)-8 b(ree)32 b(all)g(storage)g(asso)
+b(k)m(eymap)p Fg(\))390 2485 y Ft(F)-8 b(ree)32 b(all)g(storage)g(asso)
s(ciated)g(with)f Fj(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
-2573 y(ordindate)f(k)m(eymaps)h(and)f(macros.)3350 2757
+2595 y(ordindate)f(k)m(eymaps)h(and)f(macros.)3350 2783
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 2867 y Ft(Return)c
+Fg(\()p Ff(Keymap)34 b(k)m(eymap)p Fg(\))390 2893 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 Fj(k)m(eymap)s Ft(;)i(zero)f(if)g(there)g(are)390
-2976 y(an)m(y)g(k)m(eys)g(b)s(ound.)275 3161 y(Readline)45
+3002 y(an)m(y)g(k)m(eys)g(b)s(ound.)275 3191 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
-3270 y(k)m(eymap)31 b(is)f(activ)m(e.)3350 3455 y([F)-8
+3301 y(k)m(eymap)31 b(is)f(activ)m(e.)3350 3489 y([F)-8
b(unction])-3599 b Fh(Keymap)54 b(rl_get_keymap)c Fg(\()p
-Ff(v)m(oid)p Fg(\))390 3564 y Ft(Returns)29 b(the)i(curren)m(tly)f
-(activ)m(e)j(k)m(eymap.)3350 3748 y([F)-8 b(unction])-3599
+Ff(v)m(oid)p Fg(\))390 3599 y Ft(Returns)29 b(the)i(curren)m(tly)f
+(activ)m(e)j(k)m(eymap.)3350 3788 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 3858 y Ft(Mak)m(es)e Fj(k)m(eymap)h
-Ft(the)e(curren)m(tly)f(activ)m(e)j(k)m(eymap.)3350 4042
+b(k)m(eymap)p Fg(\))390 3897 y Ft(Mak)m(es)e Fj(k)m(eymap)h
+Ft(the)e(curren)m(tly)f(activ)m(e)j(k)m(eymap.)3350 4086
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 4152
+Fg(\()p Ff(const)34 b(c)m(har)g(*name)p Fg(\))390 4196
y Ft(Return)e(the)i(k)m(eymap)f(matc)m(hing)i Fj(name)p
Ft(.)49 b Fj(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 4262 y(keymap)29 b Ft(inputrc)g(line)i
+(supplied)g(in)h(a)h Fs(set)390 4305 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
-4446 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 4555 y Ft(Return)e(the)i
+4494 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 4603 y Ft(Return)e(the)i
(name)f(matc)m(hing)h Fj(k)m(eymap)p Ft(.)50 b Fj(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 4665 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\).)150 4864
-y Fi(2.4.3)63 b(Binding)42 b(Keys)150 5011 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
-5121 y(ternal)30 b(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 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 5340 y(and)30 b(the)g(examples)h(in)f
-(this)h(man)m(ual)f(assume)g(that.)p eop end
+Fs(set)390 4713 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 4902
+y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_set_keymap)49
+b Fg(\()p Ff(const)34 b(c)m(har)g(*name,)f(Keymap)h(k)m(eymap)p
+Fg(\))390 5011 y Ft(Set)27 b(the)f(name)h(of)f Fj(k)m(eymap)p
+Ft(.)40 b(This)26 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)29
+b(for)d(use)g(in)390 5121 y(a)f Fs(set)k(keymap)23 b
+Ft(inputrc)g(directiv)m(e)j(see)f(Section)g(1.3)h([Readline)f(Init)f
+(File],)j(page)e(4\).)40 b(The)24 b Fj(name)390 5230
+y Ft(ma)m(y)i(not)f(b)s(e)f(one)h(of)g(Readline's)h(builtin)f(names;)i
+(y)m(ou)e(ma)m(y)h(not)f(add)f(a)h(di\013eren)m(t)h(name)f(for)g(one)
+390 5340 y(of)31 b(Readline's)g(builtin)f(k)m(eymaps.)42
+b(Readline)32 b(will)f(mak)m(e)g(a)h(cop)m(y)f(of)g Fj(name)p
+Ft(.)42 b(Y)-8 b(ou)31 b(ma)m(y)g(replace)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)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)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 518 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 628 y(function)37
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(34)390
+299 y(the)31 b(name)f(asso)s(ciated)i(with)e(a)h(giv)m(en)h(k)m(eymap)f
+(b)m(y)f(calling)i(this)e(function)g(t)m(w)m(o)i(or)f(more)f(times)390
+408 y(with)35 b(the)h(same)g Fj(k)m(eymap)j Ft(argumen)m(t.)57
+b(Y)-8 b(ou)36 b(can)g(asso)s(ciate)i(a)e(registered)g(name)g(with)f(a)
+h(new)390 518 y(k)m(eymap)h(b)m(y)g(calling)h(this)f(function)f(t)m(w)m
+(o)i(or)f(more)g(times)g(with)f(the)h(same)g Fj(name)42
+b Ft(argumen)m(t.)390 628 y(There)30 b(is)g(no)h(w)m(a)m(y)g(to)g(remo)
+m(v)m(e)h(a)f(named)f(k)m(eymap)g(once)h(the)g(name)f(has)h(b)s(een)e
+(registered.)150 826 y Fi(2.4.3)63 b(Binding)42 b(Keys)150
+973 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 1083 y(ternal)30 b(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 1192 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 1302 y(and)30 b(the)g(examples)h(in)f
+(this)h(man)m(ual)f(assume)g(that.)275 1436 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
+1546 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 1655 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 1765 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 737 y(page)31 b(27\).)275 868 y(These)f(functions)g
-(manage)h(k)m(ey)g(bindings.)3350 1041 y([F)-8 b(unction])-3599
+b(ariables],)150 1875 y(page)31 b(27\).)275 2009 y(These)f(functions)g
+(manage)h(k)m(ey)g(bindings.)3350 2192 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 1041 30 5 v 43 w(command)p 1904 1041
-V 45 w(func)p 2133 1041 V 45 w(t)h(*function)p Fg(\))390
-1151 y Ft(Binds)f Fj(k)m(ey)42 b Ft(to)34 b Fj(function)e
+b(,)32 b(rl)p 1441 2192 30 5 v 43 w(command)p 1904 2192
+V 45 w(func)p 2133 2192 V 45 w(t)h(*function)p Fg(\))390
+2302 y Ft(Binds)f Fj(k)m(ey)42 b Ft(to)34 b Fj(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 1260 y(of)e(an)f(in)m(v)
--5 b(alid)31 b Fj(k)m(ey)p Ft(.)3350 1434 y([F)-8 b(unction])-3599
+b(Returns)32 b(non-zero)i(in)f(the)g(case)390 2412 y(of)e(an)f(in)m(v)
+-5 b(alid)31 b Fj(k)m(ey)p Ft(.)3350 2595 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 1434 V 43 w(command)p
-2270 1434 V 45 w(func)p 2499 1434 V 45 w(t)h(*function,)565
-1543 y(Keymap)h(map)p Fg(\))390 1653 y Ft(Bind)c Fj(k)m(ey)39
+b(k)m(ey)-8 b(,)32 b(rl)p 1807 2595 V 43 w(command)p
+2270 2595 V 45 w(func)p 2499 2595 V 45 w(t)h(*function,)565
+2705 y(Keymap)h(map)p Fg(\))390 2814 y Ft(Bind)c Fj(k)m(ey)39
b Ft(to)31 b Fj(function)f Ft(in)g Fj(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 Fj(k)m(ey)p Ft(.)3350 1826 y([F)-8 b(unction])-3599
+b Fj(k)m(ey)p Ft(.)3350 2998 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 1826 V 44 w(command)p
-2480 1826 V 44 w(func)p 2708 1826 V 45 w(t)565 1936 y(*function)p
-Fg(\))390 2045 y Ft(Binds)43 b Fj(k)m(ey)53 b Ft(to)45
+b(k)m(ey)-8 b(,)32 b(rl)p 2016 2998 V 44 w(command)p
+2480 2998 V 44 w(func)p 2708 2998 V 45 w(t)565 3107 y(*function)p
+Fg(\))390 3217 y Ft(Binds)43 b Fj(k)m(ey)53 b Ft(to)45
b Fj(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 2155 y(Returns)29
+(curren)m(tly)g(activ)m(e)i(k)m(eymap.)390 3327 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 Fj(k)m(ey)39 b Ft(or)30 b(if)h Fj(k)m(ey)39 b Ft(is)30
-b(already)h(b)s(ound.)3350 2328 y([F)-8 b(unction])-3599
+b(already)h(b)s(ound.)3350 3510 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 2328
-V 44 w(command)p 2846 2328 V 44 w(func)p 3074 2328 V
-46 w(t)565 2438 y(*function,)i(Keymap)g(map)p Fg(\))390
-2547 y Ft(Binds)27 b Fj(k)m(ey)36 b Ft(to)28 b Fj(function)f
+Fg(\()p Ff(in)m(t)34 b(k)m(ey)-8 b(,)32 b(rl)p 2382 3510
+V 44 w(command)p 2846 3510 V 44 w(func)p 3074 3510 V
+46 w(t)565 3620 y(*function,)i(Keymap)g(map)p Fg(\))390
+3729 y Ft(Binds)27 b Fj(k)m(ey)36 b Ft(to)28 b Fj(function)f
Ft(if)g(it)h(is)f(not)h(already)g(b)s(ound)d(in)i Fj(map)p
Ft(.)39 b(Returns)27 b(non-zero)g(in)g(the)h(case)390
-2657 y(of)j(an)f(in)m(v)-5 b(alid)31 b Fj(k)m(ey)39 b
+3839 y(of)j(an)f(in)m(v)-5 b(alid)31 b Fj(k)m(ey)39 b
Ft(or)30 b(if)g Fj(k)m(ey)39 b Ft(is)31 b(already)g(b)s(ound.)3350
-2830 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 2940 y Ft(Bind)j
+4022 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 4132 y Ft(Bind)j
Fj(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
-3049 y(case)31 b(of)g(error.)3350 3222 y([F)-8 b(unction])-3599
+4242 y(case)31 b(of)g(error.)3350 4425 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 3332 y
+b(k)m(ey)-8 b(,)33 b(Keymap)g(map)p Fg(\))390 4535 y
Ft(Bind)d Fj(k)m(ey)39 b Ft(to)31 b(the)g(n)m(ull)f(function)g(in)g
Fj(map)p Ft(.)40 b(Returns)30 b(non-zero)h(in)f(case)h(of)g(error.)3350
-3505 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_unbind_function_in)q
-(_map)f Fg(\()p Ff(rl)p 1821 3505 V 44 w(command)p 2285
-3505 V 45 w(func)p 2514 3505 V 45 w(t)33 b(*function,)565
-3615 y(Keymap)h(map)p Fg(\))390 3724 y Ft(Un)m(bind)29
+4718 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_unbind_function_in)q
+(_map)f Fg(\()p Ff(rl)p 1821 4718 V 44 w(command)p 2285
+4718 V 45 w(func)p 2514 4718 V 45 w(t)33 b(*function,)565
+4828 y(Keymap)h(map)p Fg(\))390 4937 y Ft(Un)m(bind)29
b(all)i(k)m(eys)g(that)g(execute)h Fj(function)e Ft(in)g
-Fj(map)p Ft(.)3350 3898 y([F)-8 b(unction])-3599 b Fh(int)53
+Fj(map)p Ft(.)3350 5121 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 4007 y(map)p Fg(\))390 4117 y
+(*command,)f(Keymap)565 5230 y(map)p Fg(\))390 5340 y
Ft(Un)m(bind)c(all)i(k)m(eys)g(that)g(are)g(b)s(ound)e(to)i
-Fj(command)i Ft(in)d Fj(map)p Ft(.)3350 4290 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 4290
-V 44 w(command)p 2583 4290 V 44 w(func)p 2811 4290 V
-46 w(t)565 4400 y(*function)p Fg(\))390 4509 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
-Fj(k)m(eyseq)j Ft(to)e(the)f(function)g Fj(function)p
-Ft(,)390 4619 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 4728 y(v)-5 b(alue)31 b(is)f(non-zero)h
-(if)g Fj(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 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)25 b(the)g(k)m(ey)h(sequence)f(represen)m(ted)g(b)m(y)g
-(the)g(string)g Fj(k)m(eyseq)j Ft(to)e(the)f(function)g
-Fj(function)p Ft(.)39 b(This)390 5230 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 Fj(map)p Ft(.)40 b(The)29 b(return)390
-5340 y(v)-5 b(alue)31 b(is)f(non-zero)h(if)g Fj(k)m(eyseq)i
-Ft(is)d(in)m(v)-5 b(alid.)p eop end
+Fj(command)i Ft(in)d Fj(map)p Ft(.)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)3350
-299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_set_key)c
+299 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
+299 30 5 v 44 w(command)p 2583 299 V 44 w(func)p 2811
+299 V 46 w(t)565 408 y(*function)p Fg(\))390 518 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
+Fj(k)m(eyseq)j Ft(to)e(the)f(function)g Fj(function)p
+Ft(,)390 628 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 737 y(v)-5 b(alue)31 b(is)f(non-zero)h(if)
+g Fj(k)m(eyseq)i Ft(is)d(in)m(v)-5 b(alid.)3350 939 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 1049 y(rl)p 639 1049 V 44
+w(command)p 1103 1049 V 44 w(func)p 1331 1049 V 45 w(t)f(*function,)h
+(Keymap)g(map)p Fg(\))390 1159 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 Fj(k)m(eyseq)j
+Ft(to)e(the)f(function)g Fj(function)p Ft(.)39 b(This)390
+1268 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
+Fj(map)p Ft(.)40 b(The)29 b(return)390 1378 y(v)-5 b(alue)31
+b(is)f(non-zero)h(if)g Fj(k)m(eyseq)i Ft(is)d(in)m(v)-5
+b(alid.)3350 1580 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
-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 688 y([F)-8 b(unction])-3599 b Fh(int)53 b
+1580 V 44 w(command)p 2374 1580 V 44 w(func)p 2602 1580
+V 45 w(t)h(*function,)565 1690 y(Keymap)h(map)p Fg(\))390
+1799 y Ft(Equiv)-5 b(alen)m(t)31 b(to)g Fs(rl_bind_keyseq_in_map)p
+Ft(.)3350 2001 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 797 y(rl)p 639 797 V 44 w(command)p 1103
-797 V 44 w(func)p 1331 797 V 45 w(t)f(*function)p Fg(\))390
-907 y Ft(Binds)i Fj(k)m(eyseq)k Ft(to)d Fj(function)f
+(eyseq,)565 2111 y(rl)p 639 2111 V 44 w(command)p 1103
+2111 V 44 w(func)p 1331 2111 V 45 w(t)f(*function)p Fg(\))390
+2220 y Ft(Binds)i Fj(k)m(eyseq)k Ft(to)d Fj(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 1016 y(Returns)29 b(non-zero)i(in)f(the)h
+(activ)m(e)j(k)m(eymap.)390 2330 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 Fj(k)m(eyseq)j
Ft(or)c(if)g Fj(k)m(eyseq)k Ft(is)c(already)h(b)s(ound.)3350
-1186 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_bind_keyseq_if_unb)q
+2532 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
-1296 y(rl)p 639 1296 V 44 w(command)p 1103 1296 V 44
-w(func)p 1331 1296 V 45 w(t)f(*function,)h(Keymap)g(map)p
-Fg(\))390 1405 y Ft(Binds)d Fj(k)m(eyseq)k Ft(to)e Fj(function)f
+2642 y(rl)p 639 2642 V 44 w(command)p 1103 2642 V 44
+w(func)p 1331 2642 V 45 w(t)f(*function,)h(Keymap)g(map)p
+Fg(\))390 2751 y Ft(Binds)d Fj(k)m(eyseq)k Ft(to)e Fj(function)f
Ft(if)g(it)g(is)g(not)g(already)h(b)s(ound)d(in)h Fj(map)p
-Ft(.)46 b(Returns)31 b(non-zero)h(in)g(the)390 1515 y(case)f(of)g(an)f
+Ft(.)46 b(Returns)31 b(non-zero)h(in)g(the)390 2861 y(case)f(of)g(an)f
(in)m(v)-5 b(alid)31 b Fj(k)m(eyseq)j Ft(or)c(if)g Fj(k)m(eyseq)k
-Ft(is)c(already)h(b)s(ound.)3350 1684 y([F)-8 b(unction])-3599
+Ft(is)c(already)h(b)s(ound.)3350 3063 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
-1794 y(Keymap)g(map)p Fg(\))390 1904 y Ft(Bind)27 b(the)g(k)m(ey)h
+3173 y(Keymap)g(map)p Fg(\))390 3282 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 Fj(k)m(eyseq)j
Ft(to)e(the)f(arbitrary)g(p)s(oin)m(ter)g Fj(data)p Ft(.)390
-2013 y Fj(t)m(yp)s(e)34 b Ft(sa)m(ys)29 b(what)f(kind)g(of)g(data)h(is)
+3392 y Fj(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 Fj(data)p Ft(;)h(this)e(can)h(b)s(e)f(a)
-g(function)g(\()p Fs(ISFUNC)p Ft(\),)h(a)390 2123 y(macro)h(\()p
+g(function)g(\()p Fs(ISFUNC)p Ft(\),)h(a)390 3502 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 2232 y(initial)32 b(k)m(eymap)e(in)h(whic)m(h)f(to)h
-(do)f(bindings)f(is)i Fj(map)p Ft(.)3350 2402 y([F)-8
+b(.)41 b(The)390 3611 y(initial)32 b(k)m(eymap)e(in)h(whic)m(h)f(to)h
+(do)f(bindings)f(is)i Fj(map)p Ft(.)3350 3813 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 2512 y Ft(P)m(arse)c
+Ff(c)m(har)34 b(*line)p Fg(\))390 3923 y Ft(P)m(arse)c
Fj(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 2621 y(and)g(v)-5 b(ariable)31 b(assignmen)m(ts)g(found)e(\(see)i
+390 4033 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
-2791 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_read_init_file)e
+4235 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
-2900 y Ft(Read)e(k)m(eybindings)f(and)g(v)-5 b(ariable)32
+4344 y Ft(Read)e(k)m(eybindings)f(and)g(v)-5 b(ariable)32
b(assignmen)m(ts)g(from)f Fj(\014lename)37 b Ft(\(see)32
-b(Section)g(1.3)h([Readline)390 3010 y(Init)d(File],)i(page)f(4\).)150
-3199 y Fi(2.4.4)63 b(Asso)s(ciating)41 b(F)-10 b(unction)42
-b(Names)f(and)g(Bindings)150 3346 y Ft(These)30 b(functions)g(allo)m(w)
+b(Section)g(1.3)h([Readline)390 4454 y(Init)d(File],)i(page)f(4\).)150
+4662 y Fi(2.4.4)63 b(Asso)s(ciating)41 b(F)-10 b(unction)42
+b(Names)f(and)g(Bindings)150 4809 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 3456 y(in)m(v)m(ok)m(ed)
+(named)e(functions)g(and)f(the)h(functions)150 4919 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 3566 y(arbitrary)j(function.)3350 3735
+(with)f(an)150 5028 y(arbitrary)j(function.)3350 5230
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 3845 y Ft(Return)c(the)g(function)g(with)g(name)h
-Fj(name)p Ft(.)3350 4014 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 4124 y(*k)m(eyseq,)f(Keymap)g(map,)g(in)m(t)h
-(*t)m(yp)s(e)p Fg(\))390 4234 y Ft(Return)e(the)g(function)h(in)m(v)m
-(ok)m(ed)h(b)m(y)e Fj(k)m(eyseq)k Ft(in)c(k)m(eymap)h
-Fj(map)p Ft(.)47 b(If)32 b Fj(map)j Ft(is)d Fs(NULL)p
-Ft(,)g(the)h(curren)m(t)390 4343 y(k)m(eymap)k(is)g(used.)60
-b(If)37 b Fj(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 4453 y Ft(v)-5 b(ariable)31 b(it)g(p)s(oin)m(ts)
-f(to)h(\(one)g(of)g Fs(ISFUNC)p Ft(,)e Fs(ISKMAP)p Ft(,)g(or)h
-Fs(ISMACR)p Ft(\).)3350 4622 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 4732 y(*k)m(eyseq,)f(size)p
-1121 4732 V 44 w(t)g(len)g(Keymap)h(map,)f(in)m(t)g(*t)m(yp)s(e)p
-Fg(\))390 4842 y Ft(Return)g(the)h(function)f(in)m(v)m(ok)m(ed)i(b)m(y)
-f Fj(k)m(eyseq)i Ft(of)e(length)g Fj(len)g Ft(in)f(k)m(eymap)h
-Fj(map)p Ft(.)51 b(Equiv)-5 b(alen)m(t)34 b(to)390 4951
-y Fs(rl_function_of_keyseq)25 b Ft(with)30 b(the)g(addition)h(of)f(the)
-h Fj(len)f Ft(parameter.)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 Fj(function)e Ft(in)390 5340
-y(the)g(curren)m(t)f(k)m(eymap.)p eop end
+Fg(\))390 5340 y Ft(Return)c(the)g(function)g(with)g(name)h
+Fj(name)p Ft(.)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)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
+299 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
+408 y(*k)m(eyseq,)f(Keymap)g(map,)g(in)m(t)h(*t)m(yp)s(e)p
+Fg(\))390 518 y Ft(Return)e(the)g(function)h(in)m(v)m(ok)m(ed)h(b)m(y)e
+Fj(k)m(eyseq)k Ft(in)c(k)m(eymap)h Fj(map)p Ft(.)47 b(If)32
+b Fj(map)j Ft(is)d Fs(NULL)p Ft(,)g(the)h(curren)m(t)390
+628 y(k)m(eymap)k(is)g(used.)60 b(If)37 b Fj(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 737
+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 847 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
+1039 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 1149 y(*k)m(eyseq,)f(size)p 1121 1149 30
+5 v 44 w(t)g(len,)g(Keymap)h(map,)f(in)m(t)g(*t)m(yp)s(e)p
+Fg(\))390 1258 y Ft(Return)20 b(the)h(function)g(in)m(v)m(ok)m(ed)i(b)m
+(y)e Fj(k)m(eyseq)j Ft(of)d(length)g Fj(len)h Ft(in)e(k)m(eymap)i
+Fj(map)p Ft(.)37 b(Equiv)-5 b(alen)m(t)22 b(to)g Fs(rl_)390
+1368 y(function_of_keyseq)g Ft(with)28 b(the)f(addition)h(of)f(the)h
+Fj(len)f Ft(parameter.)41 b(It)27 b(tak)m(es)i(a)f Fs(")p
+Ft(translated)p Fs(")390 1477 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 1670 y([F)-8 b(unction])-3599 b Fh(char)54 b(**)e
+(rl_invoking_keyseqs)g Fg(\()p Ff(rl)p 1717 1670 V 44
+w(command)p 2181 1670 V 44 w(func)p 2409 1670 V 45 w(t)33
+b(*function)p Fg(\))390 1779 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 Fj(function)e Ft(in)390 628 y(the)g(k)m(eymap)f
-Fj(map)p Ft(.)3350 790 y([F)-8 b(unction])-3599 b Fh(void)54
+m(v)m(ok)m(e)h Fj(function)e Ft(in)390 1889 y(the)g(curren)m(t)f(k)m
+(eymap.)3350 2081 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 2081 V 44 w(command)p 2547 2081 V 44 w(func)p 2775
+2081 V 45 w(t)565 2191 y(*function,)34 b(Keymap)g(map)p
+Fg(\))390 2300 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
+Fj(function)e Ft(in)390 2410 y(the)g(k)m(eymap)f Fj(map)p
+Ft(.)3350 2602 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 900 y Ft(Prin)m(t)29 b(the)h(readline)f(function)g(names)g
+Fg(\))390 2712 y Ft(Prin)m(t)29 b(the)h(readline)f(function)g(names)g
(and)g(the)g(k)m(ey)h(sequences)g(curren)m(tly)f(b)s(ound)e(to)j(them)f
-(to)390 1009 y Fs(rl_outstream)p Ft(.)36 b(If)27 b Fj(readable)33
+(to)390 2821 y Fs(rl_outstream)p Ft(.)36 b(If)27 b Fj(readable)33
b Ft(is)28 b(non-zero,)h(the)e(list)i(is)e(formatted)h(in)f(suc)m(h)g
-(a)h(w)m(a)m(y)h(that)f(it)g(can)390 1119 y(b)s(e)i(made)g(part)g(of)h
-(an)f Fs(inputrc)f Ft(\014le)h(and)g(re-read.)3350 1281
+(a)h(w)m(a)m(y)h(that)f(it)g(can)390 2931 y(b)s(e)i(made)g(part)g(of)h
+(an)f Fs(inputrc)f Ft(\014le)h(and)g(re-read.)3350 3123
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 1391 y Ft(Prin)m(t)30
+Fg(\()p Ff(v)m(oid)p Fg(\))390 3233 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 1553 y([F)-8 b(unction])-3599
+Fs(rl_outstream)p Ft(.)3350 3425 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 1663 y Ft(Return)25 b(a)i(NULL)f(terminated)g
+Ff(v)m(oid)p Fg(\))390 3534 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 1772 y(arra)m(y)28
+b(arra)m(y)g(is)g(sorted.)39 b(The)390 3644 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 1882 y(the)j(p)s(oin)m(ters,)f(using)g
+b(but)f(not)390 3754 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
-2044 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 2044
-V 43 w(command)p 2794 2044 V 45 w(func)p 3023 2044 V
-45 w(t)565 2154 y(*function)p Fg(\))390 2264 y Ft(Add)e
+3946 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 3946
+V 43 w(command)p 2794 3946 V 45 w(func)p 3023 3946 V
+45 w(t)565 4055 y(*function)p Fg(\))390 4165 y Ft(Add)e
Fj(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 Fj(function)f Ft(the)390
-2373 y(function)d(to)h(b)s(e)f(called)h(when)f Fj(name)35
-b Ft(is)c(in)m(v)m(ok)m(ed.)150 2558 y Fi(2.4.5)63 b(Allo)m(wing)41
-b(Undoing)150 2705 y Ft(Supp)s(orting)34 b(the)i(undo)e(command)i(is)g
+4275 y(function)d(to)h(b)s(e)f(called)h(when)f Fj(name)35
+b Ft(is)c(in)m(v)m(ok)m(ed.)150 4478 y Fi(2.4.5)63 b(Allo)m(wing)41
+b(Undoing)150 4625 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 2814 y(useful.)k(It)30 b(is)h(certainly)g(easy)g(to)g
+m(h)h(more)150 4734 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 2942 y(If)40 b(y)m(our)h(function)f(simply)g(inserts)h(text)h
+275 4873 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
-3051 y(text\(\))26 b Ft(or)i Fs(rl_delete_text\(\))23
+4982 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 3178 y(If)20 b(y)m(ou)g(do)h(m)m
+m(ou)h(automatically)-8 b(.)275 5121 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 3288
+(com)m(bination)h(of)e(these)h(op)s(erations,)150 5230
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
-3398 y(group\(\))28 b Ft(and)i Fs(rl_end_undo_group\(\))p
-Ft(.)275 3525 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 3630 y Fe(enum)40 b(undo_code)h({)f
-(UNDO_DELETE,)i(UNDO_INSERT,)g(UNDO_BEGIN,)g(UNDO_END)f(};)275
-3757 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
-3866 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 3976 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 4138
-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 4248 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 4358 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 4467 y(result)30
-b(of)h(calls)g(to)g Fs(rl_add_undo\(\))p Ft(.)3350 4630
-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 4739 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 4849 y(b)s(e)h(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 5011 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 5011 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 5121 y(*text)p Fg(\))390 5230 y 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
-Fj(what)r Ft(\).)52 b(The)33 b(a\013ected)j(text)f(runs)d(from)390
-5340 y Fj(start)h Ft(to)e Fj(end)p Ft(,)f(and)g(encompasses)h
-Fj(text)p Ft(.)p eop end
+5340 y(group\(\))28 b Ft(and)i Fs(rl_end_undo_group\(\))p
+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(void)54 b(rl_free_undo_list)c
-Fg(\()p Ff(v)m(oid)p Fg(\))390 408 y Ft(F)-8 b(ree)31
-b(the)g(existing)g(undo)f(list.)3350 608 y([F)-8 b(unction])-3599
-b Fh(int)53 b(rl_do_undo)c Fg(\()p Ff(v)m(oid)p Fg(\))390
-718 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 828 y(if)30 b(something)h(w)m(as)g(undone.)275
-1028 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 1137 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 1247
-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 1447 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 1556 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 Fj(start)i Ft(and)c
-Fj(end)k Ft(as)e(a)f(single)h(undo)e(unit.)70 b(It)40
-b(is)390 1666 y(assumed)30 b(that)h(y)m(ou)f(will)h(subsequen)m(tly)f
-(mo)s(dify)f(that)i(text.)150 1873 y Fi(2.4.6)63 b(Redispla)m(y)3350
-2077 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 2187 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 2297
-y(buffer)p Ft(.)3350 2497 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 2606 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 2716 y(screen)30 b(displa)m(y)h(is)f(correct.)3350
-2916 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 3025 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
-3135 y(outputting)i(a)f(newline.)3350 3335 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 3444 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 Fj(rl)p 3106 3444 28 4 v 40 w(prompt)i
-Ft(already)390 3554 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 3664 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 3773 y(should)29 b(b)s(e)h(used)g
-(after)h(setting)g Fj(rl)p 1590 3773 V 40 w(already)p
-1920 3773 V 41 w(prompted)p Ft(.)3350 3973 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 4083 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
-4283 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 4392 y Ft(Reset)36 b(the)e(displa)m(y)h
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(37)275
+299 y(The)29 b(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 421 y Fe(enum)40 b(undo_code)h({)f(UNDO_DELETE,)i
+(UNDO_INSERT,)g(UNDO_BEGIN,)g(UNDO_END)f(};)275 565 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
+675 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 785 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 989 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 1098 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
+1208 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
+1318 y(result)30 b(of)h(calls)g(to)g Fs(rl_add_undo\(\))p
+Ft(.)3350 1522 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 1631
+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
+1741 y(b)s(e)h(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 1945 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
+1945 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 2055 y(*text)p Fg(\))390 2164 y 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 Fj(what)r
+Ft(\).)52 b(The)33 b(a\013ected)j(text)f(runs)d(from)390
+2274 y Fj(start)h Ft(to)e Fj(end)p Ft(,)f(and)g(encompasses)h
+Fj(text)p Ft(.)3350 2478 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
+2588 y Ft(F)-8 b(ree)31 b(the)g(existing)g(undo)f(list.)3350
+2792 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_do_undo)c
+Fg(\()p Ff(v)m(oid)p Fg(\))390 2902 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
+3011 y(if)30 b(something)h(w)m(as)g(undone.)275 3215
+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 3325 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 3435 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 3639 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
+3748 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 Fj(start)i Ft(and)c Fj(end)k Ft(as)e(a)f(single)h(undo)
+e(unit.)70 b(It)40 b(is)390 3858 y(assumed)30 b(that)h(y)m(ou)f(will)h
+(subsequen)m(tly)f(mo)s(dify)f(that)i(text.)150 4067
+y Fi(2.4.6)63 b(Redispla)m(y)3350 4274 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 4384 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 4493 y(buffer)p Ft(.)3350 4697 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 4807 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 4917
+y(screen)30 b(displa)m(y)h(is)f(correct.)3350 5121 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 5230 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 5340
+y(outputting)i(a)f(newline.)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_on_new_line_with_p)q
+(romp)q(t)f Fg(\()p Ff(v)m(oid)p Fg(\))390 408 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 Fj(rl)p
+3106 408 28 4 v 40 w(prompt)i Ft(already)390 518 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 628
+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 737 y(should)29 b(b)s(e)h(used)g(after)h(setting)g
+Fj(rl)p 1590 737 V 40 w(already)p 1920 737 V 41 w(prompted)p
+Ft(.)3350 920 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
+1029 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 1212
+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 1322 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 4502 y(new)30 b(line.)3350
-4702 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_crlf)48
-b Fg(\()p Ff(v)m(oid)p Fg(\))390 4811 y Ft(Mo)m(v)m(e)32
+(t)g(line)g(starting)g(on)g(a)390 1431 y(new)30 b(line.)3350
+1614 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_crlf)48
+b Fg(\()p Ff(v)m(oid)p Fg(\))390 1724 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 5011 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 5121 y Ft(Displa)m(y)g(c)m
+3350 1906 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 2016 y Ft(Displa)m(y)g(c)m
(haracter)g Fj(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 5230 y(c)m(haracters)27 b(directly)-8 b(,)29
+(meta)390 2125 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 5340 y(This)k(is)g(in)m
+(meta-pre\014xed)f(k)m(ey)g(sequence.)390 2235 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(.)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_message)c
-Fg(\()p Ff(const)34 b(c)m(har)g(*,)k(.)24 b(.)g(.)12
-b Fg(\))390 408 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 518 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
-628 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
-Fj(ec)m(ho)390 737 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 847 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 956 y(function.)3350
-1136 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_clear_message)e
-Fg(\()p Ff(v)m(oid)p Fg(\))390 1245 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 1355 y(prompt)38
+f(their)h(o)m(wn)f(redispla)m(y)-8 b(.)3350 2418 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 2527 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 2637
+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 2746 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 Fj(ec)m(ho)390 2856 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
+2966 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 3075 y(function.)3350 3258 y([F)-8
+b(unction])-3599 b Fh(int)53 b(rl_clear_message)e Fg(\()p
+Ff(v)m(oid)p Fg(\))390 3367 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 3477 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 1464 y(this)30 b(function.)3350 1644 y([F)-8
+b(calling)390 3587 y(this)30 b(function.)3350 3769 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 1753 y Ft(Sa)m(v)m(e)44 b(the)f(lo)s(cal)i
+Ff(v)m(oid)p Fg(\))390 3879 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 1863 y(message)31 b(in)g(the)f(message)i
-(area)f(with)f Fs(rl_message\(\))p Ft(.)3350 2042 y([F)-8
+(displa)m(ying)g(a)g(new)390 3988 y(message)31 b(in)g(the)f(message)i
+(area)f(with)f Fs(rl_message\(\))p Ft(.)3350 4171 y([F)-8
b(unction])-3599 b Fh(void)54 b(rl_restore_prompt)c Fg(\()p
-Ff(v)m(oid)p Fg(\))390 2152 y Ft(Restore)44 b(the)e(lo)s(cal)i
+Ff(v)m(oid)p Fg(\))390 4281 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 2261 y Fs(rl_save_prompt)p
+(most)h(recen)m(t)h(call)g(to)390 4390 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 2371 y(to)37
+m(e)h(the)e(prompt)f(b)s(efore)h(a)h(call)390 4500 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
-2480 y(clear_message)p Ft(.)3350 2660 y([F)-8 b(unction])-3599
+4609 y(clear_message)p Ft(.)3350 4792 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 2769 y Ft(Expand)41 b(an)m(y)j(sp)s(ecial)f(c)m
+b(*prompt)p Fg(\))390 4902 y Ft(Expand)41 b(an)m(y)j(sp)s(ecial)f(c)m
(haracter)h(sequences)f(in)g Fj(prompt)g Ft(and)f(set)i(up)d(the)i(lo)s
-(cal)h(Readline)390 2879 y(prompt)35 b(redispla)m(y)h(v)-5
+(cal)h(Readline)390 5011 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
-2988 y(called)22 b(to)g(expand)f(the)g(primary)f(prompt)g(if)i(the)f
+5121 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
-3098 y(or)25 b Fs(rl_already_prompted)c Ft(v)-5 b(ariable)26
+5230 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 3208 y(on)34 b(the)g(last)g(line)g(of)g
+(visible)f(c)m(haracters)390 5340 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 3317 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 3427 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 3536 y(START_IGNORE)29
-b Ft(and)j Fs(RL_PROMPT_END_IGNORE)26 b Ft(\(declared)33
-b(in)f Fs(readline.h)p Ft(\).)44 b(This)32 b(ma)m(y)h(b)s(e)390
-3646 y(used)d(to)h(em)m(b)s(ed)f(terminal-sp)s(eci\014c)h(escap)s(e)f
-(sequences)h(in)f(prompts.)3350 3825 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 3935 y Ft(Mak)m(e)28 b(Readline)g(use)f Fj(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 4044 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
-4240 y Fi(2.4.7)63 b(Mo)s(difying)43 b(T)-10 b(ext)3350
-4434 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 4543
-y Ft(Insert)d Fj(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 4653 y(acters)g(inserted.)3350 4832
-y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_delete_text)d
+b(ma)m(y)h(indicate)f(that)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)390
+299 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
+408 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
+518 y(START_IGNORE)29 b Ft(and)j Fs(RL_PROMPT_END_IGNORE)26
+b Ft(\(declared)33 b(in)f Fs(readline.h)p Ft(\).)44 b(This)32
+b(ma)m(y)h(b)s(e)390 628 y(used)d(to)h(em)m(b)s(ed)f(terminal-sp)s
+(eci\014c)h(escap)s(e)f(sequences)h(in)f(prompts.)3350
+824 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 934
+y Ft(Mak)m(e)28 b(Readline)g(use)f Fj(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
+1043 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 1249 y Fi(2.4.7)63 b(Mo)s(difying)43
+b(T)-10 b(ext)3350 1452 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 1561 y Ft(Insert)d Fj(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 1671 y(acters)g(inserted.)
+3350 1867 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
-4942 y Ft(Delete)40 b(the)e(text)h(b)s(et)m(w)m(een)f
+1977 y Ft(Delete)40 b(the)e(text)h(b)s(et)m(w)m(een)f
Fj(start)i Ft(and)d Fj(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 5051 y(c)m(haracters)32
-b(deleted.)3350 5230 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 2086 y(c)m(haracters)32
+b(deleted.)3350 2283 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 5340 y Ft(Return)d(a)g(cop)m(y)h(of)g(the)g(text)g(b)s(et)m
+Fg(\))390 2392 y Ft(Return)d(a)g(cop)m(y)h(of)g(the)g(text)g(b)s(et)m
(w)m(een)g Fj(start)i Ft(and)d Fj(end)j Ft(in)d(the)h(curren)m(t)f
-(line.)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_kill_text)c
-Fg(\()p Ff(in)m(t)34 b(start,)e(in)m(t)i(end)p Fg(\))390
-408 y Ft(Cop)m(y)g(the)g(text)i(b)s(et)m(w)m(een)e Fj(start)j
-Ft(and)d Fj(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 518 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 628 y(deleted.)51 b(If)33 b
-Fj(start)j Ft(is)e(less)g(than)f Fj(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
-737 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 931 y([F)-8 b(unction])-3599
+(line.)3350 2589 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 2698 y Ft(Cop)m(y)g(the)g(text)i(b)s(et)m(w)m(een)e
+Fj(start)j Ft(and)d Fj(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 2808 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 2918 y(deleted.)51
+b(If)33 b Fj(start)j Ft(is)e(less)g(than)f Fj(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 3027 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 3224 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 1040 y Ft(Cause)28 b Fj(macro)33
+b(*macro)p Fg(\))390 3333 y Ft(Cause)28 b Fj(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 1150 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 1354 y Fi(2.4.8)63
-b(Character)39 b(Input)3350 1555 y Ft([F)-8 b(unction])-3599
+390 3443 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 3648 y Fi(2.4.8)63
+b(Character)39 b(Input)3350 3851 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
-1665 y Ft(Return)29 b(the)g(next)h(c)m(haracter)h(a)m(v)-5
+3961 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 1775 y(dles)e(input)g(inserted)g(in)m(to)i(the)e
-(input)g(stream)h(via)g Fj(rl)p 2226 1775 28 4 v 40 w(p)s(ending)p
-2583 1775 V 38 w(input)h Ft(\(see)f(Section)h(2.3)f([Read-)390
-1884 y(line)40 b(V)-8 b(ariables],)43 b(page)d(27\))g(and)f
+b(This)28 b(han-)390 4070 y(dles)e(input)g(inserted)g(in)m(to)i(the)e
+(input)g(stream)h(via)g Fj(rl)p 2226 4070 28 4 v 40 w(p)s(ending)p
+2583 4070 V 38 w(input)h Ft(\(see)f(Section)h(2.3)f([Read-)390
+4180 y(line)40 b(V)-8 b(ariables],)43 b(page)d(27\))g(and)f
Fs(rl_stuff_char\(\))p Ft(,)f(macros,)k(and)d(c)m(haracters)h(read)f
-(from)390 1994 y(the)34 b(k)m(eyb)s(oard.)52 b(While)35
+(from)390 4289 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 2103 y(to)d(the)g Fs(rl_event_hook)26
-b Ft(v)-5 b(ariable.)3350 2297 y([F)d(unction])-3599
+(function)g(assigned)390 4399 y(to)d(the)g Fs(rl_event_hook)26
+b Ft(v)-5 b(ariable.)3350 4596 y([F)d(unction])-3599
b Fh(int)53 b(rl_getc)48 b Fg(\()p Ff(FILE)33 b(*stream)p
-Fg(\))390 2407 y Ft(Return)20 b(the)i(next)f(c)m(haracter)i(a)m(v)-5
+Fg(\))390 4705 y Ft(Return)20 b(the)i(next)f(c)m(haracter)i(a)m(v)-5
b(ailable)24 b(from)c Fj(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 2600 y([F)-8 b(unction])-3599
+(b)s(e)e(the)i(k)m(eyb)s(oard.)3350 4902 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 2710 y Ft(Insert)f Fj(c)39 b Ft(in)m(to)34
+Fg(\))390 5011 y Ft(Insert)f Fj(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
-2819 y(to)27 b(read)g(c)m(haracters)h(from)f(the)g(terminal)g(with)f
+5121 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 2929 y(b)s(e)i(pushed)f(bac)m(k.)42 b Fs(rl_stuff_char)27
+(y)390 5230 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 3039 y(0)g(otherwise.)3350 3232 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 3342 y Ft(Mak)m(e)j Fj(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 3451
-y(sets)31 b Fj(rl)p 635 3451 V 40 w(p)s(ending)p 992
-3451 V 38 w(input)p Ft(.)3350 3645 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 3755 y Ft(Unset)42 b Fj(rl)p 729 3755 V 40
-w(p)s(ending)p 1086 3755 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 3864 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 3974 y(with)30 b Fs(rl_read_key\(\))p
-Ft(.)3350 4167 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 4277 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 Fj(u)g Ft(mi-)390 4387 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 Fj(u)30 b Ft(m)m(ust)390
-4496 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 4606 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.)150
-4810 y Fi(2.4.9)63 b(T)-10 b(erminal)41 b(Managemen)m(t)3350
-5011 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 5011 30 5 v 44 w(\015ag)p
-Fg(\))390 5121 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 5230 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 Fj(meta)p 2376 5230 28 4 v 41 w(\015ag)39
-b Ft(argumen)m(t)31 b(should)f(b)s(e)g(non-zero)390 5340
-y(if)g(Readline)h(should)f(read)g(eigh)m(t-bit)i(input.)p
-eop end
+(inserted;)390 5340 y(0)g(otherwise.)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(void)54 b(rl_deprep_terminal)c
-Fg(\()p Ff(v)m(oid)p Fg(\))390 408 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 518 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 694 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 804 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 914 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 Fj(kmap)p Ft(.)3350 1090 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 1200 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 1309 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
-1419 y Fj(kmap)p Ft(.)3350 1595 y([F)-8 b(unction])-3599
+299 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 408 y Ft(Mak)m(e)j
+Fj(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
+518 y(sets)31 b Fj(rl)p 635 518 28 4 v 40 w(p)s(ending)p
+992 518 V 38 w(input)p Ft(.)3350 680 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 789 y Ft(Unset)42 b Fj(rl)p 729 789 V 40 w(p)s(ending)p
+1086 789 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
+899 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
+1008 y(with)30 b Fs(rl_read_key\(\))p Ft(.)3350 1170
+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 1280
+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
+Fj(u)g Ft(mi-)390 1389 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 Fj(u)30 b Ft(m)m(ust)390 1499 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 1608
+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.)150 1793 y Fi(2.4.9)63 b(T)-10 b(erminal)41 b(Managemen)m(t)
+3350 1974 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 1974 30 5 v 44 w(\015ag)p
+Fg(\))390 2084 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 2193 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 Fj(meta)p 2376 2193 28 4 v 41 w(\015ag)39
+b Ft(argumen)m(t)31 b(should)f(b)s(e)g(non-zero)390 2303
+y(if)g(Readline)h(should)f(read)g(eigh)m(t-bit)i(input.)3350
+2465 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_deprep_terminal)c
+Fg(\()p Ff(v)m(oid)p Fg(\))390 2574 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
+2684 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 2845 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 2955 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 3065 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 Fj(kmap)p Ft(.)3350
+3226 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 3336
+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 3445 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 3555 y Fj(kmap)p Ft(.)3350 3717 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 1705 y Ft(Set)48 b(Readline's)g(idea)g(of)g
+b(v)-6 b(alue)p Fg(\))390 3826 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 1814 y(\()p Fj(rl)p 492 1814 28
-4 v 40 w(outstream)p Ft(\).)j(If)32 b Fj(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
-Fj(rl)p 3115 1814 V 40 w(outstream)p Ft(;)i(an)m(y)390
-1924 y(other)43 b(v)-5 b(alue)43 b(enables)h(output.)77
+(output)h(stream)390 3936 y(\()p Fj(rl)p 492 3936 V 40
+w(outstream)p Ft(\).)j(If)32 b Fj(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
+Fj(rl)p 3115 3936 V 40 w(outstream)p Ft(;)i(an)m(y)390
+4045 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 2033 y(terminal)31 b(settings.)42
+(initializes)h(the)390 4155 y(terminal)31 b(settings.)42
b(This)29 b(function)h(returns)f(the)i(previous)f(v)-5
-b(alue.)3350 2210 y([F)d(unction])-3599 b Fh(int)53 b
+b(alue.)3350 4317 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 2210 30 5 v 43 w(name)p Fg(\))390 2319 y Ft(Reinitialize)26
+2232 4317 30 5 v 43 w(name)p Fg(\))390 4426 y Ft(Reinitialize)26
b(Readline's)f(idea)f(of)g(the)g(terminal)h(settings)f(using)g
-Fj(terminal)p 2977 2319 28 4 v 40 w(name)29 b Ft(as)24
-b(the)g(termi-)390 2429 y(nal)32 b(t)m(yp)s(e)g(\(e.g.,)i
-Fs(vt100)p Ft(\).)44 b(If)31 b Fj(terminal)p 1753 2429
+Fj(terminal)p 2977 4426 28 4 v 40 w(name)29 b Ft(as)24
+b(the)g(termi-)390 4536 y(nal)32 b(t)m(yp)s(e)g(\(e.g.,)i
+Fs(vt100)p Ft(\).)44 b(If)31 b Fj(terminal)p 1753 4536
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
-2539 y(v)-5 b(ariable)31 b(is)g(used.)150 2732 y Fi(2.4.10)63
-b(Utilit)m(y)40 b(F)-10 b(unctions)3350 2924 y Ft([F)i(unction])-3599
+4645 y(v)-5 b(ariable)31 b(is)g(used.)150 4830 y Fi(2.4.10)63
+b(Utilit)m(y)40 b(F)-10 b(unctions)3350 5011 y Ft([F)i(unction])-3599
b Fh(int)53 b(rl_save_state)d Fg(\()p Ff(struct)34 b(readline)p
-1759 2924 30 5 v 44 w(state)f(*sp)p Fg(\))390 3034 y
+1759 5011 30 5 v 44 w(state)f(*sp)p Fg(\))390 5121 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 Fj(sp)p Ft(.)40 b(The)28 b(con)m(ten)m(ts)i(of)e(the)h
-Fj(readline)p 3518 3034 28 4 v 40 w(state)390 3143 y
+Fj(readline)p 3518 5121 28 4 v 40 w(state)390 5230 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 3253 y(structure.)3350 3429 y([F)-8 b(unction])-3599
-b Fh(int)53 b(rl_restore_state)e Fg(\()p Ff(struct)34
-b(readline)p 1916 3429 30 5 v 44 w(state)f(*sp)p Fg(\))390
-3539 y Ft(Restore)23 b(Readline's)g(in)m(ternal)g(state)g(to)g(that)g
-(stored)f(in)g Fj(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 3648 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
-Fj(readline)p 2470 3648 28 4 v 41 w(state)35 b Ft(structure)29
-b(are)g(do)s(cumen)m(ted)390 3758 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 3934 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
-4044 y Ft(Deallo)s(cate)25 b(the)c(memory)g(p)s(oin)m(ted)g(to)h(b)m(y)
-f Fj(mem)p Ft(.)38 b Fj(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 4220 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
-4220 30 5 v 44 w(undo)p Fg(\))390 4330 y Ft(Replace)41
-b(the)e(con)m(ten)m(ts)i(of)f Fs(rl_line_buffer)35 b
-Ft(with)k Fj(text)p Ft(.)69 b(The)39 b(p)s(oin)m(t)h(and)e(mark)h(are)h
-(pre-)390 4439 y(serv)m(ed,)27 b(if)e(p)s(ossible.)39
-b(If)25 b Fj(clear)p 1422 4439 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
-4549 y(line)31 b(is)f(cleared.)3350 4725 y([F)-8 b(unction])-3599
+(the)390 5340 y(structure.)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_restore_state)e
+Fg(\()p Ff(struct)34 b(readline)p 1916 299 30 5 v 44
+w(state)f(*sp)p Fg(\))390 408 y Ft(Restore)23 b(Readline's)g(in)m
+(ternal)g(state)g(to)g(that)g(stored)f(in)g Fj(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
+518 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 Fj(readline)p 2470 518
+28 4 v 41 w(state)35 b Ft(structure)29 b(are)g(do)s(cumen)m(ted)390
+628 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 810
+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 920 y Ft(Deallo)s(cate)25
+b(the)c(memory)g(p)s(oin)m(ted)g(to)h(b)m(y)f Fj(mem)p
+Ft(.)38 b Fj(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 1103 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 1103 30 5
+v 44 w(undo)p Fg(\))390 1212 y Ft(Replace)41 b(the)e(con)m(ten)m(ts)i
+(of)f Fs(rl_line_buffer)35 b Ft(with)k Fj(text)p Ft(.)69
+b(The)39 b(p)s(oin)m(t)h(and)e(mark)h(are)h(pre-)390
+1322 y(serv)m(ed,)27 b(if)e(p)s(ossible.)39 b(If)25 b
+Fj(clear)p 1422 1322 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
+1431 y(line)31 b(is)f(cleared.)3350 1614 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 4835 y Ft(Ensure)29 b(that)h Fs(rl_line_buffer)d
+b(len)p Fg(\))390 1724 y Ft(Ensure)29 b(that)h Fs(rl_line_buffer)d
Ft(has)j(enough)f(space)i(to)g(hold)f Fj(len)g Ft(c)m(haracters,)i(p)s
-(ossibly)d(real-)390 4944 y(lo)s(cating)j(it)f(if)f(necessary)-8
-b(.)3350 5121 y([F)g(unction])-3599 b Fh(int)53 b(rl_initialize)d
-Fg(\()p Ff(v)m(oid)p Fg(\))390 5230 y Ft(Initialize)39
+(ossibly)d(real-)390 1833 y(lo)s(cating)j(it)f(if)f(necessary)-8
+b(.)3350 2016 y([F)g(unction])-3599 b Fh(int)53 b(rl_initialize)d
+Fg(\()p Ff(v)m(oid)p Fg(\))390 2125 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
-5340 y(this;)31 b Fs(readline\(\))c Ft(calls)32 b(it)f(b)s(efore)f
-(reading)g(an)m(y)h(input.)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_ding)48
-b Fg(\()p Ff(v)m(oid)p Fg(\))390 408 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 598 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 708 y Ft(Return)d(1)g(if)h
+2235 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 2418 y([F)-8 b(unction])-3599
+b Fh(int)53 b(rl_ding)48 b Fg(\()p Ff(v)m(oid)p Fg(\))390
+2527 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 2710 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 2819 y Ft(Return)d(1)g(if)h
Fj(c)36 b Ft(is)30 b(an)h(alphab)s(etic)g(c)m(haracter.)3350
-898 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_display_match_list)d
+3002 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 1008 y Ft(A)i(con)m(v)m(enience)h(function)e(for)g(displa)m
+Fg(\))390 3112 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 1117 y(line's)g(output)f(stream.)51 b Fs(matches)31
+390 3221 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 1227 y(completion)26 b(matc)m(hes.)39
+(as)h(a)g(list)g(of)390 3331 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
-1336 y(the)h(longest)i(string)e(in)g Fs(matches)p Ft(.)37
+3440 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 1446 y(horizontally)33 b Ft(to)k(select)h(ho)m
+(print-completions-)390 3550 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 1556 y(Init)30 b(File)h(Syn)m(tax],)g(page)g
+(1.3.1)h([Readline)390 3660 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 1665 y(b)s(er)23 b(of)g(columns)g(used)g(for)
+(sets)g(the)g(n)m(um-)390 3769 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
-1775 y(of)31 b(the)f(en)m(vironmen)m(t)h(v)-5 b(ariable)31
+3879 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 1965 y(The)g(follo)m(wing)j(are)e(implemen)m(ted)h(as)f(macros,)h
+275 4061 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 2074 y(refrain)d(from)g(using)g(them.)3350
-2264 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 2374 y Ft(Return)c(1)g(if)h
+b(should)150 4171 y(refrain)d(from)g(using)g(them.)3350
+4354 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 4463 y Ft(Return)c(1)g(if)h
Fj(c)36 b Ft(is)30 b(an)h(upp)s(ercase)e(alphab)s(etic)i(c)m(haracter.)
-3350 2564 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 2673 y Ft(Return)c(1)g(if)h
+3350 4646 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 4756 y Ft(Return)c(1)g(if)h
Fj(c)36 b Ft(is)30 b(a)h(lo)m(w)m(ercase)i(alphab)s(etic)e(c)m
-(haracter.)3350 2863 y([F)-8 b(unction])-3599 b Fh(int)53
+(haracter.)3350 4938 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
-2973 y Ft(Return)c(1)g(if)h Fj(c)36 b Ft(is)30 b(a)h(n)m(umeric)f(c)m
-(haracter.)3350 3163 y([F)-8 b(unction])-3599 b Fh(int)53
+5048 y Ft(Return)c(1)g(if)h Fj(c)36 b Ft(is)30 b(a)h(n)m(umeric)f(c)m
+(haracter.)3350 5230 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
-3273 y Ft(If)23 b Fj(c)30 b Ft(is)24 b(a)g(lo)m(w)m(ercase)i(alphab)s
+5340 y Ft(If)23 b Fj(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 3462 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 3572 y Ft(If)28 b Fj(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 3682 y(ter.)3350 3872 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 3981 y Ft(If)c Fj(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 4183 y Fi(2.4.11)63
-b(Miscellaneous)42 b(F)-10 b(unctions)3350 4383 y Ft([F)i(unction])
+h(c)m(haracter.)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_to_lower)c
+Fg(\()p Ff(in)m(t)34 b(c)p Fg(\))390 408 y Ft(If)28 b
+Fj(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
+518 y(ter.)3350 712 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
+821 y Ft(If)c Fj(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 1025 y Fi(2.4.11)63
+b(Miscellaneous)42 b(F)-10 b(unctions)3350 1227 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
-4492 y(Keymap)g(map)p Fg(\))390 4602 y Ft(Bind)23 b(the)g(k)m(ey)h
+1336 y(Keymap)g(map)p Fg(\))390 1446 y Ft(Bind)23 b(the)g(k)m(ey)h
(sequence)g Fj(k)m(eyseq)i Ft(to)e(in)m(v)m(ok)m(e)h(the)f(macro)f
Fj(macro)p Ft(.)39 b(The)23 b(binding)f(is)i(p)s(erformed)d(in)390
-4712 y Fj(map)p Ft(.)39 b(When)28 b Fj(k)m(eyseq)i Ft(is)e(in)m(v)m(ok)
+1556 y Fj(map)p Ft(.)39 b(When)28 b Fj(k)m(eyseq)i Ft(is)e(in)m(v)m(ok)
m(ed,)i(the)d Fj(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 4821 y(is)k(deprecated;)i(use)
-e Fs(rl_generic_bind\(\))25 b Ft(instead.)3350 5011 y([F)-8
+(the)e(line.)41 b(This)26 b(function)390 1665 y(is)k(deprecated;)i(use)
+e Fs(rl_generic_bind\(\))25 b Ft(instead.)3350 1859 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 5121 y Ft(Prin)m(t)27
+Ff(in)m(t)33 b(readable)p Fg(\))390 1968 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
-5230 y(to)32 b Fs(rl_outstream)p Ft(.)40 b(If)31 b Fj(readable)36
+2078 y(to)32 b Fs(rl_outstream)p Ft(.)40 b(If)31 b Fj(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 5340 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.)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_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 408 y Ft(Mak)m(e)31 b(the)e(Readline)g(v)-5
+(w)m(a)m(y)i(that)e(it)390 2188 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 2381 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 2491 y Ft(Mak)m(e)31 b(the)e(Readline)g(v)-5
b(ariable)30 b Fj(v)-5 b(ariable)35 b Ft(ha)m(v)m(e)30
b Fj(v)-5 b(alue)p Ft(.)41 b(This)28 b(b)s(eha)m(v)m(es)h(as)h(if)f
-(the)g(readline)g(com-)390 518 y(mand)h(`)p Fs(set)g
+(the)g(readline)g(com-)390 2600 y(mand)h(`)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
-628 y([Readline)g(Init)f(File)i(Syn)m(tax],)f(page)g(4\).)3350
-813 y([F)-8 b(unction])-3599 b Fh(char)54 b(*)e(rl_variable_value)f
+2710 y([Readline)g(Init)f(File)i(Syn)m(tax],)f(page)g(4\).)3350
+2904 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
-923 y Ft(Return)28 b(a)i(string)f(represen)m(ting)h(the)f(v)-5
+3013 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
Fj(v)-5 b(ariable)p Ft(.)41 b(F)-8 b(or)30 b(b)s(o)s(olean)390
-1032 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 1217 y([F)-8
+3123 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 3317 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 1327 y Ft(Prin)m(t)29
+Fg(\()p Ff(in)m(t)34 b(readable)p Fg(\))390 3426 y Ft(Prin)m(t)29
b(the)f(readline)h(v)-5 b(ariable)30 b(names)e(and)g(their)h(curren)m
(t)f(v)-5 b(alues)29 b(to)h Fs(rl_outstream)p Ft(.)37
-b(If)28 b Fj(read-)390 1437 y(able)40 b Ft(is)34 b(non-zero,)i(the)e
+b(If)28 b Fj(read-)390 3536 y(able)40 b Ft(is)34 b(non-zero,)i(the)e
(list)g(is)g(formatted)h(in)f(suc)m(h)g(a)g(w)m(a)m(y)h(that)g(it)f
-(can)g(b)s(e)g(made)g(part)g(of)g(an)390 1546 y Fs(inputrc)28
-b Ft(\014le)j(and)f(re-read.)3350 1732 y([F)-8 b(unction])-3599
+(can)g(b)s(e)g(made)g(part)g(of)g(an)390 3645 y Fs(inputrc)28
+b Ft(\014le)j(and)f(re-read.)3350 3839 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 1841 y Ft(Set)25 b(the)h(time)f(in)m(terv)
+Ff(in)m(t)33 b(u)p Fg(\))390 3949 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 1951 y(c)m(haracter)32
+e(sho)m(wing)i(a)f(balancing)390 4058 y(c)m(haracter)32
b(when)d Fs(blink-matching-paren)c Ft(has)30 b(b)s(een)g(enabled.)3350
-2136 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 2246
+4252 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 4361
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 Fj(cap)p Ft(.)40 b(Readline)27
-b(fetc)m(hes)h(the)g(termcap)390 2355 y(en)m(try)34 b(for)f(the)h
+b(fetc)m(hes)h(the)g(termcap)390 4471 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 2465 y(screen)21 b(line)h(and)e(p)s
+f(mo)m(v)m(e)h(around)e(the)390 4581 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 2574 y(do)s(es)d(not)g(use)g
+(erasing)g(a)f(line.)38 b(Readline)390 4690 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 2684 y(only)30
-b(those)h(capabilities)i(Readline)e(uses.)3350 2869 y([F)-8
+(will)g(return)f(v)-5 b(alues)35 b(for)390 4800 y(only)30
+b(those)h(capabilities)i(Readline)e(uses.)3350 4994 y([F)-8
b(unction])-3599 b Fh(void)54 b(rl_clear_history)c Fg(\()p
-Ff(v)m(oid)p Fg(\))390 2979 y Ft(Clear)27 b(the)h(history)f(list)h(b)m
+Ff(v)m(oid)p Fg(\))390 5103 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 3088 y(library's)42
+(manner)g(as)g(the)g(History)390 5213 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 3198 y(frees)30
+Fs(clear_history)e Ft(b)s(ecause)i(it)390 5322 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.)150 3398 y Fi(2.4.12)63 b(Alternate)40
-b(In)m(terface)150 3545 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
-3654 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 3764 y Fs(select\(\))42 b Ft(on)i(v)-5 b(arious)45
+(history)f(list.)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.12)63 b(Alternate)40 b(In)m(terface)150
+446 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
+555 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 665 y Fs(select\(\))42 b Ft(on)i(v)-5 b(arious)45
b(\014le)f(descriptors.)83 b(T)-8 b(o)45 b(accommo)s(date)h(this)e
-(need,)k(readline)d(can)f(also)i(b)s(e)150 3873 y(in)m(v)m(ok)m(ed)33
+(need,)k(readline)d(can)f(also)i(b)s(e)150 775 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 3983 y(this)e(easy)-8 b(.)3350 4168
+b(to)f(mak)m(e)150 884 y(this)e(easy)-8 b(.)3350 1080
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 4278 y(rl)p
-639 4278 30 5 v 44 w(v)m(cpfunc)p 1016 4278 V 45 w(t)f(*lhandler)p
-Fg(\))390 4388 y Ft(Set)25 b(up)f(the)h(terminal)g(for)f(readline)i
+Fg(\()p Ff(const)34 b(c)m(har)g(*prompt,)565 1190 y(rl)p
+639 1190 30 5 v 44 w(v)m(cpfunc)p 1016 1190 V 45 w(t)f(*lhandler)p
+Fg(\))390 1300 y Ft(Set)25 b(up)f(the)h(terminal)g(for)f(readline)i
(I/O)e(and)g(displa)m(y)h(the)g(initial)h(expanded)e(v)-5
-b(alue)26 b(of)f Fj(prompt)p Ft(.)390 4497 y(Sa)m(v)m(e)34
+b(alue)26 b(of)f Fj(prompt)p Ft(.)390 1409 y(Sa)m(v)m(e)34
b(the)f(v)-5 b(alue)33 b(of)g Fj(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 4607 y(of)h(input)f(has)g(b)s(een)g(en)m(tered.)57
+(line)390 1519 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 4716 y(argumen)m(t.)k(As)29 b(with)f
+(line)g(as)g(an)390 1628 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 4826 y(\014nished)g(with)h
-(it.)3350 5011 y([F)-8 b(unction])-3599 b Fh(void)54
+Fs(free)f Ft(the)h(line)h(when)e(it)i(it)390 1738 y(\014nished)g(with)h
+(it.)3350 1934 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
-5121 y Ft(Whenev)m(er)34 b(an)g(application)h(determines)e(that)i(k)m
+2044 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 5230 y Fs(rl_callback_read_char\(\))p Ft(,)17 b(whic)m(h)22
+390 2153 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)390 5340 y(source.)40 b(If)27 b(that)i(c)m(haracter)g(completes)
+(input)390 2263 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)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)390
-299 y Fj(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 408 y(Before)j(calling)h(the)e Fj(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 518 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
-Fj(lhandler)49 b Ft(function)390 628 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 737 y(Readline's)k(use)f(again.)42
-b Fs(EOF)29 b Ft(is)i(indicated)g(b)m(y)f(calling)i Fj(lhandler)k
-Ft(with)30 b(a)h Fs(NULL)e Ft(line.)3350 931 y([F)-8
-b(unction])-3599 b Fh(void)54 b(rl_callback_sigcleanup)e
-Fg(\()p Ff(v)m(oid)p Fg(\))390 1040 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 1150 y(to)35
-b(rl)p 572 1150 28 4 v 40 w(callbac)m(k)p 928 1150 V
-42 w(read)p 1142 1150 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 1259 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 1369 y(Readline's)f(in)m(ternal)g(signal)g
-(handler)f(calls)h(this)g(when)e(appropriate.)3350 1562
-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 1672 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 1782
-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 Fj(lhandler)31
-b Ft(installed)390 1891 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 2001 y(the)32 b(function)f(referred)f(to)i(b)m(y)g
+b(in)m(v)m(ok)m(e)i(the)390 2373 y Fj(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 2482 y(Before)j(calling)h
+(the)e Fj(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 2592 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 Fj(lhandler)49 b Ft(function)390
+2701 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
+2811 y(Readline's)k(use)f(again.)42 b Fs(EOF)29 b Ft(is)i(indicated)g
+(b)m(y)f(calling)i Fj(lhandler)k Ft(with)30 b(a)h Fs(NULL)e
+Ft(line.)3350 3007 y([F)-8 b(unction])-3599 b Fh(void)54
+b(rl_callback_sigcleanup)e Fg(\()p Ff(v)m(oid)p Fg(\))390
+3117 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 3226 y(to)35 b(rl)p 572 3226 28 4 v
+40 w(callbac)m(k)p 928 3226 V 42 w(read)p 1142 3226 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
+3336 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
+3446 y(Readline's)f(in)m(ternal)g(signal)g(handler)f(calls)h(this)g
+(when)e(appropriate.)3350 3642 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 3751 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 3861 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 Fj(lhandler)31 b Ft(installed)390
+3971 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 4080 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 2110 y(b)s(efore)f(the)h(program)f
+b Ft(should)30 b(b)s(e)h(called)390 4190 y(b)s(efore)f(the)h(program)f
(exits)h(to)g(reset)g(the)f(terminal)h(settings.)150
-2314 y Fi(2.4.13)63 b(A)41 b(Readline)f(Example)150 2461
+4395 y Fi(2.4.13)63 b(A)41 b(Readline)f(Example)150 4542
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 2571 y(upp)s(ercase)d(c)m(haracters)j(to)f
+b(alen)m(ts,)37 b(and)150 4652 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 2680 y(w)m(ould)c(c)m(hange)i(the)f(case)g(of)g(the)g(c)m
+Ft(')150 4761 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
-2790 y(case)e(of)g(the)g(follo)m(wing)g(10)h(c)m(haracters,)g(lea)m
+4871 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
-2929 y Fs(/*)47 b(Invert)f(the)h(case)g(of)g(the)g(COUNT)f(following)g
-(characters.)e(*/)390 3039 y(int)390 3148 y(invert_case_line)f
-(\(count,)j(key\))629 3258 y(int)h(count,)f(key;)390
-3367 y({)485 3477 y(register)g(int)h(start,)f(end,)h(i;)485
-3696 y(start)g(=)g(rl_point;)485 3915 y(if)h(\(rl_point)d(>=)i
-(rl_end\))581 4025 y(return)f(\(0\);)485 4244 y(if)i(\(count)e(<)h(0\))
-581 4354 y({)676 4463 y(direction)f(=)h(-1;)676 4573
-y(count)g(=)g(-count;)581 4682 y(})485 4792 y(else)581
-4902 y(direction)e(=)j(1;)485 5121 y(/*)g(Find)e(the)h(end)g(of)g(the)g
-(range)g(to)g(modify.)f(*/)485 5230 y(end)h(=)h(start)e(+)i(\(count)e
-(*)h(direction\);)p eop end
+5011 y Fs(/*)47 b(Invert)f(the)h(case)g(of)g(the)g(COUNT)f(following)g
+(characters.)e(*/)390 5121 y(int)390 5230 y(invert_case_line)f
+(\(count,)j(key\))629 5340 y(int)h(count,)f(key;)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)485
-299 y Fs(/*)48 b(Force)e(it)h(to)g(be)h(within)e(range.)g(*/)485
-408 y(if)i(\(end)e(>)i(rl_end\))581 518 y(end)f(=)g(rl_end;)485
-628 y(else)g(if)g(\(end)g(<)g(0\))581 737 y(end)g(=)g(0;)485
-956 y(if)h(\(start)e(==)h(end\))581 1066 y(return)f(\(0\);)485
-1285 y(if)i(\(start)e(>)h(end\))581 1395 y({)676 1504
-y(int)g(temp)g(=)g(start;)676 1614 y(start)g(=)g(end;)676
-1724 y(end)g(=)h(temp;)581 1833 y(})485 2052 y(/*)g(Tell)e(readline)g
-(that)g(we)i(are)f(modifying)e(the)i(line,)629 2162 y(so)g(it)g(will)g
-(save)f(the)h(undo)g(information.)d(*/)485 2271 y(rl_modifying)h
-(\(start,)h(end\);)485 2491 y(for)h(\(i)h(=)f(start;)f(i)i(!=)f(end;)f
-(i++\))581 2600 y({)676 2710 y(if)i(\(_rl_uppercase_p)43
-b(\(rl_line_buffer[i]\)\))772 2819 y(rl_line_buffer[i])g(=)k
-(_rl_to_lower)e(\(rl_line_buffer[i]\);)676 2929 y(else)i(if)g
-(\(_rl_lowercase_p)d(\(rl_line_buffer[i]\)\))772 3039
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(44)390
+299 y Fs({)485 408 y(register)46 b(int)h(start,)f(end,)h(i;)485
+628 y(start)g(=)g(rl_point;)485 847 y(if)h(\(rl_point)d(>=)i(rl_end\))
+581 956 y(return)f(\(0\);)485 1176 y(if)i(\(count)e(<)h(0\))581
+1285 y({)676 1395 y(direction)f(=)h(-1;)676 1504 y(count)g(=)g(-count;)
+581 1614 y(})485 1724 y(else)581 1833 y(direction)e(=)j(1;)485
+2052 y(/*)g(Find)e(the)h(end)g(of)g(the)g(range)g(to)g(modify.)f(*/)485
+2162 y(end)h(=)h(start)e(+)i(\(count)e(*)h(direction\);)485
+2381 y(/*)h(Force)e(it)h(to)g(be)h(within)e(range.)g(*/)485
+2491 y(if)i(\(end)e(>)i(rl_end\))581 2600 y(end)f(=)g(rl_end;)485
+2710 y(else)g(if)g(\(end)g(<)g(0\))581 2819 y(end)g(=)g(0;)485
+3039 y(if)h(\(start)e(==)h(end\))581 3148 y(return)f(\(0\);)485
+3367 y(if)i(\(start)e(>)h(end\))581 3477 y({)676 3587
+y(int)g(temp)g(=)g(start;)676 3696 y(start)g(=)g(end;)676
+3806 y(end)g(=)h(temp;)581 3915 y(})485 4134 y(/*)g(Tell)e(readline)g
+(that)g(we)i(are)f(modifying)e(the)i(line,)629 4244 y(so)g(it)g(will)g
+(save)f(the)h(undo)g(information.)d(*/)485 4354 y(rl_modifying)h
+(\(start,)h(end\);)485 4573 y(for)h(\(i)h(=)f(start;)f(i)i(!=)f(end;)f
+(i++\))581 4682 y({)676 4792 y(if)i(\(_rl_uppercase_p)43
+b(\(rl_line_buffer[i]\)\))772 4902 y(rl_line_buffer[i])g(=)k
+(_rl_to_lower)e(\(rl_line_buffer[i]\);)676 5011 y(else)i(if)g
+(\(_rl_lowercase_p)d(\(rl_line_buffer[i]\)\))772 5121
y(rl_line_buffer[i])f(=)k(_rl_to_upper)e(\(rl_line_buffer[i]\);)581
-3148 y(})485 3258 y(/*)j(Move)e(point)h(to)g(on)g(top)g(of)g(the)g
-(last)g(character)e(changed.)g(*/)485 3367 y(rl_point)h(=)h
-(\(direction)e(==)j(1\))f(?)g(end)g(-)h(1)f(:)h(start;)485
-3477 y(return)f(\(0\);)390 3587 y(})150 3819 y Fi(2.4.14)63
-b(Alternate)40 b(In)m(terface)g(Example)150 3966 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 4076 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
-4186 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
-4354 y Fs(/*)47 b(Standard)f(include)g(files.)g(stdio.h)f(is)j
-(required.)d(*/)390 4463 y(#include)h(<stdlib.h>)390
-4573 y(#include)g(<string.h>)390 4682 y(#include)g(<unistd.h>)390
-4792 y(#include)g(<locale.h>)390 5011 y(/*)h(Used)g(for)g(select\(2\))e
-(*/)390 5121 y(#include)h(<sys/types.h>)390 5230 y(#include)g
-(<sys/select.h>)p eop end
+5230 y(})485 5340 y(/*)j(Move)e(point)h(to)g(on)g(top)g(of)g(the)g
+(last)g(character)e(changed.)g(*/)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)390
-299 y Fs(#include)46 b(<signal.h>)390 518 y(#include)g(<stdio.h>)390
-737 y(/*)h(Standard)f(readline)f(include)h(files.)g(*/)390
-847 y(#include)g(<readline/readline.h>)390 956 y(#include)g
-(<readline/history.h>)390 1176 y(static)g(void)h(cb_linehandler)d
-(\(char)i(*\);)390 1285 y(static)g(void)h(sighandler)e(\(int\);)390
-1504 y(int)i(running;)390 1614 y(int)g(sigwinch_received;)390
-1724 y(const)f(char)h(*prompt)f(=)h("rltest$)f(";)390
-1943 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 1963 42 84
-v 533 2052 a(reading)g(a)h(character.)e(*/)390 2162 y(static)h(void)390
-2271 y(sighandler)f(\(int)i(sig\))390 2381 y({)485 2491
-y(sigwinch_received)d(=)j(1;)390 2600 y(})390 2819 y(/*)g(Callback)f
-(function)f(called)h(for)h(each)g(line)g(when)f(accept-line)f
-(executed,)g(EOF)533 2929 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
-3039 y(also)g(call)f(exit\(3\).)g(*/)390 3148 y(static)g(void)390
-3258 y(cb_linehandler)e(\(char)i(*line\))390 3367 y({)485
-3477 y(/*)i(Can)f(use)f(^D)i(\(stty)e(eof\))h(or)g(`exit')f(to)h(exit.)
-f(*/)485 3587 y(if)i(\(line)e(==)h(NULL)g(||)g(strcmp)f(\(line,)g
-("exit"\))g(==)h(0\))581 3696 y({)676 3806 y(if)h(\(line)e(==)h(0\))772
-3915 y(printf)f(\("\\n"\);)676 4025 y(printf)g(\("exit\\n"\);)676
-4134 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 4155 V 820 4244 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 4264 42 76 v 820 4354 a(being)g(displayed.)f(*/)676
-4463 y(rl_callback_handler_remove)c(\(\);)676 4682 y(running)46
-b(=)i(0;)581 4792 y(})485 4902 y(else)581 5011 y({)676
-5121 y(if)g(\(*line\))772 5230 y(add_history)d(\(line\);)676
-5340 y(printf)h(\("input)g(line:)h(\045s\\n",)f(line\);)p
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(45)485
+299 y Fs(rl_point)46 b(=)h(\(direction)e(==)j(1\))f(?)g(end)g(-)h(1)f
+(:)h(start;)485 408 y(return)f(\(0\);)390 518 y(})150
+751 y Fi(2.4.14)63 b(Alternate)40 b(In)m(terface)g(Example)150
+898 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
+1007 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 1117 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 1285 y Fs(/*)47 b(Standard)f(include)g(files.)g(stdio.h)f
+(is)j(required.)d(*/)390 1395 y(#include)h(<stdlib.h>)390
+1504 y(#include)g(<string.h>)390 1614 y(#include)g(<unistd.h>)390
+1724 y(#include)g(<locale.h>)390 1943 y(/*)h(Used)g(for)g(select\(2\))e
+(*/)390 2052 y(#include)h(<sys/types.h>)390 2162 y(#include)g
+(<sys/select.h>)390 2381 y(#include)g(<signal.h>)390
+2600 y(#include)g(<stdio.h>)390 2819 y(/*)h(Standard)f(readline)f
+(include)h(files.)g(*/)390 2929 y(#include)g(<readline/readline.h>)390
+3039 y(#include)g(<readline/history.h>)390 3258 y(static)g(void)h
+(cb_linehandler)d(\(char)i(*\);)390 3367 y(static)g(void)h(sighandler)e
+(\(int\);)390 3587 y(int)i(running;)390 3696 y(int)g
+(sigwinch_received;)390 3806 y(const)f(char)h(*prompt)f(=)h("rltest$)f
+(";)390 4025 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 4045
+42 84 v 533 4134 a(reading)g(a)h(character.)e(*/)390
+4244 y(static)h(void)390 4354 y(sighandler)f(\(int)i(sig\))390
+4463 y({)485 4573 y(sigwinch_received)d(=)j(1;)390 4682
+y(})390 4902 y(/*)g(Callback)f(function)f(called)h(for)h(each)g(line)g
+(when)f(accept-line)f(executed,)g(EOF)533 5011 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 5121 y(also)g(call)f(exit\(3\).)g(*/)390
+5230 y(static)g(void)390 5340 y(cb_linehandler)e(\(char)i(*line\))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)676
-299 y Fs(free)47 b(\(line\);)581 408 y(})390 518 y(})390
-737 y(int)390 847 y(main)g(\(int)f(c,)h(char)g(**v\))390
-956 y({)485 1066 y(fd_set)g(fds;)485 1176 y(int)g(r;)485
-1395 y(/*)h(Set)f(the)f(default)g(locale)g(values)g(according)g(to)h
-(environment)e(variables.)g(*/)p 3874 1415 42 84 v 485
-1504 a(setlocale)h(\(LC_ALL,)f(""\);)485 1724 y(/*)j(Handle)e(window)g
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(46)390
+299 y Fs({)485 408 y(/*)48 b(Can)f(use)f(^D)i(\(stty)e(eof\))h(or)g
+(`exit')f(to)h(exit.)f(*/)485 518 y(if)i(\(line)e(==)h(NULL)g(||)g
+(strcmp)f(\(line,)g("exit"\))g(==)h(0\))581 628 y({)676
+737 y(if)h(\(line)e(==)h(0\))772 847 y(printf)f(\("\\n"\);)676
+956 y(printf)g(\("exit\\n"\);)676 1066 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 1086 42 84 v 820 1176 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
+1196 42 76 v 820 1285 a(being)g(displayed.)f(*/)676 1395
+y(rl_callback_handler_remove)c(\(\);)676 1614 y(running)46
+b(=)i(0;)581 1724 y(})485 1833 y(else)581 1943 y({)676
+2052 y(if)g(\(*line\))772 2162 y(add_history)d(\(line\);)676
+2271 y(printf)h(\("input)g(line:)h(\045s\\n",)f(line\);)676
+2381 y(free)h(\(line\);)581 2491 y(})390 2600 y(})390
+2819 y(int)390 2929 y(main)g(\(int)f(c,)h(char)g(**v\))390
+3039 y({)485 3148 y(fd_set)g(fds;)485 3258 y(int)g(r;)485
+3477 y(/*)h(Set)f(the)f(default)g(locale)g(values)g(according)g(to)h
+(environment)e(variables.)g(*/)p 3874 3497 42 84 v 485
+3587 a(setlocale)h(\(LC_ALL,)f(""\);)485 3806 y(/*)j(Handle)e(window)g
(size)g(changes)g(when)h(readline)e(is)j(not)f(active)f(and)h(reading)
-629 1833 y(characters.)d(*/)485 1943 y(signal)j(\(SIGWINCH,)e
-(sighandler\);)485 2162 y(/*)j(Install)d(the)i(line)g(handler.)f(*/)485
-2271 y(rl_callback_handler_instal)o(l)c(\(prompt,)j(cb_linehandler\);)
-485 2491 y(/*)j(Enter)e(a)h(simple)g(event)f(loop.)94
+629 3915 y(characters.)d(*/)485 4025 y(signal)j(\(SIGWINCH,)e
+(sighandler\);)485 4244 y(/*)j(Install)d(the)i(line)g(handler.)f(*/)485
+4354 y(rl_callback_handler_instal)o(l)c(\(prompt,)j(cb_linehandler\);)
+485 4573 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
-2600 y(to)g(read)f(on)i(readline's)d(input)h(stream)g(\(defaults)f(to)j
-(standard)d(input\))h(and)629 2710 y(calls)g(the)h(builtin)f(character)
+4682 y(to)g(read)f(on)i(readline's)d(input)h(stream)g(\(defaults)f(to)j
+(standard)d(input\))h(and)629 4792 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
-2819 y(have)g(to)h(modify)g(the)f(user's)h(terminal)e(settings.)g(*/)
-485 2929 y(running)h(=)i(1;)485 3039 y(while)f(\(running\))581
-3148 y({)676 3258 y(FD_ZERO)f(\(&fds\);)676 3367 y(FD_SET)g(\(fileno)g
-(\(rl_instream\),)e(&fds\);)676 3587 y(r)k(=)f(select)f(\(FD_SETSIZE,)f
-(&fds,)h(NULL,)h(NULL,)f(NULL\);)676 3696 y(if)i(\(r)f(<)g(0)h(&&)f
-(errno)f(!=)h(EINTR\))772 3806 y({)867 3915 y(perror)f(\("rltest:)g
-(select"\);)867 4025 y(rl_callback_handler_remov)o(e)c(\(\);)867
-4134 y(break;)772 4244 y(})676 4354 y(if)48 b(\(sigwinch_received\))390
-4463 y({)485 4573 y(rl_resize_terminal)43 b(\(\);)485
-4682 y(sigwinch_received)h(=)j(0;)390 4792 y(})676 4902
-y(if)h(\(r)f(<)g(0\))390 5011 y(continue;)676 5230 y(if)h(\(FD_ISSET)d
-(\(fileno)h(\(rl_instream\),)e(&fds\)\))772 5340 y
-(rl_callback_read_char)e(\(\);)p eop end
+4902 y(have)g(to)h(modify)g(the)f(user's)h(terminal)e(settings.)g(*/)
+485 5011 y(running)h(=)i(1;)485 5121 y(while)f(\(running\))581
+5230 y({)676 5340 y(FD_ZERO)f(\(&fds\);)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)581
-299 y Fs(})485 518 y(printf)47 b(\("rltest:)e(Event)h(loop)h(has)g
-(exited\\n"\);)485 628 y(return)g(0;)390 737 y(})150
-1021 y Fr(2.5)68 b(Readline)47 b(Signal)e(Handling)150
-1180 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 1290 y(of)k(another)g(pro)s(cess.)53
-b(They)34 b(are)h(in)m(tended)g(to)g(indicate)h(exceptional)g(ev)m(en)m
-(ts,)i(lik)m(e)e(a)f(user)f(pressing)150 1400 y(the)g(in)m(terrupt)f(k)
-m(ey)h(on)g(his)f(terminal,)i(or)f(a)g(net)m(w)m(ork)g(connection)h(b)s
-(eing)e(brok)m(en.)50 b(There)34 b(is)f(a)h(class)150
-1509 y(of)29 b(signals)g(that)h(can)f(b)s(e)f(sen)m(t)h(to)h(the)f(pro)
-s(cess)f(curren)m(tly)h(reading)g(input)f(from)g(the)h(k)m(eyb)s(oard.)
-40 b(Since)150 1619 y(Readline)45 b(c)m(hanges)g(the)g(terminal)g
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(47)676
+299 y Fs(FD_SET)46 b(\(fileno)g(\(rl_instream\),)e(&fds\);)676
+518 y(r)k(=)f(select)f(\(FD_SETSIZE,)f(&fds,)h(NULL,)h(NULL,)f(NULL\);)
+676 628 y(if)i(\(r)f(<)g(0)h(&&)f(errno)f(!=)h(EINTR\))772
+737 y({)867 847 y(perror)f(\("rltest:)g(select"\);)867
+956 y(rl_callback_handler_remov)o(e)c(\(\);)867 1066
+y(break;)772 1176 y(})676 1285 y(if)48 b(\(sigwinch_received\))390
+1395 y({)485 1504 y(rl_resize_terminal)43 b(\(\);)485
+1614 y(sigwinch_received)h(=)j(0;)390 1724 y(})676 1833
+y(if)h(\(r)f(<)g(0\))390 1943 y(continue;)676 2162 y(if)h(\(FD_ISSET)d
+(\(fileno)h(\(rl_instream\),)e(&fds\)\))772 2271 y
+(rl_callback_read_char)e(\(\);)581 2381 y(})485 2600
+y(printf)47 b(\("rltest:)e(Event)h(loop)h(has)g(exited\\n"\);)485
+2710 y(return)g(0;)390 2819 y(})150 3054 y Fr(2.5)68
+b(Readline)47 b(Signal)e(Handling)150 3214 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
+3323 y(of)k(another)g(pro)s(cess.)53 b(They)34 b(are)h(in)m(tended)g
+(to)g(indicate)h(exceptional)g(ev)m(en)m(ts,)i(lik)m(e)e(a)f(user)f
+(pressing)150 3433 y(the)g(in)m(terrupt)f(k)m(ey)h(on)g(his)f
+(terminal,)i(or)f(a)g(net)m(w)m(ork)g(connection)h(b)s(eing)e(brok)m
+(en.)50 b(There)34 b(is)f(a)h(class)150 3543 y(of)29
+b(signals)g(that)h(can)f(b)s(e)f(sen)m(t)h(to)h(the)f(pro)s(cess)f
+(curren)m(tly)h(reading)g(input)f(from)g(the)h(k)m(eyb)s(oard.)40
+b(Since)150 3652 y(Readline)45 b(c)m(hanges)g(the)g(terminal)g
(attributes)g(when)e(it)i(is)g(called,)k(it)c(needs)f(to)h(p)s(erform)e
-(sp)s(ecial)150 1728 y(pro)s(cessing)27 b(when)g(suc)m(h)g(a)h(signal)g
+(sp)s(ecial)150 3762 y(pro)s(cessing)27 b(when)g(suc)m(h)g(a)h(signal)g
(is)g(receiv)m(ed)h(in)e(order)g(to)h(restore)h(the)e(terminal)h(to)h
-(a)f(sane)f(state,)j(or)150 1838 y(pro)m(vide)g(application)i(writers)e
+(a)f(sane)f(state,)j(or)150 3871 y(pro)m(vide)g(application)i(writers)e
(with)g(functions)g(to)h(do)g(so)f(man)m(ually)-8 b(.)275
-2001 y(Readline)40 b(con)m(tains)i(an)e(in)m(ternal)h(signal)g(handler)
+4003 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
-2111 y(\()p Fs(SIGINT)p Ft(,)e Fs(SIGQUIT)p Ft(,)f Fs(SIGTERM)p
+4112 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 2220 y(one)27 b(of)g(these)g(signals)g(is)g(receiv)m(ed,)i
+b(When)150 4222 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 2330 y(that)33 b(w)m(ere)g(in)f(e\013ect)h(b)s(efore)f
+(to)g(those)150 4332 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 2439 y(b)s(efore)26
+(handling)f(to)h(what)f(it)h(w)m(as)150 4441 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
-2549 y(the)34 b(calling)i(application's)f(signal)g(handler)e(returns,)h
+4551 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
-2659 y(con)m(tin)m(ue)29 b(to)g(accept)h(input.)39 b(When)28
+4660 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 2768 y(some)39 b(additional)h(w)m(ork,)h
+(handler)f(p)s(erforms)150 4770 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 2878 y(description)30
+(b)s(e)e(ab)s(orted)g(\(see)i(the)150 4880 y(description)30
b(of)h Fs(rl_free_line_state\(\))25 b Ft(b)s(elo)m(w\).)275
-3041 y(There)e(is)i(an)f(additional)h(Readline)g(signal)g(handler,)g
+5011 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 3151 y(pro)s(cess)i(whenev)m(er)h(the)g(terminal's)g(size)h(c)m
+(a)150 5121 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 3260 y(Readline)d Fs(SIGWINCH)e
+Fs(xterm)p Ft(\).)39 b(The)150 5230 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 3370 y(calls)g(an)m(y)f
+(information,)g(and)e(then)150 5340 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 3479 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 3589 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
-3699 y(return)28 b(\(for)i(example,)h(a)f Fs(longjmp)d
+(installed.)51 b(Readline)35 b(calls)g(the)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(application's)37 b Fs(SIGWINCH)c Ft(signal)i(handler)g(without)g
+(resetting)h(the)g(terminal)f(to)h(its)g(original)g(state.)150
+408 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
+518 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
-Fk(must)39 b Ft(call)31 b Fs(rl_cleanup_)150 3808 y(after_signal\(\))26
+Fk(must)39 b Ft(call)31 b Fs(rl_cleanup_)150 628 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 3971 y(When)38 b(an)h(application)h(is)f(using)g(the)g
+(state.)275 774 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 4081 y(terface],)48 b(page)c(42\),)j(Readline)c(installs)h
+(In-)150 884 y(terface],)48 b(page)c(43\),)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 4190 y Fs(rl_callback_read_char)p Ft(.)c(Applications)33
+(to)150 994 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 4300 y(clean)d(up)d(Readline's)j(state)g(if)e(they)h(wish)f
+g(to)150 1103 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 4410 y(and)k(restores)h(the)f(terminal)h(state.)275
-4573 y(If)k(an)g(application)i(using)f(the)g(callbac)m(k)h(in)m
+(completes)150 1213 y(and)k(restores)h(the)f(terminal)h(state.)275
+1360 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 4682 y(handlers)22 b(at)h(the)g(time)h(the)e(application)j
+(signal)150 1469 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 4792 y(only)f(when)g(a)g(complete)i(line)f
+b(remo)m(v)m(e)i(them)150 1579 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 4902 y(handlers)c Ft(v)-5
+Fs(rl_persistent_signal_)150 1688 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 5011 y(of)j(the)h(signals)f(Readline)h(catc)m(hes)h(to)f
+(handling)150 1798 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 5121 y(it)d(can)g(result)g(in)f
+b(ariable)27 b(with)f(care;)150 1908 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)150 5230 y(to)36
+(\(or)h(allo)m(wing)i(the)e(application)150 2017 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
-5340 y(an)30 b(application)h(b)s(ecoming)f(less)g(resp)s(onsiv)m(e)f
+2127 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)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(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 408 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 545 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
-655 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 764 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 874 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 1062 y([V)-8 b(ariable])-3598 b Fh(int)53
-b(rl_catch_signals)390 1172 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
-1282 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 1418 y(The)g(default)g(v)-5 b(alue)31
-b(of)g Fs(rl_catch_signals)26 b Ft(is)k(1.)3371 1607
-y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_catch_sigwinch)390
-1716 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 1826 y Fs(SIGWINCH)p Ft(.)390 1963
-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 2151 y([V)-8 b(ariable])-3598 b
-Fh(int)53 b(rl_persistent_signal_)q(hand)q(ler)q(s)390
-2261 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
-2370 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 2480 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 2617 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 2805 y([V)-8 b(ariable])-3598 b Fh(int)53 b
-(rl_change_environment)390 2915 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
-3024 y(line)h(will)h(mo)s(dify)e(the)h Fj(LINES)35 b
-Ft(and)29 b Fj(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 3134 y
-Fs(SIGWINCH)390 3271 y Ft(The)f(default)g(v)-5 b(alue)31
-b(of)g Fs(rl_change_environment)24 b Ft(is)31 b(1.)275
-3459 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 3569 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 3678 y(functions)30 b(to)h(do)f(the)h(necessary)g
+(application)150 2236 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 2346 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
+2493 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 2602 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 2712 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 2821 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
+3030 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_catch_signals)390
+3140 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 3249 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 3396
+y(The)g(default)g(v)-5 b(alue)31 b(of)g Fs(rl_catch_signals)26
+b Ft(is)k(1.)3371 3605 y([V)-8 b(ariable])-3598 b Fh(int)53
+b(rl_catch_sigwinch)390 3715 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
+3824 y Fs(SIGWINCH)p Ft(.)390 3971 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
+4180 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_persistent_signal_)q
+(hand)q(ler)q(s)390 4290 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 4399 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 4509 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 4656 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 4864 y([V)-8 b(ariable])-3598
+b Fh(int)53 b(rl_change_environment)390 4974 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 5084 y(line)h(will)h(mo)s(dify)e(the)h
+Fj(LINES)35 b Ft(and)29 b Fj(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
+5193 y Fs(SIGWINCH)390 5340 y Ft(The)f(default)g(v)-5
+b(alue)31 b(of)g Fs(rl_change_environment)24 b Ft(is)31
+b(1.)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)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 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 3867 y([F)-8 b(unction])-3599
+i(of)g(a)f(signal.)3350 693 y([F)-8 b(unction])-3599
b Fh(int)53 b(rl_pending_signal)e Fg(\()p Ff(v)m(oid)p
-Fg(\))390 3977 y Ft(Return)27 b(the)g(signal)h(n)m(um)m(b)s(er)e(of)i
+Fg(\))390 803 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 4086 y(handled,)i(or)g(0)h(if)f(there)h(is)f(no)g(p)s
-(ending)f(signal.)3350 4275 y([F)-8 b(unction])-3599
+(not)h(y)m(et)390 913 y(handled,)i(or)g(0)h(if)f(there)h(is)f(no)g(p)s
+(ending)f(signal.)3350 1088 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 4384 y Ft(This)33 b(function)h(will)g(reset)g(the)g(state)i
+Fg(\))390 1198 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 4494 y Ft(w)m(as)c(called,)h(and)d(remo)m(v)m(e)j
+Fs(readline\(\))390 1307 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 4603 y(v)-5 b(alues)31 b(of)f
+(ending)d(on)h(the)390 1417 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 1592 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
+1702 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
+1811 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 1921 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 2030 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: 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)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
+2140 y(curren)m(t)30 b(input)g(line.)3350 2315 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 2425 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 2534 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 699 y(If)j(an)g(application)i(w)m(an)m
+(rl_catch_sigwinch)p Ft(.)275 2710 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 809 y(it)j(has)g(b)s(een)f
+(ha)m(v)m(e)h(arriv)m(ed)f(while)150 2819 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
-918 y(there)i(are)g(an)m(y)g(p)s(ending)e(signals.)61
+2929 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 1028 y(a)h(custom)g Fs(rl_getc_function)33
+(that)f(use)150 3039 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(27\))h(and)e(wish)g(to)150 1137 y(handle)30
+b(page)c(27\))h(and)e(wish)g(to)150 3148 y(handle)30
b(signals)h(receiv)m(ed)h(while)e(w)m(aiting)i(for)e(input.)3350
-1318 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_check_signals)c
-Fg(\()p Ff(v)m(oid)p Fg(\))390 1428 y Ft(If)40 b(there)h(are)g(an)m(y)g
+3324 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_check_signals)c
+Fg(\()p Ff(v)m(oid)p Fg(\))390 3433 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 1538 y(to)j(pro)s(cess)g(them.)77
+(handling)f(functions)390 3543 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 1647 y(whether)30 b(or)g(not)h(there)
-f(are)h(an)m(y)g(p)s(ending)e(signals.)275 1828 y(If)38
+(enden)m(tly)f(to)j(determine)390 3652 y(whether)30 b(or)g(not)h(there)
+f(are)h(an)m(y)g(p)s(ending)e(signals.)275 3828 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
-1938 y(terminal\(\))24 b Ft(or)j Fs(rl_set_screen_size\(\))22
+3937 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 2047 y(size)k(when)f(a)g Fs(SIGWINCH)e
-Ft(is)j(receiv)m(ed.)3350 2228 y([F)-8 b(unction])-3599
+g(terminal)150 4047 y(size)k(when)f(a)g Fs(SIGWINCH)e
+Ft(is)j(receiv)m(ed.)3350 4222 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 2338 y Ft(If)43 b(an)g(application)i(wishes)e(to)i
+b(sig)p Fg(\))390 4332 y Ft(If)43 b(an)g(application)i(wishes)e(to)i
(install)f(its)g(o)m(wn)f(signal)i(handlers,)h(but)c(still)j(ha)m(v)m
-(e)g(readline)390 2447 y(displa)m(y)31 b(c)m(haracters)h(that)f
+(e)g(readline)390 4441 y(displa)m(y)31 b(c)m(haracters)h(that)f
(generate)h(signals,)f(calling)h(this)e(function)g(with)g
-Fj(sig)39 b Ft(set)31 b(to)g Fs(SIGINT)p Ft(,)390 2557
+Fj(sig)39 b Ft(set)31 b(to)g Fs(SIGINT)p Ft(,)390 4551
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 2738 y([F)-8
+m(haracter)i(generating)g(that)f(signal.)3350 4726 y([F)-8
b(unction])-3599 b Fh(void)54 b(rl_resize_terminal)c
-Fg(\()p Ff(v)m(oid)p Fg(\))390 2848 y Ft(Up)s(date)30
+Fg(\()p Ff(v)m(oid)p Fg(\))390 4836 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 3029 y([F)-8
+b(alues)31 b(from)f(the)g(k)m(ernel.)3350 5011 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
-3138 y Ft(Set)28 b(Readline's)h(idea)f(of)g(the)g(terminal)g(size)h(to)
+5121 y Ft(Set)28 b(Readline's)h(idea)f(of)g(the)g(terminal)g(size)h(to)
g Fj(ro)m(ws)i Ft(ro)m(ws)d(and)f Fj(cols)33 b Ft(columns.)40
-b(If)27 b(either)h Fj(ro)m(ws)390 3248 y Ft(or)35 b Fj(columns)k
+b(If)27 b(either)h Fj(ro)m(ws)390 5230 y Ft(or)35 b Fj(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 3357 y(unc)m(hanged.)275
-3538 y(If)d(an)i(application)g(do)s(es)f(not)h(w)m(an)m(t)g(to)g
+(that)h(terminal)f(dimension)g(is)390 5340 y(unc)m(hanged.)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)275
+299 y(If)32 b(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 3648 y(the)d(screen)f(dimensions,)g(Readline's)h
+(terested)g(in)150 408 y(the)d(screen)f(dimensions,)g(Readline's)h
(idea)g(of)g(the)f(screen)h(size)g(ma)m(y)g(b)s(e)f(queried.)3350
-3829 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_get_screen_size)c
+591 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
-3938 y Ft(Return)c(Readline's)i(idea)g(of)f(the)g(terminal's)h(size)g
+701 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 4048 y(men)m(ts.)3350 4229 y([F)-8 b(unction])-3599
+(argu-)390 810 y(men)m(ts.)3350 993 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 4339 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 4519
+Fg(\))390 1102 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 1285
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 4700 y([F)-8 b(unction])-3599
+(Readline's)f(signal)g(handlers.)3350 1467 y([F)-8 b(unction])-3599
b Fh(int)53 b(rl_set_signals)d Fg(\()p Ff(v)m(oid)p Fg(\))390
-4810 y Ft(Install)40 b(Readline's)h(signal)f(handler)f(for)h
+1577 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 4920 y Fs(SIGTSTP)p
+Fs(SIGHUP)p Ft(,)g Fs(SIGALRM)p Ft(,)390 1686 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 5029 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 1796 y(signals)28 b Ft(and)i
+Fs(rl_catch_sigwinch)p Ft(.)3350 1978 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 2088 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: 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)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 2327 y Fr(2.6)68 b(Custom)45 b(Completers)150
+2487 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 2596 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 2706 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 2816 y(co)s(op)s(erate)j(to)h(pro)
+m(vide)e(this)g(service.)150 3014 y Fi(2.6.1)63 b(Ho)m(w)40
+b(Completing)i(W)-10 b(orks)150 3161 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 3270 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 3380 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 3489 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 3599 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 3709 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 3842 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
+3976 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 4086 y(argumen)m(ts)36 b(as)g(other)g(bindable)f
(Readline)h(functions:)51 b Fj(coun)m(t)38 b Ft(and)d
-Fj(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
+Fj(in)m(v)m(oking)p 3107 4086 28 4 v 41 w(k)m(ey)p Ft(.)57
+b(It)36 b(isolates)330 4195 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 4305 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 4415
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
+4524 y(desired.)199 4658 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 Fj(gener-)330 2702 y(ator)44
+(application-supplied)h Fj(gener-)330 4768 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)
+4877 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
+4987 y(completion_entry_functio)o(n)p Ft(.)199 5121 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
+Fs(rl_completion_matches\(\))o Ft(,)c(returning)330 5230
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 Fj(text)j Ft(and)c
-Fj(state)p Ft(.)49 b Fj(text)330 3267 y Ft(is)32 b(the)g(partial)h(w)m
+Fj(state)p Ft(.)49 b Fj(text)330 5340 y Ft(is)32 b(the)g(partial)h(w)m
(ord)f(to)h(b)s(e)e(completed.)47 b Fj(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
+b(zero)h(the)f(\014rst)g(time)g(the)h(function)e(is)h(called,)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)330
+299 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 Fj(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 Fj(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
+330 408 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 518 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 628 y(the)39 b(generator)h(function)e(computes)h(the)g
+(list)g(of)g(p)s(ossible)f(completions)i(when)e Fj(state)45
+b Ft(is)39 b(zero,)330 737 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 847 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 956
+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
+Fj(application-)330 1066 y(sp)s(eci\014c)d(completion)i(function)p
+Ft(.)3350 1237 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
+2020 1237 30 5 v 43 w(k)m(ey)p Fg(\))390 1347 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
+1456 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
+1566 y(default)31 b(is)f(to)h(do)f(\014lename)h(completion.)3371
+1737 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 1846
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
+b(If)40 b(the)390 1956 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
+2066 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 Fj(application-sp)s(eci\014c)390
-5230 y(completion)22 b(function)f Ft(is)g(a)h(function)e(whose)h
+2175 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: 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)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
+2285 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
+2475 y Fi(2.6.2)63 b(Completion)41 b(F)-10 b(unctions)150
+2622 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 Fj(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
+2793 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 2793 V 44 w(to)p 1994
+2793 V 43 w(do)p Fg(\))390 2903 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 Fj(what)p 2208 2903
+28 4 v 40 w(to)p 2328 2903 V 41 w(do)41 b Ft(sa)m(ys)c(what)f(to)i(do)e
+(with)g(the)h(com-)390 3012 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
+3122 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 3231 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
+(as)g(p)s(erforming)e(partial)390 3341 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
+(the)g(p)s(ossible)390 3451 y(completions)32 b(share)e(a)g(common)h
+(pre\014x.)3350 3622 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 3622 30 5 v 43 w(k)m(ey)p Fg(\))390 3731
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 3841 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 3950 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 4060 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
-Fj(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)
+Fj(in)m(v)m(oking)p 3314 4060 28 4 v 41 w(k)m(ey)p Ft(.)3350
+4231 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
+2622 4231 30 5 v 43 w(k)m(ey)p Fg(\))390 4340 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
+Fs(rl_)390 4450 y(complete_internal\(\))25 b Ft(with)30
+b(an)g(argumen)m(t)h(of)g(`)p Fs(?)p Ft('.)3350 4621
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)
+2517 4621 V 44 w(k)m(ey)p Fg(\))390 4731 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
+(partially-completed)390 4840 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
+4950 y(an)30 b(argumen)m(t)h(of)g(`)p Fs(*)p Ft('.)3350
+5121 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_completion_mode)e
+Fg(\()p Ff(rl)p 1455 5121 V 44 w(command)p 1919 5121
+V 44 w(func)p 2147 5121 V 46 w(t)33 b(*cfunc)p Fg(\))390
+5230 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 Fj(cfunc)46 b Ft(w)m(as)41
+b(on)390 5340 y(whether)g Fj(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
+b(alues)41 b(of)g(the)g Fs(show-all-if-)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)390
+299 y Fs(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 408 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 589 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
+698 y(rl)p 639 698 30 5 v 44 w(comp)s(en)m(try)p 1145
+698 V 44 w(func)p 1373 698 V 45 w(t)f(*en)m(try)p 1767
+698 V 44 w(func)p Fg(\))390 808 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
-Fj(text)p Ft(.)64 b(If)38 b(there)g(are)g(no)390 4020
+Fj(text)p Ft(.)64 b(If)38 b(there)g(are)g(no)390 917
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 Fj(text)p Ft(.)40 b(The)26
+(substitution)390 1027 y(for)26 b Fj(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 Fj(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
+b(The)26 b(arra)m(y)h(is)f(terminated)390 1137 y(with)k(a)h
+Fs(NULL)e Ft(p)s(oin)m(ter.)390 1270 y Fj(en)m(try)p
+603 1270 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 Fj(text)p
+b(The)39 b(\014rst)g(argumen)m(t)h(is)390 1379 y Fj(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 Fj(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
+1489 y(subsequen)m(t)33 b(calls.)52 b Fj(en)m(try)p 1320
+1489 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 1599
+y(more)d(matc)m(hes.)3350 1779 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 1888
+y(state)p Fg(\))390 1998 y Ft(A)26 b(generator)h(function)e(for)g
(\014lename)h(completion)h(in)e(the)h(general)h(case.)40
-b Fj(text)28 b Ft(is)e(a)g(partial)h(\014le-)390 5230
+b Fj(text)28 b Ft(is)e(a)g(partial)h(\014le-)390 2107
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: 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)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
+2217 y(functions)30 b(\(the)h(Bash)f(completion)i(functions)e(call)i
+(this)e(and)g(other)g(Readline)h(functions\).)3350 2397
+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
+2507 y(state)p Fg(\))390 2616 y Ft(A)d(completion)g(generator)h(for)e
(usernames.)40 b Fj(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
-Fj(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 2726 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
+Fj(state)37 b Ft(is)31 b(zero)g(on)390 2836 y(the)g(\014rst)e(call)j
+(and)e(non-zero)h(for)f(subsequen)m(t)f(calls.)150 3032
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
+3226 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 3336
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 3445 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
+3626 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
+3735 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 Fj(text)p Ft(,)26 b Fj(start)p Ft(,)f(and)d
+390 3845 y Fj(text)p Ft(,)26 b Fj(start)p Ft(,)f(and)d
Fj(end)p Ft(.)38 b Fj(start)25 b Ft(and)e Fj(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 Fj(text)p Ft(,)h(whic)m(h)d(is)h(a)h(c)m(haracter)g
+3954 y(aries)j(of)h Fj(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
+Fs(NULL)p Ft(,)h(or)g(if)390 4064 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
+4173 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
+4283 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)
+b(to)f(a)f(non-zero)390 4393 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
+(function)f(returns)390 4502 y(no)d(matc)m(hes.)3371
+4682 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 4792
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
+4902 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
+5011 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
-Fj(text)p Ft(,)k Fj(matc)m(h)p 1438 3145 28 4 v 41 w(t)m(yp)s(e)p
-Ft(,)f(and)d Fj(quote)p 2119 3145 V 41 w(p)s(oin)m(ter)p
+b(The)32 b(function)390 5121 y(is)37 b(called)h(with)e
+Fj(text)p Ft(,)k Fj(matc)m(h)p 1438 5121 V 41 w(t)m(yp)s(e)p
+Ft(,)f(and)d Fj(quote)p 2119 5121 V 41 w(p)s(oin)m(ter)p
Ft(.)60 b(The)36 b Fj(text)k Ft(is)d(the)g(\014lename)g(to)h(b)s(e)390
-3255 y(quoted.)76 b(The)42 b Fj(matc)m(h)p 1210 3255
+5230 y(quoted.)76 b(The)42 b Fj(matc)m(h)p 1210 5230
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
+5340 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 Fj(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
+(insert)g(a)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)390
+299 y(closing)22 b(quote)f(c)m(haracter.)40 b(The)20
+b Fj(quote)p 1751 299 28 4 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 408 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
+600 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 710
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
+819 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
+929 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 Fj(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 Fj(quote)p 2014 4243 V 41 w(c)m(har)p
+Ft(,)42 b(the)c(text)390 1038 y(of)k(the)h(w)m(ord)f(to)g(b)s(e)g
+(dequoted,)j(and)d Fj(quote)p 2014 1038 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
+1148 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 Fj(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
+2368 1148 V 41 w(c)m(har)39 b Ft(is)32 b(zero,)i(the)e(\014lename)g(w)m
+(as)h(not)390 1258 y(in)d(an)g(em)m(b)s(edded)g(string.)3371
+1449 y([V)-8 b(ariable])-3598 b Fh(rl_linebuf_func_t)57
+b(*)c(rl_char_is_quoted_p)390 1559 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
+(sp)s(eci\014c)f(c)m(haracter)390 1668 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
+(the)f(program)390 1778 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 Fj(text)p Ft(,)27 b(the)e(text)h(of)f(the)390 5121
+b Fj(text)p Ft(,)27 b(the)e(text)h(of)f(the)390 1887
y(line,)31 b(and)g Fj(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
+(whether)g(a)390 1997 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
-%%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)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
-1043 y([V)-8 b(ariable])-3598 b Fh(rl_icppfunc_t)56 b(*)d
-(rl_directory_completio)q(n_ho)q(ok)390 1152 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
-1262 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 1372 y(pathnames.)70 b(It)41 b(is)f(called)h
+b(b)s(e)h(used)f(to)i(break)390 2107 y(w)m(ords)f(for)g(the)h
+(completer.)3371 2298 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 2408 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 2517 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 2627 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
+2737 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
+2846 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 3038 y([V)-8 b(ariable])-3598
+b Fh(rl_icppfunc_t)56 b(*)d(rl_directory_completio)q(n_ho)q(ok)390
+3147 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 3257 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 3366 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 1481 y(as)d(an)f(argumen)m(t,)j(and)d(ma)m(y)i
+(directory)h(name\))390 3476 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 1591 y(string,)j(the)d(old)h(v)-5
+(with)f(a)h(new)390 3586 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 1700
+(directory)i(name)f(should)g(ha)m(v)m(e)i(a)390 3695
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 1810 y(the)32 b(directory)g(p)s(ortion)f(of)h(the)g
+(replacing)390 3805 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 1920 y(expansion)j(is)h(p)s(erformed,)f
+(ev)m(en)g(if)e(no)h(other)390 3914 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 2029 y(directory)c(name,)g(b)s(ecause)f
+(haracters)h(from)e(the)390 4024 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 2170 y(The)25 b(directory)i(completion)g(ho)s
+Fs(opendir\(\))p Ft(.)390 4162 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 2279 y(tion)35 b(mo)s(di\014es)e(its)i(directory)
+(if)e(the)i(func-)390 4272 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 2389 y(argumen)m(t)d(if)f(it)h(returns)e(0.)3371
-2585 y([V)-8 b(ariable])-3598 b Fh(rl_icppfunc_t)56 b(*)d
-(rl_directory_rewrite_h)q(ook;)390 2694 y Ft(If)24 b(non-zero,)i(this)e
+h(directory)390 4381 y(argumen)m(t)d(if)f(it)h(returns)e(0.)3371
+4573 y([V)-8 b(ariable])-3598 b Fh(rl_icppfunc_t)56 b(*)d
+(rl_directory_rewrite_h)q(ook;)390 4682 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 2804 y(This)h(function)g(tak)m
+(completing)h(a)g(directory)g(name.)390 4792 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 2914 y(Unlik)m(e)40
+(di\014ed)g(as)h(an)f(argumen)m(t.)390 4902 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
-3023 y(in)35 b Fs(opendir)p Ft(,)g(not)g(what)h(is)f(displa)m(y)m(ed)h
+5011 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 3133 y(serted.)k(It)27 b(is)f(called)h(b)s(efore)f(rl)p
-1463 3133 28 4 v 40 w(directory)p 1859 3133 V 41 w(completion)p
-2333 3133 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 3242 y(expansion)35 b(is)h(p)s(erformed,)f(this)h
+390 5121 y(serted.)k(It)27 b(is)f(called)h(b)s(efore)f(rl)p
+1463 5121 V 40 w(directory)p 1859 5121 V 41 w(completion)p
+2333 5121 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 5230 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 3352 y(directory)c(name,)g(b)s(ecause)f(its)h(result)f
+(from)e(the)390 5340 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 3492 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
-3602 y(tion)e(mo)s(d\014es)e(its)h(directory)h(argumen)m(t.)58
+Ft(.)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)390
+299 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
+408 y(tion)e(mo)s(d\014es)e(its)h(directory)h(argumen)m(t.)58
b(The)36 b(function)f(should)h(not)g(mo)s(dify)f(the)h(directory)390
-3712 y(argumen)m(t)31 b(if)f(it)h(returns)e(0.)3371 3908
+518 y(argumen)m(t)31 b(if)f(it)h(returns)e(0.)3371 731
y([V)-8 b(ariable])-3598 b Fh(rl_icppfunc_t)56 b(*)d
-(rl_filename_stat_hook)390 4017 y Ft(If)30 b(non-zero,)h(this)f(is)g
+(rl_filename_stat_hook)390 840 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 4127 y(whic)m(h)g(c)m(haracter)i(to)e(app)s
+g(b)s(efore)f(deciding)390 950 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 4236 y(name)36 b(argumen)m(t,)h(and)e
+(di\014es)f(its)i(\014lename)390 1059 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
-4346 y(t)m(yp)s(e)41 b(and)f(c)m(haracteristics.)73 b(This)40
+1169 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 4456 y(from)30 b(the)g(\014lename.)390
-4596 y(The)i(stat)h(ho)s(ok)f(returns)f(an)h(in)m(teger)i(that)e
+(haracters)390 1279 y(from)30 b(the)g(\014lename.)390
+1427 y(The)i(stat)h(ho)s(ok)f(returns)f(an)h(in)m(teger)i(that)e
(should)g(b)s(e)f(non-zero)i(if)f(the)g(function)g(mo)s(d\014es)g(its)
-390 4706 y(directory)42 b(argumen)m(t.)73 b(The)40 b(function)h(should)
+390 1537 y(directory)42 b(argumen)m(t.)73 b(The)40 b(function)h(should)
f(not)h(mo)s(dify)f(the)h(directory)h(argumen)m(t)f(if)g(it)390
-4815 y(returns)29 b(0.)3371 5011 y([V)-8 b(ariable])-3598
+1647 y(returns)29 b(0.)3371 1859 y([V)-8 b(ariable])-3598
b Fh(rl_dequote_func_t)57 b(*)c(rl_filename_rewrite_ho)q(ok)390
-5121 y Ft(If)39 b(non-zero,)k(this)d(is)f(the)h(address)f(of)h(a)g
+1969 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
-5230 y(from)f(the)h(\014lesystem)g(for)g(completion)h(and)e(comparing)i
+2078 y(from)f(the)h(\014lesystem)g(for)g(completion)h(and)e(comparing)i
(them)e(to)i(the)f(partial)h(w)m(ord)e(to)i(b)s(e)390
-5340 y(completed.)g(The)26 b(function)h(should)f(p)s(erform)f(an)m(y)j
-(necessary)f(application)i(or)e(system-sp)s(eci\014c)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)390
-299 y(con)m(v)m(ersion)35 b(on)g(the)f(\014lename,)i(suc)m(h)d(as)i
+2188 y(completed.)g(The)26 b(function)h(should)f(p)s(erform)f(an)m(y)j
+(necessary)f(application)i(or)e(system-sp)s(eci\014c)390
+2298 y(con)m(v)m(ersion)35 b(on)g(the)f(\014lename,)i(suc)m(h)d(as)i
(con)m(v)m(erting)h(b)s(et)m(w)m(een)f(c)m(haracter)g(sets)g(or)f(con)m
-(v)m(erting)390 408 y(from)f(a)g(\014lesystem)h(format)g(to)g(a)f(c)m
+(v)m(erting)390 2407 y(from)f(a)g(\014lesystem)h(format)g(to)g(a)f(c)m
(haracter)i(input)e(format.)50 b(The)32 b(function)h(tak)m(es)i(t)m(w)m
-(o)g(argu-)390 518 y(men)m(ts:)49 b Fj(fname)p Ft(,)36
+(o)g(argu-)390 2517 y(men)m(ts:)49 b Fj(fname)p Ft(,)36
b(the)e(\014lename)h(to)g(b)s(e)f(con)m(v)m(erted,)j(and)d
Fj(fnlen)p Ft(,)h(its)g(length)g(in)f(b)m(ytes.)53 b(It)35
-b(m)m(ust)390 628 y(either)24 b(return)e(its)h(\014rst)g(argumen)m(t)g
+b(m)m(ust)390 2626 y(either)24 b(return)e(its)h(\014rst)g(argumen)m(t)g
(\(if)h(no)f(con)m(v)m(ersion)h(tak)m(es)h(place\))g(or)e(the)g(con)m
-(v)m(erted)i(\014lename)390 737 y(in)j(newly-allo)s(cated)i(memory)-8
+(v)m(erted)i(\014lename)390 2736 y(in)j(newly-allo)s(cated)i(memory)-8
b(.)41 b(The)27 b(con)m(v)m(erted)j(form)e(is)g(used)g(to)h(compare)f
-(against)i(the)e(w)m(ord)390 847 y(to)g(b)s(e)e(completed,)j(and,)f(if)
-f(it)h(matc)m(hes,)h(is)e(added)f(to)i(the)g(list)f(of)h(matc)m(hes.)41
-b(Readline)27 b(will)h(free)390 956 y(the)j(allo)s(cated)h(string.)3371
-1134 y([V)-8 b(ariable])-3598 b Fh(rl_compdisp_func_t)58
+(against)i(the)e(w)m(ord)390 2845 y(to)g(b)s(e)e(completed,)j(and,)f
+(if)f(it)h(matc)m(hes,)h(is)e(added)f(to)i(the)g(list)f(of)h(matc)m
+(hes.)41 b(Readline)27 b(will)h(free)390 2955 y(the)j(allo)s(cated)h
+(string.)3371 3168 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
-1244 y Ft(If)22 b(non-zero,)i(then)e(this)g(is)g(the)g(address)f(of)h
+3277 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 1354 y(normally)h(displa)m(y)h(the)f(list)h(of)f(p)s(ossible)g
+390 3387 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 1463 y(displa)m(ying)37 b(the)h(list.)61
+(Readline)390 3497 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 Fj(matc)m(hes)p Ft(,)39 b Fs(int)d
-Fj(n)m(um)p 3370 1463 28 4 v 40 w(matc)m(hes)p Ft(,)390
-1573 y Fs(int)26 b Fj(max)p 735 1573 V 40 w(length)p
+Fj(n)m(um)p 3370 3497 28 4 v 40 w(matc)m(hes)p Ft(,)390
+3606 y Fs(int)26 b Fj(max)p 735 3606 V 40 w(length)p
Ft(\))h(where)f Fj(matc)m(hes)31 b Ft(is)c(the)f(arra)m(y)h(of)g(matc)m
-(hing)g(strings,)h Fj(n)m(um)p 3152 1573 V 39 w(matc)m(hes)j
-Ft(is)c(the)390 1682 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 Fj(max)p 2073 1682 V 40 w(length)h
+(hing)g(strings,)h Fj(n)m(um)p 3152 3606 V 39 w(matc)m(hes)j
+Ft(is)c(the)390 3716 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 Fj(max)p 2073 3716 V 40 w(length)h
Ft(is)g(the)f(length)h(of)g(the)f(longest)i(string)390
-1792 y(in)f(that)i(arra)m(y)-8 b(.)63 b(Readline)39 b(pro)m(vides)e(a)h
+3825 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 1902 y(that)33 b(tak)m(es)g(care)g(of)f(doing)g(the)g(displa)m
+Ft(,)390 3935 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 2011 y(function)d(from)g(this)g(ho)s(ok.)
-3371 2189 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 2299 y Ft(The)44
+b(ma)m(y)f(call)h(that)390 4044 y(function)d(from)g(this)g(ho)s(ok.)
+3371 4257 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 4367 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
-2408 y(routine.)61 b(The)37 b(default)g(v)-5 b(alue)37
+4476 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 2518 y(completion)c(in)e(Bash:)41
-b Fs(")30 b(\\t\\n\\"\\\\'`@$><=;|&{\(")p Ft(.)3371 2696
+(break)g(w)m(ords)f(for)390 4586 y(completion)c(in)e(Bash:)41
+b Fs(")30 b(\\t\\n\\"\\\\'`@$><=;|&{\(")p Ft(.)3371 4799
y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
-(rl_basic_quote_charact)q(ers)390 2806 y Ft(A)30 b(list)i(of)e(quote)h
+(rl_basic_quote_charact)q(ers)390 4908 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
-2984 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 3093
+5121 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 5230
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
-3203 y(internal\(\))p Ft(.)38 b(The)30 b(default)g(list)h(is)g(the)f(v)
+5340 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 3381 y([V)-8 b(ariable])-3598 b Fh(rl_cpvfunc_t)56
-b(*)d(rl_completion_word_brea)q(k_ho)q(ok)390 3491 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
-3600 y(to)k(separate)g(w)m(ords)f(for)g(w)m(ord)g(completion.)54
+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)3371
+299 y([V)-8 b(ariable])-3598 b Fh(rl_cpvfunc_t)56 b(*)d
+(rl_completion_word_brea)q(k_ho)q(ok)390 408 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 518
+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 3710 y(completer_word_break_cha)o(ract)o(ers)26
+Fs(rl_)390 628 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.)390 3819 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 3929 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 4107 y([V)-8 b(ariable])-3598
+(completion.)390 737 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 847 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 1025 y([V)-8 b(ariable])-3598
b Fh(const)54 b(char)f(*)g(rl_completer_quote_cha)q(rac)q(ters)390
-4217 y Ft(A)34 b(list)g(of)g(c)m(haracters)h(whic)m(h)e(can)h(b)s(e)g
+1134 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 4326 y(o)s(ccurs)26 b(on)g(the)g(en)m(tire)i
+b(Completion)390 1244 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 4436 y(characters)32
+(rl_completer_word_break)o(_)390 1354 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 4545 y(list.)3371
-4724 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
-(rl_filename_quote_char)q(act)q(ers)390 4833 y Ft(A)34
+(they)g(also)h(app)s(ear)e(within)h(this)390 1463 y(list.)3371
+1641 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
+(rl_filename_quote_char)q(act)q(ers)390 1751 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
-4943 y(app)s(ear)d(in)g(a)h(completed)g(\014lename.)41
+1861 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
-5121 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
-(rl_special_prefixes)390 5230 y Ft(The)27 b(list)i(of)e(c)m(haracters)j
+2039 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
+(rl_special_prefixes)390 2148 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 Fj(text)k Ft(when)390 5340 y(it)25 b(is)g(passed)f(to)h
+(left)i(in)e Fj(text)k Ft(when)390 2258 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)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(kind)27 b(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
-408 y(complete)j(shell)e(v)-5 b(ariables)31 b(and)f(hostnames.)3371
-628 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_query_i)q
-(tems)390 737 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 847 y(After)28 b(that,)h(readline)f(asks)g(the)g(user)f(if)
-h(she)f(is)h(sure)f(she)h(w)m(an)m(ts)g(to)h(see)f(them)g(all.)40
-b(The)28 b(default)390 956 y(v)-5 b(alue)31 b(is)f(100.)42
-b(A)31 b(negativ)m(e)h(v)-5 b(alue)31 b(indicates)g(that)g(Readline)g
-(should)f(nev)m(er)h(ask)f(the)h(user.)3371 1176 y([V)-8
-b(ariable])-3598 b Fh(int)53 b(rl_completion_append_)q(char)q(act)q(er)
-390 1285 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
-1395 y(c)m(haracter)23 b(is)e(app)s(ended)f(to)i(the)g(inserted)f
+g(help)f(determine)h(what)390 2367 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
+2477 y(complete)j(shell)e(v)-5 b(ariables)31 b(and)f(hostnames.)3371
+2655 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_query_i)q
+(tems)390 2765 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 2874 y(After)28 b(that,)h(readline)f
+(asks)g(the)g(user)f(if)h(she)f(is)h(sure)f(she)h(w)m(an)m(ts)g(to)h
+(see)f(them)g(all.)40 b(The)28 b(default)390 2984 y(v)-5
+b(alue)31 b(is)f(100.)42 b(A)31 b(negativ)m(e)h(v)-5
+b(alue)31 b(indicates)g(that)g(Readline)g(should)f(nev)m(er)h(ask)f
+(the)h(user.)3371 3162 y([V)-8 b(ariable])-3598 b Fh(int)53
+b(rl_completion_append_)q(char)q(act)q(er)390 3271 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
+3381 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 1504 y(\(`)31 b('\).)86 b(Setting)46 b(this)f(to)h(the)g
+(haracter)390 3491 y(\(`)31 b('\).)86 b(Setting)46 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(eing)f(app)s(ended)390 1614 y(automatically)-8
+(ything)g(b)s(eing)f(app)s(ended)390 3600 y(automatically)-8
b(.)66 b(This)37 b(can)h(b)s(e)f(c)m(hanged)h(in)g(application-sp)s
-(eci\014c)h(completion)g(functions)e(to)390 1724 y(pro)m(vide)j(the)g
+(eci\014c)h(completion)g(functions)e(to)390 3710 y(pro)m(vide)j(the)g
(\\most)g(sensible)g(w)m(ord)f(separator)i(c)m(haracter")h(according)e
-(to)h(an)e(application-)390 1833 y(sp)s(eci\014c)30 b(command)g(line)h
-(syn)m(tax)g(sp)s(eci\014cation.)3371 2052 y([V)-8 b(ariable])-3598
+(to)h(an)e(application-)390 3819 y(sp)s(eci\014c)30 b(command)g(line)h
+(syn)m(tax)g(sp)s(eci\014cation.)3371 3998 y([V)-8 b(ariable])-3598
b Fh(int)53 b(rl_completion_suppres)q(s_ap)q(pen)q(d)390
-2162 y Ft(If)33 b(non-zero,)i Fj(rl)p 949 2162 28 4 v
-39 w(completion)p 1421 2162 V 42 w(app)s(end)p 1755 2162
+4107 y Ft(If)33 b(non-zero,)i Fj(rl)p 949 4107 28 4 v
+39 w(completion)p 1421 4107 V 42 w(app)s(end)p 1755 4107
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 2271 y(of)28 b(the)f(command)h(line,)h(as)e
+(hes)g(at)g(the)g(end)390 4217 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 2381
+(efore)g(an)m(y)f(application-sp)s(eci\014c)390 4326
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
-2600 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_quote_c)q
-(hara)q(cte)q(r)390 2710 y Ft(When)36 b(Readline)h(is)f(completing)h
+4504 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_quote_c)q
+(hara)q(cte)q(r)390 4614 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 2819 y Fj(rl)p 457 2819 V 40 w(completer)p
-885 2819 V 41 w(quote)p 1145 2819 V 41 w(c)m(haracters)p
+(haracters)g(in)390 4724 y Fj(rl)p 457 4724 V 40 w(completer)p
+885 4724 V 41 w(quote)p 1145 4724 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 2929 y(This)30 b(is)g(set)h(b)s(efore)f(an)m
+(c)m(haracter)i(found.)390 4833 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 3148 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_suppres)
-q(s_qu)q(ote)390 3258 y Ft(If)32 b(non-zero,)h(Readline)g(do)s(es)f
+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 3367 y(completion)25 b(on)e(a)h(quoted)g(string.)38
+(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 3477 y(function)30 b(is)g(called,)i(and)e
+(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.)
-3371 3696 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_found_q)
-q(uote)390 3806 y Ft(When)31 b(Readline)i(is)e(completing)i(quoted)f
+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)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
(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 3915 y(the)21 b(w)m(ord)g(b)s(eing)g(completed)h
+-5 b(alue)32 b(if)390 518 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 4025 y(bac)m(kslashes.)42
+(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 4244 y([V)-8
+(completion)g(function)e(is)g(called.)3371 816 y([V)-8
b(ariable])-3598 b Fh(int)53 b(rl_completion_mark_sy)q(mlin)q(k_d)q
-(irs)390 4354 y Ft(If)31 b(non-zero,)i(a)f(slash)g(will)g(b)s(e)f(app)s
+(irs)390 925 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 4463 y(to)25 b(directory)g(names,)g(sub)5
+(links)390 1035 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
-Fj(mark-directories)k Ft(v)-5 b(ariable.)390 4573 y(This)27
+Fj(mark-directories)k Ft(v)-5 b(ariable.)390 1144 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
-4682 y(user's)42 b(global)h(preference)g(\(set)g(via)g(the)f
+1254 y(user's)42 b(global)h(preference)g(\(set)g(via)g(the)f
Fj(mark-symlink)m(ed-directories)48 b Ft(Readline)43
-b(v)-5 b(ariable\))390 4792 y(if)38 b(appropriate.)62
+b(v)-5 b(ariable\))390 1363 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 4902
+(preference)g(b)s(efore)g(an)m(y)h(application-)390 1473
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 5011 y(user's)d(preferences)g(are)h(honored.)3371
-5230 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_ignore_completion_)q
-(dupl)q(ica)q(tes)390 5340 y Ft(If)30 b(non-zero,)h(then)f(duplicates)h
+b(alue,)33 b(the)390 1583 y(user's)d(preferences)g(are)h(honored.)3371
+1771 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_ignore_completion_)q
+(dupl)q(ica)q(tes)390 1880 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.)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)3371
-299 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_filename_completio)q
-(n_de)q(sir)q(ed)390 408 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 518 y(is)40 b Fk(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 628 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 737 y(function,)24
+b(default)i(is)f(1.)3371 2068 y([V)-8 b(ariable])-3598
+b Fh(int)53 b(rl_filename_completio)q(n_de)q(sir)q(ed)390
+2178 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 2287 y(is)40 b Fk(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 2397 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 2506 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 847 y(pleted)35
+(Readline)h(attempts)g(to)g(quote)g(com-)390 2616 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 956 y Ft(and)30
+Fs(rl_filename_quote_chara)o(cter)o(s)390 2725 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 1141 y([V)d(ariable])-3598
-b Fh(int)53 b(rl_filename_quoting_d)q(esir)q(ed)390 1250
+(non-zero)g(v)-5 b(alue.)3371 2913 y([V)d(ariable])-3598
+b Fh(int)53 b(rl_filename_quoting_d)q(esir)q(ed)390 3023
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
-1360 y(\(or)43 b(an)f(application-sp)s(eci\014c)i(quoting)f(mec)m
+3133 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
-1469 y(an)m(y)28 b(c)m(haracters)h(in)e Fs(rl_filename_quote_chars)p
+3242 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 Fk(always)37 b Ft(non-zero)28
-b(when)f(comple-)390 1579 y(tion)h(is)g(attempted,)h(and)e(can)h(only)g
+b(when)f(comple-)390 3352 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 1689 y(function.)37 b(The)21 b(quoting)g(is)g
+(completion)390 3461 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 1798 y(quoting_function)p
-Ft(.)3371 1983 y([V)-8 b(ariable])-3598 b Fh(int)53 b
-(rl_attempted_completi)q(on_o)q(ver)390 2092 y Ft(If)93
+(to)g(b)m(y)g Fs(rl_filename_)390 3571 y(quoting_function)p
+Ft(.)3371 3759 y([V)-8 b(ariable])-3598 b Fh(int)53 b
+(rl_attempted_completi)q(on_o)q(ver)390 3868 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 2202 y(completion_function)48
+(to)h Fs(rl_attempted_)390 3978 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 2311 y(p)s(erform)28
+b(alue,)60 b(Readline)53 b(will)h(not)390 4088 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 2421 y(returns)e(no)h(matc)m
+(application's)i(completion)g(function)390 4197 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 2605 y([V)-8
+(application's)i(completion)f(function.)3371 4385 y([V)-8
b(ariable])-3598 b Fh(int)53 b(rl_sort_completion_ma)q(tche)q(s)390
-2715 y Ft(If)29 b(an)h(application)h(sets)f(this)g(v)-5
+4495 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 2824 y(\(whic)m(h)25 b(implies)f(that)i(it)f
+(of)f(completions)390 4604 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)390 2934 y(1,)32
+b(The)24 b(default)h(v)-5 b(alue)25 b(is)390 4714 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 3044
+h(and,)f(dep)s(ending)f(on)h(the)g(v)-5 b(alue)390 4823
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 3228 y([V)-8 b(ariable])-3598 b Fh(int)53
-b(rl_completion_type)390 3337 y Ft(Set)35 b(to)h(a)f(c)m(haracter)i
+(hes.)3371 5011 y([V)-8 b(ariable])-3598 b Fh(int)53
+b(rl_completion_type)390 5121 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 3447 y(ing;)f(see)f(the)g(description)f
+(curren)m(tly)h(attempt-)390 5230 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 3557 y(F)-8 b(unctions],)39 b(page)f(51\))f(for)g(the)
+([Completion)390 5340 y(F)-8 b(unctions],)39 b(page)f(51\))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 3666 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 3776 y(to)g(presen)m(t)g(the)f
-(same)h(in)m(terface)h(as)e Fs(rl_complete\(\))p Ft(.)3371
-3960 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_invokin)q
-(g_ke)q(y)390 4070 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 4179 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 4289 y(b)s(efore)30 b(an)m(y)h
-(application-sp)s(eci\014c)h(completion)f(function)f(is)h(called.)3371
-4473 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_inhibit_completion)390
-4583 y Ft(If)28 b(this)g(v)-5 b(ariable)29 b(is)f(non-zero,)i
+(appropriate)f(v)-5 b(alue)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)390
+299 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
+408 y(to)g(presen)m(t)g(the)f(same)h(in)m(terface)h(as)e
+Fs(rl_complete\(\))p Ft(.)3371 593 y([V)-8 b(ariable])-3598
+b Fh(int)53 b(rl_completion_invokin)q(g_ke)q(y)390 702
+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
+812 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 922 y(b)s(efore)30 b(an)m(y)h(application-sp)s(eci\014c)h
+(completion)f(function)f(is)h(called.)3371 1106 y([V)-8
+b(ariable])-3598 b Fh(int)53 b(rl_inhibit_completion)390
+1215 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 4692 y(inserted)h(as)h(an)m(y)g(other)f(b)s(ound)e
-(to)k Fs(self-insert)p Ft(.)150 4892 y Fi(2.6.4)63 b(A)40
-b(Short)i(Completion)g(Example)150 5039 y Ft(Here)30
+(will)f(b)s(e)390 1325 y(inserted)h(as)h(an)m(y)g(other)f(b)s(ound)e
+(to)k Fs(self-insert)p Ft(.)150 1524 y Fi(2.6.4)63 b(A)40
+b(Short)i(Completion)g(Example)150 1671 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
-5148 y Fs(fileman)p Ft(,)40 b(and)f(the)h(source)g(co)s(de)g(resides)f
+1781 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 5258 y(pro)m(vides)26 b(completion)i(of)e(command)g(names,)h(line)f
+150 1890 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
-%%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)390
+%%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)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)
@@ -10794,9 +10831,9 @@ y(int)e(com_cd)g(PARAMS\(\(char)i(*\)\);)390 4483 y(int)e(com_quit)h
(call)i(to)e(do)h(the)g(job.)g(*/)468 5181 y(char)h(*doc;)f(/*)g
(Documentation)i(for)e(this)g(function.)80 b(*/)390 5268
y(})39 b(COMMAND;)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)390
+%%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
386 y Fe(COMMAND)41 b(commands[])g(=)f({)468 473 y({)g("cd",)g(com_cd,)
h("Change)g(to)f(directory)h(DIR")f(},)468 560 y({)g("delete",)h
(com_delete,)h("Delete)f(FILE")f(},)468 648 y({)g("help",)h(com_help,)g
@@ -10832,9 +10869,9 @@ y(break;)625 5093 y(/*)g(Remove)h(leading)f(and)g(trailing)h
(whitespace)h(from)e(the)g(line.)743 5181 y(Then,)g(if)g(there)g(is)g
(anything)h(left,)g(add)e(it)h(to)g(the)g(history)h(list)743
5268 y(and)f(execute)h(it.)f(*/)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)625
+%%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)625
299 y Fe(s)40 b(=)f(stripwhite)j(\(line\);)625 473 y(if)e(\(*s\))704
560 y({)782 648 y(add_history)i(\(s\);)782 735 y(execute_line)g(\(s\);)
704 822 y(})625 996 y(free)e(\(line\);)547 1083 y(})468
@@ -10861,9 +10898,9 @@ y(if)e(\(!command\))547 3524 y({)625 3611 y(fprintf)h(\(stderr,)g
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(\(name\))
586 5181 y(char)e(*name;)390 5268 y({)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)468
+%%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)468
299 y Fe(register)41 b(int)f(i;)468 473 y(for)g(\(i)g(=)f(0;)h
(commands[i].name;)j(i++\))547 560 y(if)d(\(strcmp)g(\(name,)h
(commands[i].name\))i(==)d(0\))625 648 y(return)h(\(&commands[i]\);)468
@@ -10904,9 +10941,9 @@ b(We)40 b(can)g(use)f(the)h(entire)h(contents)g(of)f(rl_line_buffer)508
b(Return)40 b(the)g(array)h(of)e(matches,)508 5181 y(or)g(NULL)h(if)g
(there)h(aren't)f(any.)g(*/)390 5268 y(char)g(**)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)390
+%%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 Fe(fileman_completion)43 b(\(text,)e(start,)g(end\))586
386 y(const)f(char)h(*text;)586 473 y(int)f(start,)h(end;)390
560 y({)468 648 y(char)g(**matches;)468 822 y(matches)g(=)f(\(char)g
@@ -10945,9 +10982,9 @@ b(*/)390 4832 y(/*)903 b(FileMan)41 b(Commands)1060 b(*/)390
b(*/)390 5181 y(/*)40 b(String)g(to)g(pass)g(to)g(system)g(\(\).)80
b(This)40 b(is)f(for)h(the)g(LIST,)h(VIEW)f(and)g(RENAME)508
5268 y(commands.)h(*/)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
+%%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
299 y Fe(static)41 b(char)f(syscom[1024];)390 473 y(/*)g(List)g(the)g
(file\(s\))h(named)f(in)g(arg.)g(*/)390 560 y(com_list)h(\(arg\))586
648 y(char)f(*arg;)390 735 y({)468 822 y(if)g(\(!arg\))547
@@ -10975,9 +11012,9 @@ j(==)d(1\))f(?)h("")f(:)h("s",)782 5093 y(finfo.st_size,)782
5181 y(\(finfo.st_size)j(==)c(1\))h(?)g("")f(:)h("s"\);)468
5268 y(printf)h(\("Inode)g(Last)f(Change)h(at:)f(\045s",)g(ctime)g
(\(&finfo.st_ctime\)\);)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)468
+%%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)468
299 y Fe(printf)41 b(\(")236 b(Last)40 b(access)h(at:)f(\045s",)g
(ctime)g(\(&finfo.st_atime\)\);)468 386 y(printf)h(\(")157
b(Last)41 b(modified)g(at:)f(\045s",)g(ctime)g(\(&finfo.st_mtime\)\);)
@@ -11006,9 +11043,9 @@ b(Possibilties)42 b(are:\\n",)f(arg\);)625 3176 y(for)f(\(i)g(=)f(0;)h
4919 y(com_cd)h(\(arg\))586 5006 y(char)f(*arg;)390 5093
y({)468 5181 y(if)g(\(chdir)h(\(arg\))f(==)g(-1\))547
5268 y({)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)625
+%%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)625
299 y Fe(perror)41 b(\(arg\);)625 386 y(return)g(1;)547
473 y(})468 648 y(com_pwd)g(\(""\);)468 735 y(return)g(\(0\);)390
822 y(})390 996 y(/*)f(Print)g(out)g(the)g(current)h(working)g
@@ -11037,8 +11074,8 @@ y({)625 4658 y(fprintf)h(\(stderr,)g("\045s:)f(Argument)h
(required.\\n",)i(caller\);)625 4745 y(return)e(\(0\);)547
4832 y(})468 5006 y(return)g(\(1\);)390 5093 y(})p eop
end
-%%Page: 65 69
-TeXDict begin 65 68 bop 3659 -116 a Ft(65)150 299 y Fp(App)t(endix)52
+%%Page: 66 70
+TeXDict begin 66 69 bop 3659 -116 a Ft(66)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
@@ -11119,10 +11156,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: 66 70
-TeXDict begin 66 69 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 67 71
+TeXDict begin 67 70 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(66)330 299 y(under)26 b(this)i(License.)40 b(If)27
+b(67)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
@@ -11213,10 +11250,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: 67 71
-TeXDict begin 67 70 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 68 72
+TeXDict begin 68 71 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(67)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
+b(68)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
@@ -11306,10 +11343,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: 68 72
-TeXDict begin 68 71 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 69 73
+TeXDict begin 69 72 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(68)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
+b(69)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
@@ -11388,10 +11425,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: 69 73
-TeXDict begin 69 72 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 70 74
+TeXDict begin 70 73 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(69)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
+b(70)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
@@ -11476,10 +11513,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: 70 74
-TeXDict begin 70 73 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 71 75
+TeXDict begin 71 74 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(70)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
+b(71)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
@@ -11564,10 +11601,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: 71 75
-TeXDict begin 71 74 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 72 76
+TeXDict begin 72 75 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(71)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330
+b(72)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
@@ -11631,10 +11668,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: 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)150 299 y Fr(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
+b(73)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
@@ -11669,9 +11706,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: 73 77
-TeXDict begin 73 76 bop 150 -116 a Ft(Concept)31 b(Index)2927
-b(73)150 100 y Fp(Concept)52 b(Index)146 434 y Fr(A)150
+%%Page: 74 78
+TeXDict begin 74 77 bop 150 -116 a Ft(Concept)31 b(Index)2927
+b(74)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(50)146 796 y
Fr(C)150 913 y Fb(command)26 b(editing)6 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)
@@ -11704,20 +11741,20 @@ 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(2)p eop end
-%%Page: 74 78
-TeXDict begin 74 77 bop 3659 -116 a Ft(74)150 299 y Fp(F)-13
+%%Page: 75 79
+TeXDict begin 75 78 bop 3659 -116 a Ft(75)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 864 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(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)25 b Fb(41)150
953 y Fe(_rl_digit_value)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(41)150 1043 y Fe(_rl_lowercase_p)17
+(:)g(:)g(:)32 b Fb(42)150 1043 y Fe(_rl_lowercase_p)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(41)150 1132 y Fe(_rl_to_lower)8 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(41)150
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(42)150
1222 y Fe(_rl_to_upper)8 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(41)150 1309 y Fe(_rl_uppercase_p)17
@@ -11890,9 +11927,9 @@ b Fb(21)2025 5249 y(isearc)n(h-terminators)9 b Fa(:)14
b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)24 b Fb(7)p
eop end
-%%Page: 75 79
-TeXDict begin 75 78 bop 150 -116 a Ft(F)-8 b(unction)31
-b(and)f(V)-8 b(ariable)32 b(Index)2370 b(75)146 294 y
+%%Page: 76 80
+TeXDict begin 76 79 bop 150 -116 a Ft(F)-8 b(unction)31
+b(and)f(V)-8 b(ariable)32 b(Index)2370 b(76)146 294 y
Fr(K)150 424 y Fb(k)n(eymap)14 b Fa(:)e(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)29
@@ -11981,12 +12018,12 @@ 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(36)2025
1109 y Fe(rl_add_undo)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(36)2025 1197 y
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)25 b Fb(37)2025 1197 y
Fe(rl_alphabetic)g 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(41)2025 1284 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(36)2025
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(37)2025
1371 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(34)2025 1459 y
@@ -11999,59 +12036,60 @@ 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(34)2025 1721
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(34)2025 1808 y Fe(rl_bind_keyseq_if_unbound)9
+h(:)f(:)34 b Fb(35)2025 1808 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(35)2025 1896 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(35)2025 1983 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(34)2025 2070 y Fe
+(:)g(:)g(:)g(:)g(:)34 b Fb(35)2025 2070 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(42)2025 2158 y
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(43)2025 2158 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(43)2025
2245 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(42)2025 2332 y Fe(rl_callback_sigcleanup)16 b Fa(:)i(:)13
+b Fb(43)2025 2332 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(43)2025 2420 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(49)2025 2507 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(48)2025 2595 y Fe(rl_clear_history)15
+(:)h(:)28 b Fb(49)2025 2595 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(42)2025 2682 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(38)2025 2769 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(39)2025 2857 y Fe(rl_clear_signals)15
+(:)g(:)h(:)f(:)g(:)g(:)31 b Fb(40)2025 2857 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(49)2025 2944 y Fe(rl_clear_visible_line)24 b Fa(:)13
+Fb(50)2025 2944 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(37)2025 3031 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(50,)c(51)2025 3119 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(51)2025 3206 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(51)2025 3293 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(51)2025 3381 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(33)2025 3468 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(38)2025 3556 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(37)2025 3643 y Fe(rl_delete_text)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)
+(:)g(:)g(:)g(:)g(:)34 b Fb(38)2025 3031 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(51)2025 3119 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(51)2025 3206 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(52)2025 3293 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(51)2025 3381
+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(33)2025 3468 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(39)2025 3556 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(38)2025 3643 y Fe(rl_delete_text)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(38)2025 3730 y
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fb(39)2025 3730 y
Fe(rl_deprep_terminal)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(40)2025 3818 y Fe(rl_ding)e Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
@@ -12072,40 +12110,40 @@ g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(37)2025
g(:)h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(33)2025 4342 y Fe
(rl_end_undo_group)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 4429 y Fe(rl_execute_next)17 b Fa(:)g(:)c(:)g(:)g(:)g
+27 b Fb(37)2025 4429 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(39)2025 4517 y Fe(rl_expand_prompt)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(40)2025 4517 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(38)2025 4604 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(40)2025 4691 y Fe
+(:)g(:)g(:)g(:)g(:)34 b Fb(41)2025 4691 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(51)2025
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)25 b Fb(52)2025
4779 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(37)2025 4866 y Fe(rl_free)c 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(40)2025 4954 y Fe(rl_free_keymap)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)
+b Fb(41)2025 4954 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(33)2025 5041 y
Fe(rl_free_line_state)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(48)2025 5128 y Fe(rl_free_undo_list)12 b Fa(:)17
+b Fb(49)2025 5128 y Fe(rl_free_undo_list)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(37)p eop
end
-%%Page: 76 80
-TeXDict begin 76 79 bop 150 -116 a Ft(F)-8 b(unction)31
-b(and)f(V)-8 b(ariable)32 b(Index)2370 b(76)150 260 y
+%%Page: 77 81
+TeXDict begin 77 80 bop 150 -116 a Ft(F)-8 b(unction)31
+b(and)f(V)-8 b(ariable)32 b(Index)2370 b(77)150 260 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(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24
b Fb(36)150 347 y Fe(rl_function_of_keyseq)g 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(35)150 434 y Fe(rl_function_of_keyseq_len)9
+(:)g(:)g(:)h(:)f(:)33 b Fb(36)150 434 y Fe(rl_function_of_keyseq_len)9
b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)23 b Fb(35)150 521 y Fe(rl_funmap_names)17
+(:)h(:)f(:)g(:)23 b Fb(36)150 521 y Fe(rl_funmap_names)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(36)150 609 y Fe(rl_generic_bind)17 b Fa(:)g(:)c(:)g(:)g(:)g(:)g(:)
@@ -12120,7 +12158,7 @@ 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(33)150
957 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(49)150 1045 y Fe(rl_get_termcap)f Fa(:)13
+g(:)24 b Fb(50)150 1045 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(42)150 1132 y Fe(rl_getc)22 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)
@@ -12128,15 +12166,15 @@ 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(39)150 1219 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(40)150 1306 y
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(41)150 1306 y
Fe(rl_insert_completions)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(51)150 1393 y Fe(rl_insert_text)23 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(38)150 1481 y Fe
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(39)150 1481 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(35)150 1568 y Fe(rl_invoking_keyseqs_in_map)7 b
+b Fb(36)150 1568 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(36)150 1655 y Fe(rl_kill_text)8 b Fa(:)16
b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
@@ -12146,9 +12184,9 @@ 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(36)150 1829 y Fe(rl_macro_bind)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(41)150 1917 y Fe(rl_macro_dumper)17 b Fa(:)g(:)c(:)g(:)g(:)g(:)g
+b Fb(42)150 1917 y Fe(rl_macro_dumper)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(41)150 2004 y Fe(rl_make_bare_keymap)7
+g(:)g(:)g(:)g(:)g(:)g(:)32 b Fb(42)150 2004 y Fe(rl_make_bare_keymap)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(33)150
2091 y Fe(rl_make_keymap)i Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
@@ -12166,17 +12204,17 @@ b(:)c(:)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(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)34 b Fb(37)150 2527 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(37)150 2614 y Fe(rl_parse_and_bind)12
+(:)g(:)g(:)21 b Fb(38)150 2614 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(35)150
2701 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(48)150 2789 y Fe(rl_possible_completions)14
+g(:)h(:)26 b Fb(49)150 2789 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(51)150 2876 y Fe(rl_prep_terminal)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(39)150 2963 y Fe(rl_push_macro_input)7 b Fa(:)17 b(:)d(:)f(:)g(:)g
+Fb(40)150 2963 y Fe(rl_push_macro_input)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 3050 y Fe(rl_read_init_file)12
b Fa(:)17 b(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
@@ -12189,14 +12227,14 @@ Fe(rl_redisplay)8 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
g(:)g(:)h(:)f(:)g(:)22 b Fb(37)150 3312 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(40)150 3399 y Fe(rl_reset_after_signal)24 b Fa(:)13
+b Fb(41)150 3399 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(49)150 3486 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(37)150
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)21 b Fb(38)150
3573 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(49)150 3661 y Fe(rl_reset_terminal)12 b Fa(:)17
+b Fb(50)150 3661 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(40)150
3748 y Fe(rl_resize_terminal)10 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f
@@ -12206,7 +12244,7 @@ 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(38)150
3922 y Fe(rl_restore_state)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(40)150 4009 y Fe(rl_save_prompt)23 b
+g(:)g(:)29 b Fb(41)150 4009 y Fe(rl_save_prompt)23 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(38)150 4097 y Fe(rl_save_state)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
@@ -12216,7 +12254,7 @@ 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(35)150 4271 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(39)150 4358 y Fe(rl_set_keymap)25
+(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(40)150 4358 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
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37
b Fb(33)150 4445 y Fe(rl_set_paren_blink_timeout)7 b
@@ -12224,15 +12262,15 @@ Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)21 b Fb(42)150 4533 y Fe(rl_set_prompt)k 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(38)150 4620 y Fe(rl_set_screen_size)10 b Fa(:)17
+b Fb(39)150 4620 y Fe(rl_set_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(49)150 4707
y Fe(rl_set_signals)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(49)150 4794 y Fe(rl_show_char)8 b Fa(:)16
+g(:)g(:)34 b Fb(50)150 4794 y Fe(rl_show_char)8 b Fa(:)16
b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22
-b Fb(37)150 4881 y Fe(rl_stuff_char)j Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(38)150 4881 y Fe(rl_stuff_char)j 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(39)2025 260 y Fe
(rl_tty_set_default_bindings)27 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f
diff --git a/doc/rltech.texi b/doc/rltech.texi
index baf036d..3624ea3 100644
--- a/doc/rltech.texi
+++ b/doc/rltech.texi
@@ -720,6 +720,21 @@ 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 void rl_set_keymap (const char *name, Keymap keymap)
+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 names;
+you may not add a different name for one of Readline's builtin keymaps.
+Readline will make a copy of @var{name}.
+You may replace the name associated with a given keymap by calling this
+function two or more times with the same @var{keymap} argument.
+You can associate a registered name with a new keymap by calling this
+function two or more times with the same @var{name} argument.
+There is no way to remove a named keymap once the name has been
+registered.
+@end deftypefun
+
@node Binding Keys
@subsection Binding Keys
diff --git a/doc/rluser.texi b/doc/rluser.texi
index 1acc8cd..a59bd14 100644
--- a/doc/rluser.texi
+++ b/doc/rluser.texi
@@ -606,7 +606,7 @@ If this variable has not been given a value, the characters @key{ESC} and
@item keymap
@vindex keymap
Sets Readline's idea of the current keymap for key binding commands.
-Acceptable @code{keymap} names are
+Built-in @code{keymap} names are
@code{emacs},
@code{emacs-standard},
@code{emacs-meta},
@@ -617,6 +617,7 @@ Acceptable @code{keymap} names are
@code{vi-insert}.
@code{vi} is equivalent to @code{vi-command} (@code{vi-move} is also a
synonym); @code{emacs} is equivalent to @code{emacs-standard}.
+Applications may add additional names.
The default value is @code{emacs}.
The value of the @code{editing-mode} variable also affects the
default keymap.
@@ -1850,6 +1851,9 @@ If no compspec is found for the full pathname, an attempt is made to
find a compspec for the portion following the final slash.
If those searches do not result in a compspec, any compspec defined with
the @option{-D} option to @code{complete} is used as the default.
+If there is no default compspec, Bash attempts alias expansion
+on the command word as a final resort, and attempts to find a compspec
+for the command word from any successful expansion
Once a compspec has been found, it is used to generate the list of
matching words.
diff --git a/doc/rluserman.dvi b/doc/rluserman.dvi
index dbd7f7e..c29812e 100644
--- a/doc/rluserman.dvi
+++ b/doc/rluserman.dvi
Binary files differ
diff --git a/doc/rluserman.html b/doc/rluserman.html
index e8cfe97..e764810 100644
--- a/doc/rluserman.html
+++ b/doc/rluserman.html
@@ -1,6 +1,6 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on May, 21 2018 by texi2html 1.64 -->
+<!-- Created on November, 16 2018 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -647,6 +647,7 @@ The default value is <SAMP>`off'</SAMP>.
If set to <SAMP>`on'</SAMP>, and <VAR>completion-ignore-case</VAR> is enabled, Readline
treats hyphens (<SAMP>`-'</SAMP>) and underscores (<SAMP>`_'</SAMP>) as equivalent when
performing case-insensitive filename matching and completion.
+The default value is <SAMP>`off'</SAMP>.
<P>
<DT><CODE>completion-prefix-display-length</CODE>
@@ -794,7 +795,7 @@ If this variable has not been given a value, the characters <KBD>ESC</KBD> and
<DT><CODE>keymap</CODE>
<DD><A NAME="IDX30"></A>
Sets Readline's idea of the current keymap for key binding commands.
-Acceptable <CODE>keymap</CODE> names are
+Built-in <CODE>keymap</CODE> names are
<CODE>emacs</CODE>,
<CODE>emacs-standard</CODE>,
<CODE>emacs-meta</CODE>,
@@ -805,6 +806,7 @@ Acceptable <CODE>keymap</CODE> names are
<CODE>vi-insert</CODE>.
<CODE>vi</CODE> is equivalent to <CODE>vi-command</CODE> (<CODE>vi-move</CODE> is also a
synonym); <CODE>emacs</CODE> is equivalent to <CODE>emacs-standard</CODE>.
+Applications may add additional names.
The default value is <CODE>emacs</CODE>.
The value of the <CODE>editing-mode</CODE> variable also affects the
default keymap.
@@ -1006,7 +1008,7 @@ Meta-Rubout: backward-kill-word
Control-o: "&#62; output"
</pre></td></tr></table><P>
-In the above example, <KBD>C-u</KBD> is bound to the function
+In the example above, <KBD>C-u</KBD> is bound to the function
<CODE>universal-argument</CODE>,
<KBD>M-DEL</KBD> is bound to the function <CODE>backward-kill-word</CODE>, and
<KBD>C-o</KBD> is bound to run the macro
@@ -1730,7 +1732,7 @@ This function is intended to be bound to the "bracketed paste" escape
sequence sent by some terminals, and such a binding is assigned by default.
It allows Readline to insert the pasted text as a single unit without treating
each character as if it had been read from the keyboard. The characters
-are inserted as if each one was bound to <CODE>self-insert</CODE>) instead of
+are inserted as if each one was bound to <CODE>self-insert</CODE> instead of
executing any editing commands.
<P>
@@ -2979,7 +2981,7 @@ to permit their use in free software.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>May, 21 2018</I>
+This document was generated by <I>chet</I> on <I>November, 16 2018</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
@@ -3141,7 +3143,7 @@ the following structure:
<BR>
<FONT SIZE="-1">
This document was generated
-by <I>Chet Ramey</I> on <I>May, 21 2018</I>
+by <I>chet</I> on <I>November, 16 2018</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
diff --git a/doc/rluserman.info b/doc/rluserman.info
index 68a4fcb..4560faa 100644
--- a/doc/rluserman.info
+++ b/doc/rluserman.info
@@ -2,9 +2,9 @@ This is rluserman.info, produced by makeinfo version 6.5 from
rluserman.texi.
This manual describes the end user interface of the GNU Readline Library
-(version 7.0, 28 December 2017), a library which aids in the consistency
-of user interface across discrete programs which provide a command line
-interface.
+(version 8.0, 18 September 2018), a library which aids in the
+consistency of user interface across discrete programs which provide a
+command line interface.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
@@ -412,7 +412,7 @@ Variable Settings
If set to 'on', and COMPLETION-IGNORE-CASE is enabled,
Readline treats hyphens ('-') and underscores ('_') as
equivalent when performing case-insensitive filename matching
- and completion.
+ and completion. The default value is 'off'.
'completion-prefix-display-length'
The length in characters of the common prefix of a list of
@@ -527,13 +527,13 @@ Variable Settings
'keymap'
Sets Readline's idea of the current keymap for key binding
- commands. Acceptable 'keymap' names are 'emacs',
+ commands. Built-in 'keymap' names are 'emacs',
'emacs-standard', 'emacs-meta', 'emacs-ctlx', 'vi', 'vi-move',
'vi-command', and 'vi-insert'. 'vi' is equivalent to
'vi-command' ('vi-move' is also a synonym); 'emacs' is
- equivalent to 'emacs-standard'. The default value is 'emacs'.
- The value of the 'editing-mode' variable also affects the
- default keymap.
+ equivalent to 'emacs-standard'. Applications may add
+ additional names. The default value is 'emacs'. The value of
+ the 'editing-mode' variable also affects the default keymap.
'keyseq-timeout'
Specifies the duration Readline will wait for a character when
@@ -684,7 +684,7 @@ Key Bindings
Meta-Rubout: backward-kill-word
Control-o: "> output"
- In the above example, 'C-u' is bound to the function
+ In the example above, 'C-u' is bound to the function
'universal-argument', 'M-DEL' is bound to the function
'backward-kill-word', and 'C-o' is bound to run the macro
expressed on the right hand side (that is, to insert the text
@@ -1167,7 +1167,7 @@ File: rluserman.info, Node: Commands For Text, Next: Commands For Killing, Pr
assigned by default. It allows Readline to insert the pasted text
as a single unit without treating each character as if it had been
read from the keyboard. The characters are inserted as if each one
- was bound to 'self-insert') instead of executing any editing
+ was bound to 'self-insert' instead of executing any editing
commands.
'transpose-chars (C-t)'
@@ -1964,29 +1964,29 @@ their use in free software.

Tag Table:
-Node: Top908
-Node: Command Line Editing1430
-Node: Introduction and Notation2084
-Node: Readline Interaction3709
-Node: Readline Bare Essentials4902
-Node: Readline Movement Commands6687
-Node: Readline Killing Commands7649
-Node: Readline Arguments9569
-Node: Searching10615
-Node: Readline Init File12769
-Node: Readline Init File Syntax13924
-Node: Conditional Init Constructs34016
-Node: Sample Init File38214
-Node: Bindable Readline Commands41333
-Node: Commands For Moving42389
-Node: Commands For History43957
-Node: Commands For Text48223
-Node: Commands For Killing51667
-Node: Numeric Arguments53835
-Node: Commands For Completion54976
-Node: Keyboard Macros56946
-Node: Miscellaneous Commands57635
-Node: Readline vi Mode61558
-Node: GNU Free Documentation License62472
+Node: Top909
+Node: Command Line Editing1431
+Node: Introduction and Notation2085
+Node: Readline Interaction3710
+Node: Readline Bare Essentials4903
+Node: Readline Movement Commands6688
+Node: Readline Killing Commands7650
+Node: Readline Arguments9570
+Node: Searching10616
+Node: Readline Init File12770
+Node: Readline Init File Syntax13925
+Node: Conditional Init Constructs34085
+Node: Sample Init File38283
+Node: Bindable Readline Commands41402
+Node: Commands For Moving42458
+Node: Commands For History44026
+Node: Commands For Text48292
+Node: Commands For Killing51735
+Node: Numeric Arguments53903
+Node: Commands For Completion55044
+Node: Keyboard Macros57014
+Node: Miscellaneous Commands57703
+Node: Readline vi Mode61626
+Node: GNU Free Documentation License62540

End Tag Table
diff --git a/doc/rluserman.pdf b/doc/rluserman.pdf
index 3580f60..3764e29 100644
--- a/doc/rluserman.pdf
+++ b/doc/rluserman.pdf
Binary files differ
diff --git a/doc/rluserman.ps b/doc/rluserman.ps
index 19c7071..0a3f446 100644
--- a/doc/rluserman.ps
+++ b/doc/rluserman.ps
@@ -1,7 +1,7 @@
%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.997 Copyright 2017 Radical Eye Software
+%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software
%%Title: rluserman.dvi
-%%CreationDate: Mon May 21 14:32:51 2018
+%%CreationDate: Fri Nov 16 20:47:28 2018
%%Pages: 34
%%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 2018.05.21:1032
+%DVIPSSource: TeX output 2018.11.16:1547
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -5140,17 +5140,17 @@ ifelse
%%Page: 1 1
TeXDict begin 1 0 bop 150 1318 a Fp(GNU)65 b(Readline)g(Library)g(User)
g(In)-5 b(terface)p 150 1418 3600 34 v 1873 1515 a Fo(Edition)30
-b(7.0,)i(for)e Fn(Readline)e(Library)h Fo(V)-8 b(ersion)31
-b(7.0.)3145 1623 y(Decem)m(b)s(er)g(2017)150 4927 y Fm(Chet)45
-b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l
-(ersit)l(y)150 5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11
-b(ree)45 b(Soft)l(w)l(are)h(F)-11 b(oundation)p 150 5141
-3600 17 v eop end
+b(8.0,)i(for)e Fn(Readline)e(Library)h Fo(V)-8 b(ersion)31
+b(8.0.)3118 1623 y(Septem)m(b)s(er)f(2018)150 4927 y
+Fm(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46
+b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068 y(Brian)f(F)-11
+b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11
+b(oundation)p 150 5141 3600 17 v eop end
%%Page: 2 2
TeXDict begin 2 1 bop 150 4413 a Fo(This)29 b(man)m(ual)g(describ)s(es)
g(the)h(end)e(user)h(in)m(terface)i(of)f(the)f(GNU)h(Readline)g
-(Library)f(\(v)m(ersion)h(7.0,)h(28)150 4523 y(Decem)m(b)s(er)39
-b(2017\),)k(a)c(library)f(whic)m(h)g(aids)g(in)g(the)h(consistency)g
+(Library)f(\(v)m(ersion)h(8.0,)h(18)150 4523 y(Septem)m(b)s(er)36
+b(2018\),)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
@@ -5573,120 +5573,121 @@ Fn(visible)p Fo(',)32 b(Readline)i(uses)f(a)g(visible)g(b)s(ell)g(if)g
(one)g(is)g(a)m(v)-5 b(ailable.)51 b(If)33 b(set)g(to)1110
737 y(`)p Fn(audible)p Fo(')j(\(the)i(default\),)i(Readline)e(attempts)
g(to)h(ring)e(the)g(terminal's)1110 847 y(b)s(ell.)630
-993 y Fn(bind-tty-special-chars)1110 1103 y Fo(If)e(set)g(to)h(`)p
+1005 y Fn(bind-tty-special-chars)1110 1115 y Fo(If)e(set)g(to)h(`)p
Fn(on)p Fo(')f(\(the)g(default\),)i(Readline)f(attempts)g(to)g(bind)d
-(the)i(con)m(trol)1110 1212 y(c)m(haracters)30 b(treated)g(sp)s
+(the)i(con)m(trol)1110 1224 y(c)m(haracters)30 b(treated)g(sp)s
(ecially)g(b)m(y)f(the)g(k)m(ernel's)h(terminal)f(driv)m(er)g(to)h
-(their)1110 1322 y(Readline)h(equiv)-5 b(alen)m(ts.)630
-1468 y Fn(blink-matching-paren)1110 1577 y Fo(If)36 b(set)g(to)h(`)p
+(their)1110 1334 y(Readline)h(equiv)-5 b(alen)m(ts.)630
+1492 y Fn(blink-matching-paren)1110 1602 y Fo(If)36 b(set)g(to)h(`)p
Fn(on)p Fo(',)h(Readline)f(attempts)g(to)g(brie\015y)e(mo)m(v)m(e)j
-(the)f(cursor)e(to)i(an)1110 1687 y(op)s(ening)k(paren)m(thesis)h(when)
+(the)f(cursor)e(to)i(an)1110 1711 y(op)s(ening)k(paren)m(thesis)h(when)
f(a)h(closing)h(paren)m(thesis)e(is)h(inserted.)74 b(The)1110
-1797 y(default)31 b(is)f(`)p Fn(off)p Fo('.)630 1943
-y Fn(colored-completion-prefi)o(x)1110 2052 y Fo(If)f(set)h(to)g(`)p
+1821 y(default)31 b(is)f(`)p Fn(off)p Fo('.)630 1979
+y Fn(colored-completion-prefi)o(x)1110 2089 y Fo(If)f(set)h(to)g(`)p
Fn(on)p Fo(',)g(when)e(listing)i(completions,)h(Readline)f(displa)m(ys)
-g(the)f(com-)1110 2162 y(mon)c(pre\014x)f(of)i(the)f(set)h(of)g(p)s
+g(the)f(com-)1110 2198 y(mon)c(pre\014x)f(of)i(the)f(set)h(of)g(p)s
(ossible)f(completions)h(using)f(a)h(di\013eren)m(t)g(color.)1110
-2271 y(The)39 b(color)i(de\014nitions)f(are)g(tak)m(en)h(from)f(the)g
-(v)-5 b(alue)40 b(of)g(the)g Fn(LS_COLORS)1110 2381 y
+2308 y(The)39 b(color)i(de\014nitions)f(are)g(tak)m(en)h(from)f(the)g
+(v)-5 b(alue)40 b(of)g(the)g Fn(LS_COLORS)1110 2418 y
Fo(en)m(vironmen)m(t)31 b(v)-5 b(ariable.)41 b(The)30
-b(default)h(is)f(`)p Fn(off)p Fo('.)630 2527 y Fn(colored-stats)1110
-2637 y Fo(If)c(set)h(to)g(`)p Fn(on)p Fo(',)h(Readline)f(displa)m(ys)g
+b(default)h(is)f(`)p Fn(off)p Fo('.)630 2576 y Fn(colored-stats)1110
+2685 y Fo(If)c(set)h(to)g(`)p Fn(on)p Fo(',)h(Readline)f(displa)m(ys)g
(p)s(ossible)f(completions)h(using)f(di\013eren)m(t)1110
-2746 y(colors)40 b(to)g(indicate)g(their)f(\014le)h(t)m(yp)s(e.)67
+2795 y(colors)40 b(to)g(indicate)g(their)f(\014le)h(t)m(yp)s(e.)67
b(The)38 b(color)j(de\014nitions)d(are)i(tak)m(en)1110
-2856 y(from)24 b(the)h(v)-5 b(alue)25 b(of)g(the)g Fn(LS_COLORS)d
+2905 y(from)24 b(the)h(v)-5 b(alue)25 b(of)g(the)g Fn(LS_COLORS)d
Fo(en)m(vironmen)m(t)j(v)-5 b(ariable.)40 b(The)24 b(default)1110
-2966 y(is)30 b(`)p Fn(off)p Fo('.)630 3112 y Fn(comment-begin)1110
-3221 y Fo(The)62 b(string)g(to)h(insert)f(at)h(the)g(b)s(eginning)e(of)
-h(the)h(line)f(when)g(the)1110 3331 y Fn(insert-comment)26
+3014 y(is)30 b(`)p Fn(off)p Fo('.)630 3173 y Fn(comment-begin)1110
+3282 y Fo(The)62 b(string)g(to)h(insert)f(at)h(the)g(b)s(eginning)e(of)
+h(the)h(line)f(when)g(the)1110 3392 y Fn(insert-comment)26
b Fo(command)31 b(is)f(executed.)42 b(The)30 b(default)g(v)-5
-b(alue)31 b(is)f Fn("#")p Fo(.)630 3477 y Fn(completion-display-width)
-1110 3587 y Fo(The)41 b(n)m(um)m(b)s(er)f(of)i(screen)g(columns)f(used)
-g(to)h(displa)m(y)g(p)s(ossible)f(matc)m(hes)1110 3696
+b(alue)31 b(is)f Fn("#")p Fo(.)630 3550 y Fn(completion-display-width)
+1110 3660 y Fo(The)41 b(n)m(um)m(b)s(er)f(of)i(screen)g(columns)f(used)
+g(to)h(displa)m(y)g(p)s(ossible)f(matc)m(hes)1110 3769
y(when)28 b(p)s(erforming)g(completion.)41 b(The)29 b(v)-5
b(alue)29 b(is)g(ignored)g(if)g(it)h(is)f(less)g(than)1110
-3806 y(0)e(or)f(greater)h(than)f(the)g(terminal)h(screen)f(width.)39
+3879 y(0)e(or)f(greater)h(than)f(the)g(terminal)h(screen)f(width.)39
b(A)26 b(v)-5 b(alue)27 b(of)f(0)h(will)f(cause)1110
-3915 y(matc)m(hes)32 b(to)f(b)s(e)e(displa)m(y)m(ed)i(one)g(p)s(er)e
+3988 y(matc)m(hes)32 b(to)f(b)s(e)e(displa)m(y)m(ed)i(one)g(p)s(er)e
(line.)41 b(The)30 b(default)h(v)-5 b(alue)31 b(is)f(-1.)630
-4061 y Fn(completion-ignore-case)1110 4171 y Fo(If)d(set)h(to)g(`)p
+4147 y Fn(completion-ignore-case)1110 4256 y Fo(If)d(set)h(to)g(`)p
Fn(on)p Fo(',)g(Readline)g(p)s(erforms)e(\014lename)h(matc)m(hing)i
-(and)e(completion)1110 4281 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)
+(and)e(completion)1110 4366 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)
40 b(The)30 b(default)h(v)-5 b(alue)30 b(is)h(`)p Fn(off)p
-Fo('.)630 4427 y Fn(completion-map-case)1110 4536 y Fo(If)22
+Fo('.)630 4524 y Fn(completion-map-case)1110 4634 y Fo(If)22
b(set)g(to)h(`)p Fn(on)p Fo(',)h(and)e Fe(completion-ignore-case)31
-b Fo(is)22 b(enabled,)i(Readline)f(treats)1110 4646 y(h)m(yphens)29
+b Fo(is)22 b(enabled,)i(Readline)f(treats)1110 4743 y(h)m(yphens)29
b(\(`)p Fn(-)p Fo('\))j(and)e(underscores)g(\(`)p Fn(_)p
Fo('\))i(as)f(equiv)-5 b(alen)m(t)32 b(when)e(p)s(erforming)1110
-4756 y(case-insensitiv)m(e)j(\014lename)d(matc)m(hing)i(and)e
-(completion.)630 4902 y Fn(completion-prefix-displa)o(y-le)o(ngth)1110
-5011 y Fo(The)h(length)g(in)g(c)m(haracters)i(of)f(the)f(common)h
-(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 5121
-y(completions)g(that)f(is)g(displa)m(y)m(ed)g(without)g(mo)s
-(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 5230
-y(v)-5 b(alue)26 b(greater)h(than)e(zero,)j(common)e(pre\014xes)e
-(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 5340
-y(replaced)k(with)f(an)g(ellipsis)h(when)e(displa)m(ying)i(p)s(ossible)
-f(completions.)p eop end
+4853 y(case-insensitiv)m(e)47 b(\014lename)e(matc)m(hing)g(and)f
+(completion.)85 b(The)44 b(default)1110 4963 y(v)-5 b(alue)31
+b(is)f(`)p Fn(off)p Fo('.)630 5121 y Fn(completion-prefix-displa)o
+(y-le)o(ngth)1110 5230 y Fo(The)h(length)g(in)g(c)m(haracters)i(of)f
+(the)f(common)h(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110
+5340 y(completions)g(that)f(is)g(displa)m(y)m(ed)g(without)g(mo)s
+(di\014cation.)41 b(When)29 b(set)h(to)h(a)p eop end
%%Page: 6 9
TeXDict begin 6 8 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(6)630 299 y Fn
-(completion-query-items)1110 408 y Fo(The)26 b(n)m(um)m(b)s(er)f(of)h
-(p)s(ossible)g(completions)h(that)g(determines)f(when)f(the)i(user)1110
-518 y(is)i(ask)m(ed)h(whether)f(the)h(list)g(of)f(p)s(ossibilities)h
-(should)e(b)s(e)h(displa)m(y)m(ed.)41 b(If)29 b(the)1110
-628 y(n)m(um)m(b)s(er)d(of)h(p)s(ossible)f(completions)i(is)f(greater)h
-(than)e(this)h(v)-5 b(alue,)28 b(Readline)1110 737 y(will)f(ask)g(the)f
-(user)g(whether)g(or)g(not)h(he)f(wishes)g(to)i(view)e(them;)i
-(otherwise,)1110 847 y(they)d(are)f(simply)g(listed.)40
-b(This)23 b(v)-5 b(ariable)25 b(m)m(ust)g(b)s(e)e(set)i(to)g(an)g(in)m
-(teger)g(v)-5 b(alue)1110 956 y(greater)26 b(than)f(or)f(equal)i(to)f
-(0.)40 b(A)24 b(negativ)m(e)j(v)-5 b(alue)26 b(means)e(Readline)i
-(should)1110 1066 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g
-(is)g Fn(100)p Fo(.)630 1267 y Fn(convert-meta)1110 1377
-y Fo(If)22 b(set)g(to)h(`)p Fn(on)p Fo(',)h(Readline)f(will)f(con)m(v)m
+b(Command)29 b(Line)i(Editing)2153 b(6)1110 299 y(v)-5
+b(alue)26 b(greater)h(than)e(zero,)j(common)e(pre\014xes)e(longer)j
+(than)e(this)g(v)-5 b(alue)27 b(are)1110 408 y(replaced)k(with)f(an)g
+(ellipsis)h(when)e(displa)m(ying)i(p)s(ossible)f(completions.)630
+565 y Fn(completion-query-items)1110 675 y Fo(The)c(n)m(um)m(b)s(er)f
+(of)h(p)s(ossible)g(completions)h(that)g(determines)f(when)f(the)i
+(user)1110 784 y(is)i(ask)m(ed)h(whether)f(the)h(list)g(of)f(p)s
+(ossibilities)h(should)e(b)s(e)h(displa)m(y)m(ed.)41
+b(If)29 b(the)1110 894 y(n)m(um)m(b)s(er)d(of)h(p)s(ossible)f
+(completions)i(is)f(greater)h(than)e(this)h(v)-5 b(alue,)28
+b(Readline)1110 1003 y(will)f(ask)g(the)f(user)g(whether)g(or)g(not)h
+(he)f(wishes)g(to)i(view)e(them;)i(otherwise,)1110 1113
+y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5 b(ariable)25
+b(m)m(ust)g(b)s(e)e(set)i(to)g(an)g(in)m(teger)g(v)-5
+b(alue)1110 1223 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40
+b(A)24 b(negativ)m(e)j(v)-5 b(alue)26 b(means)e(Readline)i(should)1110
+1332 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g
+Fn(100)p Fo(.)630 1489 y Fn(convert-meta)1110 1598 y
+Fo(If)22 b(set)g(to)h(`)p Fn(on)p Fo(',)h(Readline)f(will)f(con)m(v)m
(ert)i(c)m(haracters)f(with)f(the)g(eigh)m(th)h(bit)f(set)1110
-1486 y(to)33 b(an)e Fh(asci)r(i)h Fo(k)m(ey)h(sequence)f(b)m(y)g
+1708 y(to)33 b(an)e Fh(asci)r(i)h Fo(k)m(ey)h(sequence)f(b)m(y)g
(stripping)f(the)h(eigh)m(th)h(bit)f(and)f(pre\014xing)1110
-1596 y(an)24 b Fn(ESC)g Fo(c)m(haracter,)j(con)m(v)m(erting)f(them)f
-(to)g(a)g(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 1705
+1817 y(an)24 b Fn(ESC)g Fo(c)m(haracter,)j(con)m(v)m(erting)f(them)f
+(to)g(a)g(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 1927
y(The)i(default)h(v)-5 b(alue)28 b(is)f(`)p Fn(on)p Fo(',)i(but)d(will)
i(b)s(e)f(set)h(to)g(`)p Fn(off)p Fo(')g(if)f(the)h(lo)s(cale)h(is)f
-(one)1110 1815 y(that)j(con)m(tains)h(eigh)m(t-bit)g(c)m(haracters.)630
-2016 y Fn(disable-completion)1110 2125 y Fo(If)k(set)h(to)h(`)p
+(one)1110 2037 y(that)j(con)m(tains)h(eigh)m(t-bit)g(c)m(haracters.)630
+2193 y Fn(disable-completion)1110 2303 y Fo(If)k(set)h(to)h(`)p
Fn(On)p Fo(',)g(Readline)f(will)g(inhibit)f(w)m(ord)h(completion.)60
-b(Completion)1110 2235 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h
+b(Completion)1110 2412 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h
(in)m(to)h(the)g(line)f(as)g(if)g(they)h(had)e(b)s(een)g(mapp)s(ed)1110
-2345 y(to)31 b Fn(self-insert)p Fo(.)38 b(The)30 b(default)g(is)h(`)p
-Fn(off)p Fo('.)630 2545 y Fn(echo-control-characters)1110
-2655 y Fo(When)f(set)h(to)g(`)p Fn(on)p Fo(',)f(on)g(op)s(erating)h
-(systems)f(that)h(indicate)g(they)g(supp)s(ort)1110 2765
+2522 y(to)31 b Fn(self-insert)p Fo(.)38 b(The)30 b(default)g(is)h(`)p
+Fn(off)p Fo('.)630 2679 y Fn(echo-control-characters)1110
+2788 y Fo(When)f(set)h(to)g(`)p Fn(on)p Fo(',)f(on)g(op)s(erating)h
+(systems)f(that)h(indicate)g(they)g(supp)s(ort)1110 2898
y(it,)i(readline)e(ec)m(ho)s(es)i(a)f(c)m(haracter)h(corresp)s(onding)d
-(to)j(a)f(signal)g(generated)1110 2874 y(from)e(the)g(k)m(eyb)s(oard.)
-41 b(The)30 b(default)g(is)h(`)p Fn(on)p Fo('.)630 3075
-y Fn(editing-mode)1110 3185 y Fo(The)d Fn(editing-mode)e
+(to)j(a)f(signal)g(generated)1110 3007 y(from)e(the)g(k)m(eyb)s(oard.)
+41 b(The)30 b(default)g(is)h(`)p Fn(on)p Fo('.)630 3164
+y Fn(editing-mode)1110 3273 y Fo(The)d Fn(editing-mode)e
Fo(v)-5 b(ariable)29 b(con)m(trols)h(whic)m(h)e(default)h(set)h(of)e(k)
-m(ey)i(bind-)1110 3294 y(ings)25 b(is)g(used.)38 b(By)26
+m(ey)i(bind-)1110 3383 y(ings)25 b(is)g(used.)38 b(By)26
b(default,)g(Readline)g(starts)f(up)f(in)h(Emacs)g(editing)h(mo)s(de,)
-1110 3404 y(where)j(the)g(k)m(eystrok)m(es)i(are)e(most)h(similar)f(to)
+1110 3493 y(where)j(the)g(k)m(eystrok)m(es)i(are)e(most)h(similar)f(to)
h(Emacs.)40 b(This)29 b(v)-5 b(ariable)30 b(can)1110
-3513 y(b)s(e)g(set)h(to)g(either)g(`)p Fn(emacs)p Fo(')e(or)h(`)p
-Fn(vi)p Fo('.)630 3714 y Fn(emacs-mode-string)1110 3824
+3602 y(b)s(e)g(set)h(to)g(either)g(`)p Fn(emacs)p Fo(')e(or)h(`)p
+Fn(vi)p Fo('.)630 3759 y Fn(emacs-mode-string)1110 3868
y Fo(If)j(the)h Fe(sho)m(w-mo)s(de-in-prompt)h Fo(v)-5
b(ariable)35 b(is)e(enabled,)i(this)f(string)f(is)h(dis-)1110
-3934 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)g(last)h(line)f
-(of)h(the)f(primary)f(prompt)g(when)1110 4043 y(emacs)g(editing)h(mo)s
+3978 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)g(last)h(line)f
+(of)h(the)f(primary)f(prompt)g(when)1110 4088 y(emacs)g(editing)h(mo)s
(de)e(is)h(activ)m(e.)40 b(The)21 b(v)-5 b(alue)22 b(is)g(expanded)f
-(lik)m(e)h(a)h(k)m(ey)f(bind-)1110 4153 y(ing,)27 b(so)f(the)f
+(lik)m(e)h(a)h(k)m(ey)f(bind-)1110 4197 y(ing,)27 b(so)f(the)f
(standard)g(set)h(of)f(meta-)i(and)e(con)m(trol)i(pre\014xes)d(and)h
-(bac)m(kslash)1110 4262 y(escap)s(e)f(sequences)h(is)e(a)m(v)-5
+(bac)m(kslash)1110 4307 y(escap)s(e)f(sequences)h(is)e(a)m(v)-5
b(ailable.)41 b(Use)25 b(the)f(`)p Fn(\\1)p Fo(')f(and)h(`)p
-Fn(\\2)p Fo(')g(escap)s(es)g(to)g(b)s(egin)1110 4372
+Fn(\\2)p Fo(')g(escap)s(es)g(to)g(b)s(egin)1110 4416
y(and)37 b(end)g(sequences)h(of)f(non-prin)m(ting)h(c)m(haracters,)j
-(whic)m(h)c(can)h(b)s(e)f(used)1110 4482 y(to)h(em)m(b)s(ed)f(a)g
+(whic)m(h)c(can)h(b)s(e)f(used)1110 4526 y(to)h(em)m(b)s(ed)f(a)g
(terminal)h(con)m(trol)h(sequence)f(in)m(to)g(the)f(mo)s(de)g(string.)
-61 b(The)1110 4591 y(default)31 b(is)f(`)p Fn(@)p Fo('.)630
+61 b(The)1110 4635 y(default)31 b(is)f(`)p Fn(@)p Fo('.)630
4792 y Fn(enable-bracketed-paste)1110 4902 y Fo(When)24
b(set)h(to)h(`)p Fn(On)p Fo(',)g(Readline)f(will)g(con\014gure)f(the)h
(terminal)g(in)f(a)h(w)m(a)m(y)g(that)1110 5011 y(will)k(enable)f(it)h
@@ -5766,32 +5767,32 @@ Fg(C-J)g Fo(will)h(terminate)g(an)1110 5340 y(incremen)m(tal)c(searc)m
%%Page: 8 11
TeXDict begin 8 10 bop 150 -116 a Fo(Chapter)30 b(1:)41
b(Command)29 b(Line)i(Editing)2153 b(8)630 299 y Fn(keymap)192
-b Fo(Sets)39 b(Readline's)g(idea)h(of)f(the)g(curren)m(t)f(k)m(eymap)h
-(for)g(k)m(ey)g(binding)f(com-)1110 408 y(mands.)81 b(Acceptable)47
-b Fn(keymap)42 b Fo(names)i(are)h Fn(emacs)p Fo(,)i Fn(emacs-standard)p
+b Fo(Sets)64 b(Readline's)i(idea)f(of)f(the)h(curren)m(t)f(k)m(eymap)h
+(for)f(k)m(ey)h(binding)1110 408 y(commands.)71 b(Built-in)41
+b Fn(keymap)e Fo(names)h(are)h Fn(emacs)p Fo(,)h Fn(emacs-standard)p
Fo(,)1110 518 y Fn(emacs-meta)p Fo(,)99 b Fn(emacs-ctlx)p
Fo(,)f Fn(vi)p Fo(,)j Fn(vi-move)p Fo(,)f Fn(vi-command)p
Fo(,)f(and)1110 628 y Fn(vi-insert)p Fo(.)81 b Fn(vi)44
b Fo(is)h(equiv)-5 b(alen)m(t)46 b(to)g Fn(vi-command)c
-Fo(\()p Fn(vi-move)h Fo(is)i(also)h(a)1110 737 y(synon)m(ym\);)g
-Fn(emacs)39 b Fo(is)i(equiv)-5 b(alen)m(t)42 b(to)g Fn(emacs-standard)p
-Fo(.)68 b(The)40 b(default)1110 847 y(v)-5 b(alue)52
-b(is)f Fn(emacs)p Fo(.)103 b(The)51 b(v)-5 b(alue)52
-b(of)f(the)h Fn(editing-mode)c Fo(v)-5 b(ariable)52 b(also)1110
-956 y(a\013ects)32 b(the)e(default)h(k)m(eymap.)630 1113
-y Fn(keyseq-timeout)1110 1223 y Fo(Sp)s(eci\014es)25
-b(the)g(duration)g(Readline)h(will)g(w)m(ait)g(for)g(a)f(c)m(haracter)i
-(when)e(read-)1110 1332 y(ing)30 b(an)g(am)m(biguous)g(k)m(ey)h
-(sequence)f(\(one)g(that)h(can)f(form)g(a)g(complete)h(k)m(ey)1110
-1442 y(sequence)j(using)e(the)i(input)e(read)h(so)g(far,)h(or)g(can)f
-(tak)m(e)i(additional)f(input)1110 1551 y(to)g(complete)g(a)f(longer)h
-(k)m(ey)f(sequence\).)49 b(If)33 b(no)f(input)g(is)h(receiv)m(ed)h
-(within)1110 1661 y(the)43 b(timeout,)48 b(Readline)43
-b(will)g(use)g(the)g(shorter)g(but)f(complete)j(k)m(ey)e(se-)1110
-1771 y(quence.)c(Readline)26 b(uses)f(this)h(v)-5 b(alue)26
-b(to)g(determine)g(whether)f(or)g(not)h(input)1110 1880
-y(is)31 b(a)m(v)-5 b(ailable)33 b(on)d(the)h(curren)m(t)f(input)g
-(source)h(\()p Fn(rl_instream)d Fo(b)m(y)i(default\).)1110
+Fo(\()p Fn(vi-move)h Fo(is)i(also)h(a)1110 737 y(synon)m(ym\);)41
+b Fn(emacs)c Fo(is)h(equiv)-5 b(alen)m(t)39 b(to)f Fn(emacs-standard)p
+Fo(.)59 b(Applications)1110 847 y(ma)m(y)32 b(add)e(additional)i
+(names.)43 b(The)30 b(default)h(v)-5 b(alue)32 b(is)f
+Fn(emacs)p Fo(.)41 b(The)30 b(v)-5 b(alue)1110 956 y(of)31
+b(the)f Fn(editing-mode)d Fo(v)-5 b(ariable)31 b(also)h(a\013ects)f
+(the)g(default)g(k)m(eymap.)630 1113 y Fn(keyseq-timeout)1110
+1223 y Fo(Sp)s(eci\014es)25 b(the)g(duration)g(Readline)h(will)g(w)m
+(ait)g(for)g(a)f(c)m(haracter)i(when)e(read-)1110 1332
+y(ing)30 b(an)g(am)m(biguous)g(k)m(ey)h(sequence)f(\(one)g(that)h(can)f
+(form)g(a)g(complete)h(k)m(ey)1110 1442 y(sequence)j(using)e(the)i
+(input)e(read)h(so)g(far,)h(or)g(can)f(tak)m(e)i(additional)f(input)
+1110 1551 y(to)g(complete)g(a)f(longer)h(k)m(ey)f(sequence\).)49
+b(If)33 b(no)f(input)g(is)h(receiv)m(ed)h(within)1110
+1661 y(the)43 b(timeout,)48 b(Readline)43 b(will)g(use)g(the)g(shorter)
+g(but)f(complete)j(k)m(ey)e(se-)1110 1771 y(quence.)c(Readline)26
+b(uses)f(this)h(v)-5 b(alue)26 b(to)g(determine)g(whether)f(or)g(not)h
+(input)1110 1880 y(is)31 b(a)m(v)-5 b(ailable)33 b(on)d(the)h(curren)m
+(t)f(input)g(source)h(\()p Fn(rl_instream)d Fo(b)m(y)i(default\).)1110
1990 y(The)25 b(v)-5 b(alue)26 b(is)f(sp)s(eci\014ed)f(in)h
(milliseconds,)j(so)d(a)h(v)-5 b(alue)26 b(of)f(1000)i(means)e(that)
1110 2099 y(Readline)e(will)g(w)m(ait)g(one)g(second)f(for)g
@@ -5969,7 +5970,7 @@ Fo(:)42 b Fe(function-name)35 b Fo(or)c Fe(macro)1110
(elled)e(out)h(in)g(English.)39 b(F)-8 b(or)30 b(example:)1350
4545 y Fn(Control-u:)45 b(universal-argument)1350 4655
y(Meta-Rubout:)f(backward-kill-word)1350 4765 y(Control-o:)h(">)i
-(output")1110 4902 y Fo(In)94 b(the)g(ab)s(o)m(v)m(e)i(example,)111
+(output")1110 4902 y Fo(In)94 b(the)g(example)h(ab)s(o)m(v)m(e,)112
b Fg(C-u)94 b Fo(is)g(b)s(ound)f(to)i(the)f(function)1110
5011 y Fn(universal-argument)p Fo(,)124 b Fg(M-DEL)107
b Fo(is)i(b)s(ound)e(to)j(the)f(function)1110 5121 y
@@ -6423,25 +6424,25 @@ b(b)m(y)f(some)h(terminals,)i(and)d(suc)m(h)g(a)h(binding)e(is)i
(single)g(unit)f(without)h(treating)h(eac)m(h)f(c)m(har-)630
1286 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
-1396 y(as)i(if)g(eac)m(h)i(one)e(w)m(as)h(b)s(ound)d(to)i
-Fn(self-insert)p Fo(\))e(instead)i(of)h(executing)g(an)m(y)f(editing)
-630 1505 y(commands.)150 1670 y Fn(transpose-chars)26
-b(\(C-t\))630 1780 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 1889 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 1999 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 2109 y(ha)m(v)m(e)32
-b(no)e(e\013ect.)150 2273 y Fn(transpose-words)c(\(M-t\))630
-2383 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 2493 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 2602 y(last)j(t)m(w)m(o)h(w)m
-(ords)e(on)g(the)h(line.)150 2767 y Fn(upcase-word)c(\(M-u\))630
-2877 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
+1396 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
+1505 y(commands.)150 1670 y Fn(transpose-chars)26 b(\(C-t\))630
+1780 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
+1889 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 1999 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 2109 y(ha)m(v)m(e)32 b(no)e(e\013ect.)150
+2273 y Fn(transpose-words)c(\(M-t\))630 2383 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
+2493 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 2602 y(last)j(t)m(w)m(o)h(w)m(ords)e(on)g(the)h(line.)150
+2767 y Fn(upcase-word)c(\(M-u\))630 2877 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
2986 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 3151 y Fn(downcase-word)d(\(M-l\))630
3261 y Fo(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h(follo)m(wing\))i
diff --git a/doc/version.texi b/doc/version.texi
index 79f4191..7e08db6 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -4,7 +4,7 @@ Copyright (C) 1988-2018 Free Software Foundation, Inc.
@set EDITION 8.0
@set VERSION 8.0
-@set UPDATED 6 July 2018
-@set UPDATED-MONTH July 2018
+@set UPDATED 18 September 2018
+@set UPDATED-MONTH September 2018
-@set LASTCHANGE Fri Jul 6 16:25:22 MDT 2018
+@set LASTCHANGE Tue Sep 18 13:08:12 EDT 2018
diff --git a/examples/Makefile.in b/examples/Makefile.in
index 30888f0..4a7c39e 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -71,15 +71,18 @@ TERMCAP_LIB = @TERMCAP_LIB@
SOURCES = excallback.c fileman.c histexamp.c manexamp.c rl-fgets.c rl.c \
rlbasic.c rlcat.c rlevent.c rlptytest.c rltest.c rlversion.c \
- rltest2.c rl-callbacktest.c hist_erasedups.c hist_purgecmd.c
+ rltest2.c rl-callbacktest.c hist_erasedups.c hist_purgecmd.c \
+ rlkeymaps.c
EXECUTABLES = fileman$(EXEEXT) rltest$(EXEEXT) rl$(EXEEXT) rlcat$(EXEEXT) \
rlevent$(EXEEXT) rlversion$(EXEEXT) histexamp$(EXEEXT) \
rl-callbacktest$(EXEEXT) rlbasic$(EXEEXT) \
- hist_erasedups$(EXEEXT) hist_purgecmd$(EXEEXT)
+ hist_erasedups$(EXEEXT) hist_purgecmd$(EXEEXT) \
+ rlkeymaps$(EXEEXT)
OBJECTS = fileman.o rltest.o rl.o rlevent.o rlcat.o rlversion.o histexamp.o \
- rltest2.o rl-callbacktest.o rlbasic.o hist_erasedups.o hist_purgecmd.o
+ rltest2.o rl-callbacktest.o rlbasic.o hist_erasedups.o hist_purgecmd.o \
+ rlkeymaps.o
OTHEREXE = rlptytest$(EXEEXT)
OTHEROBJ = rlptytest.o
@@ -120,6 +123,9 @@ rlcat$(EXEEXT): rlcat.o $(READLINE_LIB)
rlevent$(EXEEXT): rlevent.o $(READLINE_LIB)
$(CC) $(LDFLAGS) -o $@ rlevent.o $(READLINE_LIB) $(TERMCAP_LIB)
+rlkeymaps$(EXEEXT): rlkeymaps.o $(READLINE_LIB)
+ $(CC) $(LDFLAGS) -o $@ rlkeymaps.o $(READLINE_LIB) $(TERMCAP_LIB)
+
fileman$(EXEEXT): fileman.o $(READLINE_LIB)
$(CC) $(LDFLAGS) -o $@ fileman.o $(READLINE_LIB) $(TERMCAP_LIB)
@@ -163,6 +169,7 @@ histexamp.o: histexamp.c
hist_erasedups.o: hist_erasedups.c
hist_purgecmd.o: hist_purgecmd.c
rlbasic.o: rlbasic.c
+rlkeymaps.o: rlkeymaps.c
rlcat.o: rlcat.c
rlptytest.o: rlptytest.c
rl-callbacktest.o: rl-callbacktest.c
diff --git a/examples/rlkeymaps.c b/examples/rlkeymaps.c
new file mode 100644
index 0000000..fef77b3
--- /dev/null
+++ b/examples/rlkeymaps.c
@@ -0,0 +1,61 @@
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+
+#if defined (READLINE_LIBRARY)
+# include "readline.h"
+# include "history.h"
+#else
+# include <readline/readline.h>
+# include <readline/history.h>
+#endif
+
+int
+main (int c, char **v)
+{
+ Keymap nmap, emacsmap, newemacs;
+ int r, errs;
+
+ errs = 0;
+ nmap = rl_make_keymap ();
+
+ r = rl_set_keymap_name ("emacs", nmap);
+ if (r >= 0)
+ {
+ fprintf (stderr, "rlkeymaps: error: able to rename `emacs' keymap\n");
+ errs++;
+ }
+
+ emacsmap = rl_get_keymap_by_name ("emacs");
+ r = rl_set_keymap_name ("newemacs", emacsmap);
+ if (r >= 0)
+ {
+ fprintf (stderr, "rlkeymaps: error: able to set new name for emacs keymap\n");
+ errs++;
+ }
+
+ r = rl_set_keymap_name ("newemacs", nmap);
+ if (r < 0)
+ {
+ fprintf (stderr, "rlkeymaps: error: newemacs: could not set keymap name\n");
+ errs++;
+ }
+
+ newemacs = rl_copy_keymap (emacsmap);
+ r = rl_set_keymap_name ("newemacs", newemacs);
+ if (r < 0)
+ {
+ fprintf (stderr, "rlkeymaps: error: newemacs: could not set `newemacs' keymap to new map\n");
+ errs++;
+ }
+
+ r = rl_set_keymap_name ("emacscopy", newemacs);
+ if (r < 0)
+ {
+ fprintf (stderr, "rlkeymaps: error: emacscopy: could not rename created keymap\n");
+ errs++;
+ }
+
+ exit (errs);
+}
diff --git a/histexpand.c b/histexpand.c
index 92b996f..adcf5dc 100644
--- a/histexpand.c
+++ b/histexpand.c
@@ -55,6 +55,8 @@
#define slashify_in_quotes "\\`\"$"
+#define fielddelim(c) (whitespace(c) || (c) == '\n')
+
typedef int _hist_search_func_t PARAMS((const char *, int));
static char error_pointer;
@@ -769,7 +771,7 @@ history_expand_internal (char *string, int start, int qc, int *end_index_ptr, ch
the last time. */
if (subst_bywords && si > we)
{
- for (; temp[si] && whitespace (temp[si]); si++)
+ for (; temp[si] && fielddelim (temp[si]); si++)
;
ws = si;
we = history_tokenize_word (temp, si);
@@ -1446,7 +1448,7 @@ history_tokenize_word (const char *string, int ind)
i = ind;
delimiter = nestdelim = 0;
- if (member (string[i], "()\n"))
+ if (member (string[i], "()\n")) /* XXX - included \n, but why? been here forever */
{
i++;
return i;
@@ -1604,7 +1606,7 @@ history_tokenize_internal (const char *string, int wind, int *indp)
for (i = result_index = size = 0, result = (char **)NULL; string[i]; )
{
/* Skip leading whitespace. */
- for (; string[i] && whitespace (string[i]); i++)
+ for (; string[i] && fielddelim (string[i]); i++)
;
if (string[i] == 0 || string[i] == history_comment_char)
return (result);
diff --git a/histsearch.c b/histsearch.c
index b6771fd..7a426c9 100644
--- a/histsearch.c
+++ b/histsearch.c
@@ -199,7 +199,7 @@ int
_hs_history_patsearch (const char *string, int direction, int flags)
{
char *pat;
- size_t len;
+ size_t len, start;
int ret, unescaped_backslash;
#if defined (HAVE_FNMATCH)
@@ -216,12 +216,26 @@ _hs_history_patsearch (const char *string, int direction, int flags)
}
if (unescaped_backslash)
return -1;
- pat = (char *)xmalloc (len + 2);
+ pat = (char *)xmalloc (len + 3);
+ /* If the search string is not anchored, we'll be calling fnmatch (assuming
+ we have it). Prefix a `*' to the front of the search string so we search
+ anywhere in the line. */
+ if ((flags & ANCHORED_SEARCH) == 0 && string[0] != '*')
+ {
+ pat[0] = '*';
+ start = 1;
+ len++;
+ }
+ else
+ {
+ start = 0;
+ }
+
/* Attempt to reduce the number of searches by tacking a `*' onto the end
of a pattern that doesn't have one. Assume a pattern that ends in a
backslash contains an even number of trailing backslashes; we check
above */
- strcpy (pat, string);
+ strcpy (pat + start, string);
if (pat[len - 1] != '*')
{
pat[len] = '*'; /* XXX */
diff --git a/input.c b/input.c
index 0091645..d4d57a8 100644
--- a/input.c
+++ b/input.c
@@ -102,15 +102,29 @@ static int rl_gather_tyi PARAMS((void));
/* Windows isatty returns true for every character device, including the null
device, so we need to perform additional checks. */
#if defined (_WIN32) && !defined (__CYGWIN__)
-#include <conio.h>
#include <io.h>
+#include <conio.h>
#define WIN32_LEAN_AND_MEAN 1
#include <windows.h>
int
win32_isatty (int fd)
{
- return (_isatty (fd) ? ((((long) (HANDLE) _get_osfhandle (fd)) & 3) == 3) : 0);
+ if (_isatty(fd))
+ {
+ HANDLE h;
+ DWORD ignored;
+
+ if ((h = (HANDLE) _get_osfhandle (fd)) == INVALID_HANDLE_VALUE)
+ {
+ errno = EBADF;
+ return 0;
+ }
+ if (GetConsoleMode (h, &ignored) != 0)
+ return 1;
+ }
+ errno = ENOTTY;
+ return 0;
}
#define isatty(x) win32_isatty(x)
diff --git a/isearch.c b/isearch.c
index fa58e84..d6c5904 100644
--- a/isearch.c
+++ b/isearch.c
@@ -327,7 +327,10 @@ _rl_search_getchar (_rl_search_cxt *cxt)
int
_rl_isearch_dispatch (_rl_search_cxt *cxt, int c)
{
- int n, wstart, wlen, limit, cval;
+ int n, wstart, wlen, limit, cval, incr;
+ char *paste;
+ size_t pastelen;
+ int j;
rl_command_func_t *f;
f = (rl_command_func_t *)NULL;
@@ -398,6 +401,8 @@ add_character:
cxt->lastc = -5;
else if (c == CTRL ('Y') || f == rl_yank) /* XXX */
cxt->lastc = -6;
+ else if (f == rl_bracketed_paste_begin)
+ cxt->lastc = -7;
}
/* If we changed the keymap earlier while translating a key sequence into
@@ -620,22 +625,44 @@ add_character:
cxt->search_string[cxt->search_string_index] = '\0';
break;
+ case -7: /* bracketed paste */
+ paste = _rl_bracketed_text (&pastelen);
+ if (paste == 0 || *paste == 0)
+ {
+ free (paste);
+ break;
+ }
+ if (cxt->search_string_index + pastelen + 1 >= cxt->search_string_size)
+ {
+ cxt->search_string_size += pastelen + 2;
+ cxt->search_string = (char *)xrealloc (cxt->search_string, cxt->search_string_size);
+ }
+ strcpy (cxt->search_string + cxt->search_string_index, paste);
+ cxt->search_string_index += pastelen;
+ free (paste);
+ break;
+
/* Add character to search string and continue search. */
default:
- if (cxt->search_string_index + 2 >= cxt->search_string_size)
+#if defined (HANDLE_MULTIBYTE)
+ wlen = (cxt->mb[0] == 0 || cxt->mb[1] == 0) ? 1 : RL_STRLEN (cxt->mb);
+#else
+ wlen = 1;
+#endif
+ if (cxt->search_string_index + wlen + 1 >= cxt->search_string_size)
{
- cxt->search_string_size += 128;
+ cxt->search_string_size += 128; /* 128 much greater than MB_CUR_MAX */
cxt->search_string = (char *)xrealloc (cxt->search_string, cxt->search_string_size);
}
#if defined (HANDLE_MULTIBYTE)
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
{
- int j, l;
+ int j;
if (cxt->mb[0] == 0 || cxt->mb[1] == 0)
cxt->search_string[cxt->search_string_index++] = cxt->mb[0];
else
- for (j = 0, l = RL_STRLEN (cxt->mb); j < l; )
+ for (j = 0; j < wlen; )
cxt->search_string[cxt->search_string_index++] = cxt->mb[j++];
}
else
diff --git a/keymaps.h b/keymaps.h
index af8d5d9..1fa853d 100644
--- a/keymaps.h
+++ b/keymaps.h
@@ -90,6 +90,9 @@ extern Keymap rl_get_keymap PARAMS((void));
/* Set the current keymap to MAP. */
extern void rl_set_keymap PARAMS((Keymap));
+/* Set the name of MAP to NAME */
+extern int rl_set_keymap_name PARAMS((const char *, Keymap));
+
#ifdef __cplusplus
}
#endif
diff --git a/kill.c b/kill.c
index 9fdfc77..cf8ca93 100644
--- a/kill.c
+++ b/kill.c
@@ -670,16 +670,16 @@ rl_yank_last_arg (int count, int key)
`bracketed paste' sequence, read the rest of the pasted input until the
closing sequence and insert the pasted text as a single unit without
interpretation. */
-int
-rl_bracketed_paste_begin (int count, int key)
+char *
+_rl_bracketed_text (size_t *lenp)
{
- int retval, c;
+ int c;
size_t len, cap;
char *buf;
- retval = 0;
len = 0;
buf = xmalloc (cap = 64);
+ buf[0] = '\0';
RL_SETSTATE (RL_STATE_MOREINPUT);
while ((c = rl_read_key ()) >= 0)
@@ -708,9 +708,23 @@ rl_bracketed_paste_begin (int count, int key)
if (len == cap)
buf = xrealloc (buf, cap + 1);
buf[len] = '\0';
- retval = rl_insert_text (buf) == len ? 0 : 1;
}
+ if (lenp)
+ *lenp = len;
+ return (buf);
+}
+
+int
+rl_bracketed_paste_begin (int count, int key)
+{
+ int retval, c;
+ size_t len, cap;
+ char *buf;
+
+ buf = _rl_bracketed_text (&len);
+ retval = rl_insert_text (buf) == len ? 0 : 1;
+
xfree (buf);
return (retval);
}
diff --git a/readline.h b/readline.h
index 4e08b2e..da78271 100644
--- a/readline.h
+++ b/readline.h
@@ -357,6 +357,9 @@ extern Keymap rl_get_keymap_by_name PARAMS((const char *));
extern char *rl_get_keymap_name PARAMS((Keymap));
extern void rl_set_keymap PARAMS((Keymap));
extern Keymap rl_get_keymap PARAMS((void));
+
+extern int rl_set_keymap_name PARAMS((const char *, Keymap));
+
/* Undocumented; used internally only. */
extern void rl_set_keymap_from_edit_mode PARAMS((void));
extern char *rl_get_keymap_name_from_edit_mode PARAMS((void));
diff --git a/rlprivate.h b/rlprivate.h
index 69943de..e85e4d8 100644
--- a/rlprivate.h
+++ b/rlprivate.h
@@ -309,6 +309,8 @@ extern int _rl_search_getchar PARAMS((_rl_search_cxt *));
#define BRACK_PASTE_INIT "\033[?2004h"
#define BRACK_PASTE_FINI "\033[?2004l\r"
+extern char *_rl_bracketed_text PARAMS((size_t *));
+
/* macro.c */
extern void _rl_with_macro_input PARAMS((char *));
extern int _rl_peek_macro_key PARAMS((void));
diff --git a/rltty.c b/rltty.c
index 2ee36a7..d0cd572 100644
--- a/rltty.c
+++ b/rltty.c
@@ -396,7 +396,6 @@ save_tty_chars (TIOTYPE *tiop)
/* Currently this is only used on AIX */
static void
rltty_warning (char *msg)
- char *msg;
{
_rl_errmsg ("warning: %s", msg);
}
diff --git a/search.c b/search.c
index 6492561..c9c1f5d 100644
--- a/search.c
+++ b/search.c
@@ -135,7 +135,7 @@ noninc_search_from_pos (char *string, int pos, int dir, int flags, int *ncp)
sflags |= ANCHORED_SEARCH;
s++;
}
- ret = _hs_history_patsearch (string, dir, sflags);
+ ret = _hs_history_patsearch (s, dir, sflags);
}
else if (*string == '^')
ret = history_search_prefix (string + 1, dir);
diff --git a/support/config.guess b/support/config.guess
index 883a671..18f8edc 100755
--- a/support/config.guess
+++ b/support/config.guess
@@ -2,7 +2,7 @@
# Attempt to guess a canonical system name.
# Copyright 1992-2018 Free Software Foundation, Inc.
-timestamp='2018-05-19'
+timestamp='2018-08-29'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -84,8 +84,6 @@ if test $# != 0; then
exit 1
fi
-trap 'exit 1' 1 2 15
-
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
@@ -96,34 +94,39 @@ trap 'exit 1' 1 2 15
# Portable tmp directory creation inspired by the Autoconf team.
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
- ,,) echo "int x;" > "$dummy.c" ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
+tmp=
+# shellcheck disable=SC2172
+trap 'test -z "$tmp" || rm -fr "$tmp"' 1 2 13 15
+trap 'exitcode=$?; test -z "$tmp" || rm -fr "$tmp"; exit $exitcode' 0
+
+set_cc_for_build() {
+ : "${TMPDIR=/tmp}"
+ # shellcheck disable=SC2039
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
+ dummy=$tmp/dummy
+ case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
+ ,,) echo "int x;" > "$dummy.c"
+ for driver in cc gcc c89 c99 ; do
+ if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$driver"
+ break
+ fi
+ done
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+ esac
+}
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+if test -f /.attbin/uname ; then
PATH=$PATH:/.attbin ; export PATH
fi
@@ -138,7 +141,7 @@ Linux|GNU|GNU/*)
# We could probably try harder.
LIBC=gnu
- eval "$set_cc_for_build"
+ set_cc_for_build
cat <<-EOF > "$dummy.c"
#include <features.h>
#if defined(__UCLIBC__)
@@ -199,7 +202,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
os=netbsdelf
;;
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval "$set_cc_for_build"
+ set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
then
@@ -389,20 +392,15 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
echo i386-pc-auroraux"$UNAME_RELEASE"
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval "$set_cc_for_build"
- SUN_ARCH=i386
- # If there is a compiler, see if it is configured for 64-bit objects.
- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
- # This test works for both compilers.
- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- SUN_ARCH=x86_64
- fi
- fi
- echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
+ UNAME_REL="`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
+ case `isainfo -b` in
+ 32)
+ echo i386-pc-solaris2"$UNAME_REL"
+ ;;
+ 64)
+ echo x86_64-pc-solaris2"$UNAME_REL"
+ ;;
+ esac
exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
@@ -482,7 +480,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
echo clipper-intergraph-clix"$UNAME_RELEASE"
exit ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
- eval "$set_cc_for_build"
+ set_cc_for_build
sed 's/^ //' << EOF > "$dummy.c"
#ifdef __cplusplus
#include <stdio.h> /* for printf() prototype */
@@ -579,7 +577,7 @@ EOF
exit ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval "$set_cc_for_build"
+ set_cc_for_build
sed 's/^ //' << EOF > "$dummy.c"
#include <sys/systemcfg.h>
@@ -660,7 +658,7 @@ EOF
esac
fi
if [ "$HP_ARCH" = "" ]; then
- eval "$set_cc_for_build"
+ set_cc_for_build
sed 's/^ //' << EOF > "$dummy.c"
#define _HPUX_SOURCE
@@ -700,7 +698,7 @@ EOF
esac
if [ "$HP_ARCH" = hppa2.0w ]
then
- eval "$set_cc_for_build"
+ set_cc_for_build
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
@@ -726,7 +724,7 @@ EOF
echo ia64-hp-hpux"$HPUX_REV"
exit ;;
3050*:HI-UX:*:*)
- eval "$set_cc_for_build"
+ set_cc_for_build
sed 's/^ //' << EOF > "$dummy.c"
#include <unistd.h>
int
@@ -840,6 +838,17 @@ EOF
*:BSD/OS:*:*)
echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
exit ;;
+ arm:FreeBSD:*:*)
+ UNAME_PROCESSOR=`uname -p`
+ set_cc_for_build
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi
+ else
+ echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf
+ fi
+ exit ;;
*:FreeBSD:*:*)
UNAME_PROCESSOR=`/usr/bin/uname -p`
case "$UNAME_PROCESSOR" in
@@ -881,7 +890,7 @@ EOF
echo "$UNAME_MACHINE"-pc-uwin
exit ;;
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- echo x86_64-unknown-cygwin
+ echo x86_64-pc-cygwin
exit ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
@@ -894,8 +903,8 @@ EOF
# other systems with GNU libc and userland
echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
exit ;;
- i*86:Minix:*:*)
- echo "$UNAME_MACHINE"-pc-minix
+ *:Minix:*:*)
+ echo "$UNAME_MACHINE"-unknown-minix
exit ;;
aarch64:Linux:*:*)
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
@@ -922,7 +931,7 @@ EOF
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
arm*:Linux:*:*)
- eval "$set_cc_for_build"
+ set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
@@ -971,7 +980,7 @@ EOF
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
- eval "$set_cc_for_build"
+ set_cc_for_build
sed 's/^ //' << EOF > "$dummy.c"
#undef CPU
#undef ${UNAME_MACHINE}
@@ -1285,7 +1294,7 @@ EOF
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- eval "$set_cc_for_build"
+ set_cc_for_build
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
@@ -1358,6 +1367,7 @@ EOF
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
+ # shellcheck disable=SC2154
if test "$cputype" = 386; then
UNAME_MACHINE=i386
else
diff --git a/support/config.sub b/support/config.sub
index f38250f..f208558 100755
--- a/support/config.sub
+++ b/support/config.sub
@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2018 Free Software Foundation, Inc.
-timestamp='2018-05-19'
+timestamp='2018-08-29'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -89,7 +89,7 @@ while test $# -gt 0 ; do
- ) # Use stdin as input.
break ;;
-* )
- echo "$me: invalid option $1$help"
+ echo "$me: invalid option $1$help" >&2
exit 1 ;;
*local*)
@@ -149,8 +149,40 @@ case $1 in
esac
;;
*-*)
- basic_machine=$field1
- os=$field2
+ # A lone config we happen to match not fitting any pattern
+ case $field1-$field2 in
+ decstation-3100)
+ basic_machine=mips-dec
+ os=
+ ;;
+ *-*)
+ # Second component is usually, but not always the OS
+ case $field2 in
+ # Prevent following clause from handling this valid os
+ sun*os*)
+ basic_machine=$field1
+ os=$field2
+ ;;
+ # Manufacturers
+ dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
+ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
+ | unicom* | ibm* | next | hp | isi* | apollo | altos* \
+ | convergent* | ncr* | news | 32* | 3600* | 3100* \
+ | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
+ | ultra | tti* | harris | dolphin | highlevel | gould \
+ | cbm | ns | masscomp | apple | axis | knuth | cray \
+ | microblaze* | sim | cisco \
+ | oki | wec | wrs | winbond)
+ basic_machine=$field1-$field2
+ os=
+ ;;
+ *)
+ basic_machine=$field1
+ os=$field2
+ ;;
+ esac
+ ;;
+ esac
;;
*)
# Convert single-component short-hands not valid as part of
@@ -168,6 +200,14 @@ case $1 in
basic_machine=m68010-adobe
os=scout
;;
+ alliant)
+ basic_machine=fx80-alliant
+ os=
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ os=
+ ;;
am29k)
basic_machine=a29k-none
os=bsd
@@ -176,6 +216,10 @@ case $1 in
basic_machine=580-amdahl
os=sysv
;;
+ amiga)
+ basic_machine=m68k-unknown
+ os=
+ ;;
amigaos | amigados)
basic_machine=m68k-unknown
os=amigaos
@@ -212,13 +256,41 @@ case $1 in
basic_machine=arm-unknown
os=cegcc
;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=bsd
+ ;;
cray)
basic_machine=j90-cray
os=unicos
;;
- craynv)
- basic_machine=craynv-cray
- os=unicosmp
+ crds | unos)
+ basic_machine=m68k-crds
+ os=
+ ;;
+ da30)
+ basic_machine=m68k-da30
+ os=
+ ;;
+ decstation | pmax | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ os=
;;
delta88)
basic_machine=m88k-motorola
@@ -264,6 +336,9 @@ case $1 in
basic_machine=m88k-harris
os=sysv3
;;
+ hp300)
+ basic_machine=m68k-hp
+ ;;
hp300bsd)
basic_machine=m68k-hp
os=bsd
@@ -285,7 +360,7 @@ case $1 in
os=mach
;;
vsta)
- basic_machine=i386-unknown
+ basic_machine=i386-pc
os=vsta
;;
isi68 | isi)
@@ -349,7 +424,7 @@ case $1 in
os=sysv4
;;
netbsd386)
- basic_machine=i386-unknown
+ basic_machine=i386-pc
os=netbsd
;;
netwinder)
@@ -432,14 +507,26 @@ case $1 in
basic_machine=mips-sei
os=seiux
;;
+ sequent)
+ basic_machine=i386-sequent
+ os=
+ ;;
sps7)
basic_machine=m68k-bull
os=sysv2
;;
+ st2000)
+ basic_machine=m68k-tandem
+ os=
+ ;;
stratus)
basic_machine=i860-stratus
os=sysv4
;;
+ sun2)
+ basic_machine=m68000-sun
+ os=
+ ;;
sun2os3)
basic_machine=m68000-sun
os=sunos3
@@ -448,6 +535,10 @@ case $1 in
basic_machine=m68000-sun
os=sunos4
;;
+ sun3)
+ basic_machine=m68k-sun
+ os=
+ ;;
sun3os3)
basic_machine=m68k-sun
os=sunos3
@@ -456,6 +547,10 @@ case $1 in
basic_machine=m68k-sun
os=sunos4
;;
+ sun4)
+ basic_machine=sparc-sun
+ os=
+ ;;
sun4os3)
basic_machine=sparc-sun
os=sunos3
@@ -468,6 +563,10 @@ case $1 in
basic_machine=sparc-sun
os=solaris2
;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ os=
+ ;;
sv1)
basic_machine=sv1-cray
os=unicos
@@ -540,521 +639,162 @@ case $1 in
;;
esac
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- dec* | mips* | sequent* | encore* | pc532* | sgi* | sony* | \
- att* | 7300* | 3300* | delta* | motorola* | sun[234]* | \
- unicom* | ibm* | next | hp | isi* | apollo | altos* | \
- convergent* | ncr* | news | 32* | 3600* | 3100* | hitachi* |\
- c[123]* | convex* | sun | crds | omron* | dg | ultra | tti* | \
- harris | dolphin | highlevel | gould | cbm | ns | masscomp | \
- apple | axis | knuth | cray | microblaze*)
- os=
- basic_machine=$1
- ;;
- bluegene*)
- os=cnk
- ;;
- sim | cisco | oki | wec | winbond)
- os=
- basic_machine=$1
- ;;
- scout)
- ;;
- wrs)
- os=vxworks
- basic_machine=$1
- ;;
- chorusos*)
- os=chorusos
- basic_machine=$1
- ;;
- chorusrdb)
- os=chorusrdb
- basic_machine=$1
- ;;
- hiux*)
- os=hiuxwe2
- ;;
- sco6)
- os=sco5v6
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- sco5)
- os=sco3.2v5
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- sco4)
- os=sco3.2v4
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- sco5v6*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- sco*)
- os=sco3.2v2
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- udk*)
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- isc)
- os=isc2.2
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- clix*)
- basic_machine=clipper-intergraph
- ;;
- isc*)
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
- ;;
- lynx*178)
- os=lynxos178
- ;;
- lynx*5)
- os=lynxos5
- ;;
- lynx*)
- os=lynxos
- ;;
- ptx*)
- basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
- ;;
- psos*)
- os=psos
- ;;
- mint | mint[0-9]*)
- basic_machine=m68k-atari
- os=mint
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
+# Decode 1-component or ad-hoc basic machines
case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- 1750a | 580 \
- | a29k \
- | aarch64 | aarch64_be \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | am33_2.0 \
- | arc | arceb \
- | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv6m | armv[78][arm] \
- | avr | avr32 \
- | ba \
- | be32 | be64 \
- | bfin \
- | c4x | c8051 | clipper | csky \
- | d10v | d30v | dlx | dsp16xx \
- | e2k | epiphany \
- | fido | fr30 | frv | ft32 \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | hexagon \
- | i370 | i860 | i960 | ia16 | ia64 \
- | ip2k | iq2000 \
- | k1om \
- | le32 | le64 \
- | lm32 \
- | m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64el \
- | mips64octeon | mips64octeonel \
- | mips64orion | mips64orionel \
- | mips64r5900 | mips64r5900el \
- | mips64vr | mips64vrel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mips64vr5900 | mips64vr5900el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa32r6 | mipsisa32r6el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64r2 | mipsisa64r2el \
- | mipsisa64r6 | mipsisa64r6el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipsr5900 | mipsr5900el \
- | mipstx39 | mipstx39el \
- | mn10200 | mn10300 \
- | moxie \
- | mt \
- | msp430 \
- | nds32 | nds32le | nds32be \
- | nfp \
- | nios | nios2 | nios2eb | nios2el \
- | ns16k | ns32k \
- | open8 | or1k | or1knd | or32 \
- | pdp10 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle \
- | pru \
- | pyramid \
- | riscv32 | riscv64 \
- | rl78 | rx \
- | score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu \
- | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
- | ubicom32 \
- | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
- | visium \
- | wasm32 \
- | x86 | xc16x | xstormy16 | xtensa \
- | z8k | z80)
- basic_machine=$basic_machine-unknown
- ;;
- c54x)
- basic_machine=tic54x-unknown
- ;;
- c55x)
- basic_machine=tic55x-unknown
- ;;
- c6x)
- basic_machine=tic6x-unknown
- ;;
- leon|leon[3-9])
- basic_machine=sparc-$basic_machine
- ;;
- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
- basic_machine=$basic_machine-unknown
- os=${os:-none}
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
+ # Here we handle the default manufacturer of certain CPU types. It is in
+ # some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ cpu=hppa1.1
+ vendor=winbond
;;
- m9s12z | m68hcs12z | hcs12z | s12z)
- basic_machine=s12z-unknown
- os=${os:-none}
+ op50n)
+ cpu=hppa1.1
+ vendor=oki
;;
- ms1)
- basic_machine=mt-unknown
+ op60c)
+ cpu=hppa1.1
+ vendor=oki
;;
- strongarm | thumb | xscale)
- basic_machine=arm-unknown
+ ibm*)
+ cpu=i370
+ vendor=ibm
;;
- xgate)
- basic_machine=$basic_machine-unknown
- os=${os:-none}
+ orion105)
+ cpu=clipper
+ vendor=highlevel
;;
- xscaleeb)
- basic_machine=armeb-unknown
+ mac | mpw | mac-mpw)
+ cpu=m68k
+ vendor=apple
;;
-
- xscaleel)
- basic_machine=armel-unknown
+ pmac | pmac-mpw)
+ cpu=powerpc
+ vendor=apple
;;
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Recognize the basic CPU types with company name.
- 580-* \
- | a29k-* \
- | aarch64-* | aarch64_be-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
- | ba-* \
- | be32-* | be64-* \
- | bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* \
- | c8051-* | clipper-* | craynv-* | csky-* | cydra-* \
- | d10v-* | d30v-* | dlx-* \
- | e2k-* | elxsi-* \
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | hexagon-* \
- | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
- | ip2k-* | iq2000-* \
- | k1om-* \
- | le32-* | le64-* \
- | lm32-* \
- | m32c-* | m32r-* | m32rle-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
- | microblaze-* | microblazeel-* \
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
- | mips16-* \
- | mips64-* | mips64el-* \
- | mips64octeon-* | mips64octeonel-* \
- | mips64orion-* | mips64orionel-* \
- | mips64r5900-* | mips64r5900el-* \
- | mips64vr-* | mips64vrel-* \
- | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* \
- | mips64vr5000-* | mips64vr5000el-* \
- | mips64vr5900-* | mips64vr5900el-* \
- | mipsisa32-* | mipsisa32el-* \
- | mipsisa32r2-* | mipsisa32r2el-* \
- | mipsisa32r6-* | mipsisa32r6el-* \
- | mipsisa64-* | mipsisa64el-* \
- | mipsisa64r2-* | mipsisa64r2el-* \
- | mipsisa64r6-* | mipsisa64r6el-* \
- | mipsisa64sb1-* | mipsisa64sb1el-* \
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipsr5900-* | mipsr5900el-* \
- | mipstx39-* | mipstx39el-* \
- | mmix-* \
- | mt-* \
- | msp430-* \
- | nds32-* | nds32le-* | nds32be-* \
- | nfp-* \
- | nios-* | nios2-* | nios2eb-* | nios2el-* \
- | none-* | np1-* | ns16k-* | ns32k-* \
- | open8-* \
- | or1k*-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
- | pru-* \
- | pyramid-* \
- | riscv32-* | riscv64-* \
- | rl78-* | romp-* | rs6000-* | rx-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
- | sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
- | tahoe-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
- | tile*-* \
- | tron-* \
- | ubicom32-* \
- | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
- | vax-* \
- | visium-* \
- | wasm32-* \
- | we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* \
- | xstormy16-* | xtensa*-* \
- | ymp-* \
- | z8k-* | z80-*)
- ;;
- # Recognize the basic CPU types without company name, with glob match.
- xtensa*)
- basic_machine=$basic_machine-unknown
- ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
+ cpu=m68000
+ vendor=att
;;
3b*)
- basic_machine=we32k-att
- ;;
- abacus)
- basic_machine=abacus-unknown
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- amd64)
- basic_machine=x86_64-pc
- ;;
- amd64-*)
- basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- ;;
- amiga | amiga-*)
- basic_machine=m68k-unknown
- ;;
- asmjs)
- basic_machine=asmjs-unknown
- ;;
- blackfin-*)
- basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- os=linux
+ cpu=we32k
+ vendor=att
;;
bluegene*)
- basic_machine=powerpc-ibm
+ cpu=powerpc
+ vendor=ibm
os=cnk
;;
- c54x-*)
- basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- ;;
- c55x-*)
- basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- ;;
- c6x-*)
- basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- ;;
- c90)
- basic_machine=c90-cray
- os=${os:-unicos}
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=bsd
- ;;
- cr16 | cr16-*)
- basic_machine=cr16-unknown
- os=${os:-elf}
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- crisv32 | crisv32-* | etraxfs*)
- basic_machine=crisv32-axis
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- crx)
- basic_machine=crx-unknown
- os=${os:-elf}
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
decsystem10* | dec10*)
- basic_machine=pdp10-dec
+ cpu=pdp10
+ vendor=dec
os=tops10
;;
decsystem20* | dec20*)
- basic_machine=pdp10-dec
+ cpu=pdp10
+ vendor=dec
os=tops20
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=${os:-bosx}
+ cpu=m68k
+ vendor=motorola
;;
dpx2*)
- basic_machine=m68k-bull
+ cpu=m68k
+ vendor=bull
os=sysv3
;;
- e500v[12])
- basic_machine=powerpc-unknown
- os=$os"spe"
- ;;
- e500v[12]-*)
- basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- os=$os"spe"
- ;;
encore | umax | mmax)
- basic_machine=ns32k-encore
+ cpu=ns32k
+ vendor=encore
;;
elxsi)
- basic_machine=elxsi-elxsi
+ cpu=elxsi
+ vendor=elxsi
os=${os:-bsd}
;;
fx2800)
- basic_machine=i860-alliant
+ cpu=i860
+ vendor=alliant
;;
genix)
- basic_machine=ns32k-ns
+ cpu=ns32k
+ vendor=ns
;;
h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
+ cpu=hppa1.1
+ vendor=hitachi
os=hiuxwe2
;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
+ cpu=hppa1.0
+ vendor=hp
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
+ cpu=m68000
+ vendor=hp
;;
hp9k3[2-9][0-9])
- basic_machine=m68k-hp
+ cpu=m68k
+ vendor=hp
;;
hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
+ cpu=hppa1.0
+ vendor=hp
;;
hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k78[0-9] | hp78[0-9])
# FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
# FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
+ cpu=hppa1.0
+ vendor=hp
;;
i*86v32)
- basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
os=sysv32
;;
i*86v4*)
- basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
os=sysv4
;;
i*86v)
- basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
os=sysv
;;
i*86sol2)
- basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
os=solaris2
;;
j90 | j90-cray)
- basic_machine=j90-cray
+ cpu=j90
+ vendor=cray
os=${os:-unicos}
;;
iris | iris4d)
- basic_machine=mips-sgi
+ cpu=mips
+ vendor=sgi
case $os in
irix*)
;;
@@ -1063,38 +803,23 @@ case $basic_machine in
;;
esac
;;
- leon-*|leon[3-9]-*)
- basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
- ;;
- m68knommu-*)
- basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- os=linux
- ;;
- microblaze*)
- basic_machine=microblaze-xilinx
- ;;
miniframe)
- basic_machine=m68000-convergent
+ cpu=m68000
+ vendor=convergent
;;
*mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
- basic_machine=m68k-atari
+ cpu=m68k
+ vendor=atari
os=mint
;;
- mips3*-*)
- basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
- ;;
- ms1-*)
- basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
- ;;
news-3600 | risc-news)
- basic_machine=mips-sony
+ cpu=mips
+ vendor=sony
os=newsos
;;
next | m*-next)
- basic_machine=m68k-next
+ cpu=m68k
+ vendor=next
case $os in
nextstep* )
;;
@@ -1107,260 +832,437 @@ case $basic_machine in
esac
;;
np1)
- basic_machine=np1-gould
+ cpu=np1
+ vendor=gould
;;
- neo-tandem)
- basic_machine=neo-tandem
+ op50n-* | op60c-*)
+ cpu=hppa1.1
+ vendor=oki
+ os=proelf
;;
- nse-tandem)
- basic_machine=nse-tandem
+ pa-hitachi)
+ cpu=hppa1.1
+ vendor=hitachi
+ os=hiuxwe2
;;
- nsr-tandem)
- basic_machine=nsr-tandem
+ pbd)
+ cpu=sparc
+ vendor=tti
;;
- nsv-tandem)
- basic_machine=nsv-tandem
+ pbb)
+ cpu=m68k
+ vendor=tti
;;
- nsx-tandem)
- basic_machine=nsx-tandem
+ pc532)
+ cpu=ns32k
+ vendor=pc532
;;
- op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=proelf
+ pn)
+ cpu=pn
+ vendor=gould
;;
- openrisc | openrisc-*)
- basic_machine=or32-unknown
+ power)
+ cpu=power
+ vendor=ibm
;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=hiuxwe2
+ ps2)
+ cpu=i386
+ vendor=ibm
;;
- parisc-*)
- basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
- os=linux
+ rm[46]00)
+ cpu=mips
+ vendor=siemens
;;
- pbd)
- basic_machine=sparc-tti
+ rtpc | rtpc-*)
+ cpu=romp
+ vendor=ibm
;;
- pbb)
- basic_machine=m68k-tti
+ sde)
+ cpu=mipsisa32
+ vendor=sde
+ os=${os:-elf}
;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
+ simso-wrs)
+ cpu=sparclite
+ vendor=wrs
+ os=vxworks
;;
- pc98)
- basic_machine=i386-pc
+ tower | tower-32)
+ cpu=m68k
+ vendor=ncr
;;
- pc98-*)
- basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ vpp*|vx|vx-*)
+ cpu=f301
+ vendor=fujitsu
;;
- pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
+ w65)
+ cpu=w65
+ vendor=wdc
;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
+ w89k-*)
+ cpu=hppa1.1
+ vendor=winbond
+ os=proelf
;;
- pentiumii | pentium2 | pentiumiii | pentium3)
- basic_machine=i686-pc
+ none)
+ cpu=none
+ vendor=none
;;
- pentium4)
- basic_machine=i786-pc
+ leon|leon[3-9])
+ cpu=sparc
+ vendor=$basic_machine
;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ leon-*|leon[3-9]-*)
+ cpu=sparc
+ vendor=`echo "$basic_machine" | sed 's/-.*//'`
;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+
+ *-*)
+ IFS="-" read -r cpu vendor <<EOF
+$basic_machine
+EOF
;;
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ cpu=$basic_machine
+ vendor=pc
;;
- pentium4-*)
- basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ # These rules are duplicated from below for sake of the special case above;
+ # i.e. things that normalized to x86 arches should also default to "pc"
+ pc98)
+ cpu=i386
+ vendor=pc
;;
- pn)
- basic_machine=pn-gould
+ x64 | amd64)
+ cpu=x86_64
+ vendor=pc
;;
- power) basic_machine=power-ibm
+ # Recognize the basic CPU types without company name.
+ *)
+ cpu=$basic_machine
+ vendor=unknown
;;
- ppc | ppcbe) basic_machine=powerpc-unknown
+esac
+
+unset -v basic_machine
+
+# Decode basic machines in the full and proper CPU-Company form.
+case $cpu-$vendor in
+ # Here we handle the default manufacturer of certain CPU types in canonical form. It is in
+ # some cases the only manufacturer, in others, it is the most popular.
+ craynv-unknown)
+ vendor=cray
+ os=${os:-unicosmp}
+ ;;
+ c90-unknown | c90-cray)
+ vendor=cray
+ os=${os:-unicos}
;;
- ppc-* | ppcbe-*)
- basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ fx80-unknown)
+ vendor=alliant
;;
- ppcle | powerpclittle)
- basic_machine=powerpcle-unknown
+ romp-unknown)
+ vendor=ibm
;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ mmix-unknown)
+ vendor=knuth
;;
- ppc64) basic_machine=powerpc64-unknown
+ microblaze-unknown | microblazeel-unknown)
+ vendor=xilinx
;;
- ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ rs6000-unknown)
+ vendor=ibm
;;
- ppc64le | powerpc64little)
- basic_machine=powerpc64le-unknown
+ vax-unknown)
+ vendor=dec
;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ pdp11-unknown)
+ vendor=dec
;;
- ps2)
- basic_machine=i386-ibm
+ we32k-unknown)
+ vendor=att
;;
- rm[46]00)
- basic_machine=mips-siemens
+ cydra-unknown)
+ vendor=cydrome
;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
+ i370-ibm*)
+ vendor=ibm
;;
- s390 | s390-*)
- basic_machine=s390-ibm
+ orion-unknown)
+ vendor=highlevel
;;
- s390x | s390x-*)
- basic_machine=s390x-ibm
+ xps-unknown | xps100-unknown)
+ cpu=xps100
+ vendor=honeywell
;;
- sb1)
- basic_machine=mipsisa64sb1-unknown
+
+ # Here we normalize CPU types with a missing or matching vendor
+ dpx20-unknown | dpx20-bull)
+ cpu=rs6000
+ vendor=bull
+ os=${os:-bosx}
;;
- sb1el)
- basic_machine=mipsisa64sb1el-unknown
+
+ # Here we normalize CPU types irrespective of the vendor
+ amd64-*)
+ cpu=x86_64
;;
- sde)
- basic_machine=mipsisa32-sde
- os=${os:-elf}
+ blackfin-*)
+ cpu=bfin
+ os=linux
;;
- sequent)
- basic_machine=i386-sequent
+ c54x-*)
+ cpu=tic54x
;;
- sh5el)
- basic_machine=sh5le-unknown
+ c55x-*)
+ cpu=tic55x
;;
- simso-wrs)
- basic_machine=sparclite-wrs
- os=vxworks
+ c6x-*)
+ cpu=tic6x
;;
- spur)
- basic_machine=spur-unknown
+ e500v[12]-*)
+ cpu=powerpc
+ os=$os"spe"
;;
- st2000)
- basic_machine=m68k-tandem
+ mips3*-*)
+ cpu=mips64
;;
- strongarm-* | thumb-*)
- basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ms1-*)
+ cpu=mt
;;
- sun2)
- basic_machine=m68000-sun
+ m68knommu-*)
+ cpu=m68k
+ os=linux
;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
+ m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
+ cpu=s12z
;;
- sun4)
- basic_machine=sparc-sun
+ openrisc-*)
+ cpu=or32
;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
+ parisc-*)
+ cpu=hppa
+ os=linux
;;
- tile*)
- basic_machine=$basic_machine-unknown
- os=linux-gnu
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ cpu=i586
;;
- tx39)
- basic_machine=mipstx39-unknown
+ pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
+ cpu=i686
;;
- tx39el)
- basic_machine=mipstx39el-unknown
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ cpu=i686
;;
- tower | tower-32)
- basic_machine=m68k-ncr
+ pentium4-*)
+ cpu=i786
;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
+ pc98-*)
+ cpu=i386
;;
- w65*)
- basic_machine=w65-wdc
- os=none
+ ppc-* | ppcbe-*)
+ cpu=powerpc
;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=proelf
+ ppcle-* | powerpclittle-*)
+ cpu=powerpcle
;;
- x64)
- basic_machine=x86_64-pc
+ ppc64-*)
+ cpu=powerpc64
;;
- xps | xps100)
- basic_machine=xps100-honeywell
+ ppc64le-* | powerpc64little-*)
+ cpu=powerpc64le
;;
- xscale-* | xscalee[bl]-*)
- basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
+ sb1-*)
+ cpu=mipsisa64sb1
;;
- none)
- basic_machine=none-none
- os=${os:-none}
+ sb1el-*)
+ cpu=mipsisa64sb1el
;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
+ sh5e[lb]-*)
+ cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
;;
- op50n)
- basic_machine=hppa1.1-oki
+ spur-*)
+ cpu=spur
;;
- op60c)
- basic_machine=hppa1.1-oki
+ strongarm-* | thumb-*)
+ cpu=arm
;;
- romp)
- basic_machine=romp-ibm
+ tx39-*)
+ cpu=mipstx39
;;
- mmix)
- basic_machine=mmix-knuth
+ tx39el-*)
+ cpu=mipstx39el
;;
- rs6000)
- basic_machine=rs6000-ibm
+ x64-*)
+ cpu=x86_64
;;
- vax)
- basic_machine=vax-dec
+ xscale-* | xscalee[bl]-*)
+ cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
;;
- pdp11)
- basic_machine=pdp11-dec
+
+ # Recognize the canonical CPU Types that limit and/or modify the
+ # company names they are paired with.
+ cr16-*)
+ os=${os:-elf}
;;
- we32k)
- basic_machine=we32k-att
+ crisv32-* | etraxfs*-*)
+ cpu=crisv32
+ vendor=axis
;;
- sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
+ cris-* | etrax*-*)
+ cpu=cris
+ vendor=axis
;;
- cydra)
- basic_machine=cydra-cydrome
+ crx-*)
+ os=${os:-elf}
;;
- orion)
- basic_machine=orion-highlevel
+ neo-tandem)
+ cpu=neo
+ vendor=tandem
;;
- orion105)
- basic_machine=clipper-highlevel
+ nse-tandem)
+ cpu=nse
+ vendor=tandem
;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
+ nsr-tandem)
+ cpu=nsr
+ vendor=tandem
;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
+ nsv-tandem)
+ cpu=nsv
+ vendor=tandem
+ ;;
+ nsx-tandem)
+ cpu=nsx
+ vendor=tandem
;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
+ s390-*)
+ cpu=s390
+ vendor=ibm
;;
+ s390x-*)
+ cpu=s390x
+ vendor=ibm
+ ;;
+ tile*-*)
+ os=${os:-linux-gnu}
+ ;;
+
*)
- echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
- exit 1
+ # Recognize the canonical CPU types that are allowed with any
+ # company name.
+ case $cpu in
+ 1750a | 580 \
+ | a29k \
+ | aarch64 | aarch64_be \
+ | abacus \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
+ | alphapca5[67] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arceb \
+ | arm | arm[lb]e | arme[lb] | armv* \
+ | avr | avr32 \
+ | asmjs \
+ | ba \
+ | be32 | be64 \
+ | bfin | bs2000 \
+ | c[123]* | c30 | [cjt]90 | c4x \
+ | c8051 | clipper | craynv | csky | cydra \
+ | d10v | d30v | dlx | dsp16xx \
+ | e2k | elxsi | epiphany \
+ | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
+ | h8300 | h8500 \
+ | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
+ | i370 | i*86 | i860 | i960 | ia16 | ia64 \
+ | ip2k | iq2000 \
+ | k1om \
+ | le32 | le64 \
+ | lm32 \
+ | m32c | m32r | m32rle \
+ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k | v70 | w65 \
+ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip \
+ | m88110 | m88k | maxq | mb | mcore | mep | metag \
+ | microblaze | microblazeel \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
+ | mipstx39 | mipstx39el \
+ | mmix \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nds32 | nds32le | nds32be \
+ | nfp \
+ | nios | nios2 | nios2eb | nios2el \
+ | none | np1 | ns16k | ns32k \
+ | open8 \
+ | or1k* \
+ | or32 \
+ | orion \
+ | pdp10 | pdp11 | pj | pjl | pn | power \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
+ | pru \
+ | pyramid \
+ | riscv | riscv32 | riscv64 \
+ | rl78 | romp | rs6000 | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
+ | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
+ | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
+ | spu \
+ | tahoe \
+ | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
+ | tron \
+ | ubicom32 \
+ | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
+ | vax \
+ | visium \
+ | wasm32 \
+ | we32k \
+ | x86 | x86_64 | xc16x | xgate | xps100 \
+ | xstormy16 | xtensa* \
+ | ymp \
+ | z8k | z80)
+ ;;
+
+ *)
+ echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
+ exit 1
+ ;;
+ esac
;;
esac
# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
+case $vendor in
+ digital*)
+ vendor=dec
;;
- *-commodore*)
- basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
+ commodore*)
+ vendor=cbm
;;
*)
;;
@@ -1377,6 +1279,9 @@ case $os in
auroraux)
os=auroraux
;;
+ bluegene*)
+ os=cnk
+ ;;
solaris1 | solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
;;
@@ -1393,26 +1298,57 @@ case $os in
es1800*)
os=ose
;;
+ # Some version numbers need modification
+ chorusos*)
+ os=chorusos
+ ;;
+ isc)
+ os=isc2.2
+ ;;
+ sco6)
+ os=sco5v6
+ ;;
+ sco5)
+ os=sco3.2v5
+ ;;
+ sco4)
+ os=sco3.2v4
+ ;;
+ sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ ;;
+ sco3.2v[4-9]* | sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ ;;
+ scout)
+ # Don't match below
+ ;;
+ sco*)
+ os=sco3.2v2
+ ;;
+ psos*)
+ os=psos
+ ;;
# Now accept the basic system types.
# The portable systems comes first.
# Each alternative MUST end in a * to match a version number.
# sysv* is not here because it comes later, after sysvr4.
gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
- | *vms* | sco* | esix* | isc* | aix* | cnk* | sunos | sunos[34]*\
+ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
| hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
| sym* | kopensolaris* | plan9* \
| amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
| aos* | aros* | cloudabi* | sortix* \
| nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
- | clix* | riscos* | uniplus* | iris* | rtu* | xenix* \
- | hiux* | knetbsd* | mirbsd* | netbsd* \
+ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
+ | knetbsd* | mirbsd* | netbsd* \
| bitrig* | openbsd* | solidbsd* | libertybsd* \
| ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
| bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
| ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
| udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
- | chorusos* | chorusrdb* | cegcc* | glidix* \
- | cygwin* | msys* | pe* | psos* | moss* | proelf* | rtems* \
+ | chorusrdb* | cegcc* | glidix* \
+ | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
| midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
| linux-newlib* | linux-musl* | linux-uclibc* \
| uxpv* | beos* | mpeix* | udk* | moxiebox* \
@@ -1428,14 +1364,17 @@ case $os in
# Remember, each alternative MUST END IN *, to match a version number.
;;
qnx*)
- case $basic_machine in
- x86-* | i*86-*)
+ case $cpu in
+ x86 | i*86)
;;
*)
os=nto-$os
;;
esac
;;
+ hiux*)
+ os=hiuxwe2
+ ;;
nto-qnx*)
;;
nto*)
@@ -1445,20 +1384,23 @@ case $os in
| windows* | osx | abug | netware* | os9* \
| macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
;;
- mac*)
- os=`echo "$os" | sed -e 's|mac|macos|'`
- ;;
linux-dietlibc)
os=linux-dietlibc
;;
linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
- sunos5*)
- os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
+ lynx*178)
+ os=lynxos178
;;
- sunos6*)
- os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
+ lynx*5)
+ os=lynxos5
+ ;;
+ lynx*)
+ os=lynxos
+ ;;
+ mac*)
+ os=`echo "$os" | sed -e 's|mac|macos|'`
;;
opened*)
os=openedition
@@ -1466,6 +1408,12 @@ case $os in
os400*)
os=os400
;;
+ sunos5*)
+ os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
+ ;;
+ sunos6*)
+ os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
+ ;;
wince*)
os=wince
;;
@@ -1543,7 +1491,7 @@ case $os in
# Until real need of OS specific support for
# particular features comes up, bare metal
# configurations are quite functional.
- case $basic_machine in
+ case $cpu in
arm*)
os=eabi
;;
@@ -1577,7 +1525,7 @@ else
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.
-case $basic_machine in
+case $cpu-$vendor in
score-*)
os=elf
;;
@@ -1599,6 +1547,9 @@ case $basic_machine in
c8051-*)
os=elf
;;
+ clipper-intergraph)
+ os=clix
+ ;;
hexagon-*)
os=elf
;;
@@ -1744,6 +1695,9 @@ case $basic_machine in
*-atari*)
os=mint
;;
+ *-wrs)
+ os=vxworks
+ ;;
*)
os=none
;;
@@ -1752,9 +1706,8 @@ fi
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
+case $vendor in
+ unknown)
case $os in
riscix*)
vendor=acorn
@@ -1789,6 +1742,9 @@ case $basic_machine in
genix*)
vendor=ns
;;
+ clix*)
+ vendor=intergraph
+ ;;
mvs* | opened*)
vendor=ibm
;;
@@ -1820,11 +1776,10 @@ case $basic_machine in
vendor=stratus
;;
esac
- basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
;;
esac
-echo "$basic_machine-$os"
+echo "$cpu-$vendor-$os"
exit
# Local variables:
diff --git a/terminal.c b/terminal.c
index d9a6a99..e557389 100644
--- a/terminal.c
+++ b/terminal.c
@@ -595,6 +595,7 @@ bind_termcap_arrow_keys (Keymap map)
rl_bind_keyseq_if_unbound (_rl_term_at7, rl_end_of_line); /* End */
rl_bind_keyseq_if_unbound (_rl_term_kD, rl_delete);
+ rl_bind_keyseq_if_unbound (_rl_term_kI, rl_overwrite_mode); /* Insert */
_rl_keymap = xkeymap;
}
diff --git a/undo.c b/undo.c
index 75874e5..ae65d38 100644
--- a/undo.c
+++ b/undo.c
@@ -51,6 +51,8 @@
extern void _hs_replace_history_data PARAMS((int, histdata_t *, histdata_t *));
+extern HIST_ENTRY *_rl_saved_line_for_history;
+
/* Non-zero tells rl_delete_text and rl_insert_text to not add to
the undo list. */
int _rl_doing_an_undo = 0;
@@ -166,7 +168,7 @@ _rl_copy_undo_list (UNDO_LIST *head)
int
rl_do_undo (void)
{
- UNDO_LIST *release;
+ UNDO_LIST *release, *search;
int waiting_for_begin, start, end;
HIST_ENTRY *cur, *temp;
@@ -223,6 +225,7 @@ rl_do_undo (void)
release = rl_undo_list;
rl_undo_list = rl_undo_list->next;
+ release->next = 0; /* XXX */
/* If we are editing a history entry, make sure the change is replicated
in the history entry's line */
@@ -235,8 +238,30 @@ rl_do_undo (void)
xfree (temp);
}
+ /* Make sure there aren't any history entries with that undo list */
_hs_replace_history_data (-1, (histdata_t *)release, (histdata_t *)rl_undo_list);
+ /* And make sure this list isn't anywhere in the saved line for history */
+ if (_rl_saved_line_for_history && _rl_saved_line_for_history->data)
+ {
+ /* Brute force; no finesse here */
+ search = (UNDO_LIST *)_rl_saved_line_for_history->data;
+ if (search == release)
+ _rl_saved_line_for_history->data = rl_undo_list;
+ else
+ {
+ while (search->next)
+ {
+ if (search->next == release)
+ {
+ search->next = rl_undo_list;
+ break;
+ }
+ search = search->next;
+ }
+ }
+ }
+
xfree (release);
}
while (waiting_for_begin);
diff --git a/vi_mode.c b/vi_mode.c
index d6fa38e..836371c 100644
--- a/vi_mode.c
+++ b/vi_mode.c
@@ -198,6 +198,7 @@ void
rl_vi_start_inserting (int key, int repeat, int sign)
{
_rl_vi_set_last (key, repeat, sign);
+ rl_begin_undo_group (); /* ensure inserts aren't concatenated */
rl_vi_insertion_mode (1, key);
}