summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2020-01-17 10:55:27 -0500
committerChet Ramey <chet.ramey@case.edu>2020-01-17 10:55:27 -0500
commite09431eaf2de3c3ac289a42c85a760ec549f634e (patch)
tree0c3d707da47acf693526981bec4c8b470f55b518
parentc612c3607b183ae654d6c920c729de5444fdb899 (diff)
downloadreadline-e09431eaf2de3c3ac289a42c85a760ec549f634e.tar.gz
commit readline-20200117 snapshot
-rw-r--r--CHANGELOG7
-rw-r--r--aclocal.m447
-rw-r--r--bind.c29
-rw-r--r--colors.c9
-rw-r--r--complete.c48
-rw-r--r--display.c298
-rw-r--r--doc/history.0183
-rw-r--r--doc/history.334
-rw-r--r--doc/history.dvibin71536 -> 72280 bytes
-rw-r--r--doc/history.html30
-rw-r--r--doc/history.info88
-rw-r--r--doc/history.pdfbin203682 -> 204517 bytes
-rw-r--r--doc/history.ps1351
-rw-r--r--doc/history_3.ps847
-rw-r--r--doc/hsuser.texi28
-rw-r--r--doc/readline.0223
-rw-r--r--doc/readline.35
-rw-r--r--doc/readline.dvibin318796 -> 319516 bytes
-rw-r--r--doc/readline.html1139
-rw-r--r--doc/readline.info144
-rw-r--r--doc/readline.pdfbin395666 -> 396353 bytes
-rw-r--r--doc/readline.ps1177
-rw-r--r--doc/readline_3.ps351
-rw-r--r--doc/rltech.texi6
-rw-r--r--doc/rluser.texi5
-rw-r--r--doc/rluserman.dvibin112740 -> 113284 bytes
-rw-r--r--doc/rluserman.html171
-rw-r--r--doc/rluserman.info66
-rw-r--r--doc/rluserman.pdfbin230065 -> 230481 bytes
-rw-r--r--doc/rluserman.ps453
-rwxr-xr-xdoc/texi2dvi1656
-rw-r--r--doc/version.texi6
-rw-r--r--funmap.c8
-rw-r--r--histexpand.c26
-rw-r--r--histfile.c2
-rw-r--r--input.c2
-rw-r--r--isearch.c12
-rw-r--r--posixdir.h2
-rw-r--r--posixstat.h22
-rw-r--r--readline.c16
-rw-r--r--rlmbutil.h2
-rw-r--r--rlprivate.h1
-rw-r--r--signals.c6
-rwxr-xr-xsupport/shlib-install36
-rw-r--r--support/shobj-conf44
45 files changed, 4517 insertions, 4063 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 71e9e4f..f34fbaf 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1376,3 +1376,10 @@ examples/autoconf/RL_LIB_READLINE_VERSION
- include <stdlib.h> in the AC_TRY_RUN block to accommodate compilers
that treat functions without an existing prototype as fatal errors.
Report and fix from Florian Weimer <fweimer@redhat.com>
+
+ 12/13
+ -----
+support/shlib-install
+ - remove old code for FreeBSD and Dragonfly; they are ELF-only now and
+ can use the same code as Linux. Fix from
+ Baptiste Daroussin <bapt@FreeBSD.org>
diff --git a/aclocal.m4 b/aclocal.m4
index c42dbf3..a962742 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -139,6 +139,7 @@ typedef int (*_bashfunc)(const char *, ...);
typedef int (*_bashfunc)();
#endif
#include <stdlib.h>
+int
main()
{
_bashfunc pf;
@@ -200,6 +201,7 @@ AC_CACHE_VAL(bash_cv_under_sys_siglist,
#ifndef UNDER_SYS_SIGLIST_DECLARED
extern char *_sys_siglist[];
#endif
+int
main()
{
char *msg = (char *)_sys_siglist[2];
@@ -228,6 +230,7 @@ AC_CACHE_VAL(bash_cv_sys_siglist,
#if !HAVE_DECL_SYS_SIGLIST
extern char *sys_siglist[];
#endif
+int
main()
{
char *msg = sys_siglist[2];
@@ -281,6 +284,7 @@ AC_CACHE_VAL(bash_cv_dup2_broken,
#include <sys/types.h>
#include <fcntl.h>
#include <stdlib.h>
+int
main()
{
int fd1, fd2, fl;
@@ -308,7 +312,8 @@ AC_DEFUN(BASH_FUNC_STRSIGNAL,
[AC_MSG_CHECKING([for the existence of strsignal])
AC_CACHE_VAL(bash_cv_have_strsignal,
[AC_TRY_LINK([#include <sys/types.h>
-#include <signal.h>],
+#include <signal.h>
+#include <string.h>],
[char *s = (char *)strsignal(2);],
bash_cv_have_strsignal=yes, bash_cv_have_strsignal=no)])
AC_MSG_RESULT($bash_cv_have_strsignal)
@@ -329,6 +334,9 @@ AC_CACHE_VAL(bash_cv_opendir_not_robust,
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif /* HAVE_UNISTD_H */
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
#if defined(HAVE_DIRENT_H)
# include <dirent.h>
#else
@@ -344,6 +352,7 @@ AC_CACHE_VAL(bash_cv_opendir_not_robust,
# endif
#endif /* HAVE_DIRENT_H */
#include <stdlib.h>
+int
main()
{
DIR *dir;
@@ -524,6 +533,7 @@ AC_TRY_RUN([
#include <sys/time.h>
#include <sys/resource.h>
#include <stdlib.h>
+int
main()
{
#ifdef HAVE_QUAD_T
@@ -609,6 +619,7 @@ getenv (name)
{
return "42";
}
+int
main()
{
char *s;
@@ -695,6 +706,11 @@ AC_DEFUN(BASH_FUNC_ULIMIT_MAXFDS,
[AC_MSG_CHECKING(whether ulimit can substitute for getdtablesize)
AC_CACHE_VAL(bash_cv_ulimit_maxfds,
[AC_TRY_RUN([
+#include <stdlib.h>
+#ifdef HAVE_ULIMIT_H
+#include <ulimit.h>
+#endif
+int
main()
{
long maxfds = ulimit(4, 0L);
@@ -718,7 +734,9 @@ AC_CACHE_VAL(bash_cv_getcwd_malloc,
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
+#include <stdlib.h>
+int
main()
{
char *xpwd;
@@ -768,12 +786,13 @@ AC_CACHE_VAL(bash_cv_fnm_extmatch,
[AC_TRY_RUN([
#include <fnmatch.h>
+int
main()
{
#ifdef FNM_EXTMATCH
- exit (0);
+ return (0);
#else
- exit (1);
+ return (1);
#endif
}
], bash_cv_fnm_extmatch=yes, bash_cv_fnm_extmatch=no,
@@ -799,6 +818,7 @@ AC_CACHE_VAL(bash_cv_func_sigsetjmp,
#include <setjmp.h>
#include <stdlib.h>
+int
main()
{
#if !defined (_POSIX_VERSION) || !defined (HAVE_POSIX_SIGNALS)
@@ -847,7 +867,10 @@ AC_CACHE_VAL(bash_cv_func_strcoll_broken,
#if defined (HAVE_LOCALE_H)
#include <locale.h>
#endif
+#include <string.h>
+#include <stdlib.h>
+int
main(c, v)
int c;
char *v[];
@@ -947,6 +970,7 @@ AC_CACHE_VAL(bash_cv_struct_stat_st_blocks,
#include <sys/stat.h>
],
[
+int
main()
{
static struct stat a;
@@ -1254,7 +1278,11 @@ AC_CACHE_VAL(bash_cv_pgrp_pipe,
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
+#ifdef HAVE_SYS_WAIT_H
+# include <sys/wait.h>
+#endif
#include <stdlib.h>
+int
main()
{
# ifdef GETPGRP_VOID
@@ -1350,6 +1378,7 @@ int s;
nsigint++;
}
+int
main()
{
nsigint = 0;
@@ -1433,9 +1462,11 @@ AC_CACHE_VAL(bash_cv_sys_named_pipes,
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
+#include <stdio.h>
#include <stdlib.h>
/* Add more tests in here as appropriate. */
+int
main()
{
int fd, err;
@@ -1673,6 +1704,7 @@ AC_CACHE_VAL(bash_cv_unusable_rtsigs,
# define NSIG 64
#endif
+int
main ()
{
int n_sigs = 2 * NSIG;
@@ -1787,6 +1819,7 @@ bash_cv_wcwidth_broken,
#include <locale.h>
#include <wchar.h>
+int
main(c, v)
int c;
char **v;
@@ -1855,6 +1888,7 @@ AC_CACHE_VAL(ac_cv_rl_version,
extern int rl_gnu_readline_p;
+int
main()
{
FILE *fp;
@@ -1944,7 +1978,9 @@ AC_CACHE_VAL(bash_cv_func_ctype_nonascii,
#endif
#include <stdio.h>
#include <ctype.h>
+#include <stdlib.h>
+int
main(c, v)
int c;
char *v[];
@@ -1987,10 +2023,12 @@ AC_CACHE_VAL(bash_cv_wcontinued_broken,
#include <sys/wait.h>
#include <unistd.h>
#include <errno.h>
+#include <stdlib.h>
#ifndef errno
extern int errno;
#endif
+int
main()
{
int x;
@@ -2058,6 +2096,7 @@ AC_DEFUN([BASH_FUNC_SNPRINTF],
#include <stdio.h>
#include <stdlib.h>
+int
main()
{
int n;
@@ -2114,6 +2153,7 @@ foo(format, va_alist)
return n;
}
+int
main()
{
int n;
@@ -2143,6 +2183,7 @@ AC_CACHE_VAL(bash_cv_wexitstatus_offset,
#include <sys/wait.h>
+int
main(c, v)
int c;
char **v;
diff --git a/bind.c b/bind.c
index b6970df..4faf984 100644
--- a/bind.c
+++ b/bind.c
@@ -1,6 +1,6 @@
/* bind.c -- key binding and startup file support for the readline library. */
-/* Copyright (C) 1987-2019 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2020 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -166,10 +166,12 @@ rl_bind_key (int key, rl_command_func_t *function)
/* If it's bound to a function or macro, just overwrite. Otherwise we have
to treat it as a key sequence so rl_generic_bind handles shadow keymaps
- for us. If we are binding '\' make sure to escape it so it makes it
- through the call to rl_translate_keyseq. */
+ for us. If we are binding '\' or \C-@ (NUL) make sure to escape it so
+ it makes it through the call to rl_translate_keyseq. */
if (_rl_keymap[key].type != ISKMAP)
{
+ if (_rl_keymap[key].type == ISMACR)
+ xfree ((char *)_rl_keymap[key].function);
_rl_keymap[key].type = ISFUNC;
_rl_keymap[key].function = function;
}
@@ -178,8 +180,17 @@ rl_bind_key (int key, rl_command_func_t *function)
l = 0;
bind_keyseq:
if (key == '\\')
- keyseq[l++] = '\\';
- keyseq[l++] = key;
+ {
+ keyseq[l++] = '\\';
+ keyseq[l++] = '\\';
+ }
+ else if (key == '\0')
+ {
+ keyseq[l++] = '\\';
+ keyseq[l++] = '0';
+ }
+ else
+ keyseq[l++] = key;
keyseq[l] = '\0';
rl_bind_keyseq (keyseq, function);
}
@@ -451,9 +462,7 @@ rl_generic_bind (int type, const char *keyseq, char *data, Keymap map)
}
else
{
- if (map[ic].type == ISMACR)
- xfree ((char *)map[ic].function);
- else if (map[ic].type == ISKMAP)
+ if (map[ic].type == ISKMAP)
{
prevmap = map;
map = FUNCTION_TO_KEYMAP (map, ic);
@@ -466,6 +475,8 @@ rl_generic_bind (int type, const char *keyseq, char *data, Keymap map)
if (type == ISFUNC && data == 0)
data = (char *)_rl_null_function;
}
+ if (map[ic].type == ISMACR)
+ xfree ((char *)map[ic].function);
map[ic].function = KEYMAP_TO_FUNCTION (data);
map[ic].type = type;
@@ -788,7 +799,7 @@ _rl_untranslate_macro_value (char *seq, int use_escapes)
/* Return a pointer to the function that STRING represents.
If STRING doesn't have a matching function, then a NULL pointer
- is returned. */
+ is returned. The string match is case-insensitive. */
rl_command_func_t *
rl_named_function (const char *string)
{
diff --git a/colors.c b/colors.c
index 81aecfe..9e37527 100644
--- a/colors.c
+++ b/colors.c
@@ -2,7 +2,7 @@
Modified by Chet Ramey for Readline.
- Copyright (C) 1985, 1988, 1990-1991, 1995-2010, 2012, 2015, 2017
+ Copyright (C) 1985, 1988, 1990-1991, 1995-2010, 2012, 2015, 2017, 2019
Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
@@ -32,6 +32,13 @@
#include "rlconf.h"
+#if defined __TANDEM
+# define _XOPEN_SOURCE_EXTENDED 1
+# define _TANDEM_SOURCE 1
+# include <sys/types.h>
+# include <sys/stat.h>
+#endif
+
#include <stdio.h>
#include "posixstat.h" // stat related macros (S_ISREG, ...)
diff --git a/complete.c b/complete.c
index bd82ab9..989b15c 100644
--- a/complete.c
+++ b/complete.c
@@ -1,6 +1,6 @@
/* complete.c -- filename completion for readline. */
-/* Copyright (C) 1987-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2019 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -21,11 +21,18 @@
#define READLINE_LIBRARY
+#if defined (__TANDEM)
+# define _XOPEN_SOURCE_EXTENDED 1
+#endif
+
#if defined (HAVE_CONFIG_H)
# include <config.h>
#endif
#include <sys/types.h>
+#if defined (__TANDEM)
+# include <sys/stat.h>
+#endif
#include <fcntl.h>
#if defined (HAVE_SYS_FILE_H)
# include <sys/file.h>
@@ -1335,12 +1342,13 @@ compute_lcd_of_matches (char **match_list, int matches, const char *text)
memset (&ps2, 0, sizeof (mbstate_t));
}
#endif
- if (_rl_completion_case_fold)
+ for (si = 0; (c1 = match_list[i][si]) && (c2 = match_list[i + 1][si]); si++)
{
- for (si = 0;
- (c1 = _rl_to_lower(match_list[i][si])) &&
- (c2 = _rl_to_lower(match_list[i + 1][si]));
- si++)
+ if (_rl_completion_case_fold)
+ {
+ c1 = _rl_to_lower (c1);
+ c2 = _rl_to_lower (c2);
+ }
#if defined (HANDLE_MULTIBYTE)
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
{
@@ -1352,8 +1360,11 @@ compute_lcd_of_matches (char **match_list, int matches, const char *text)
break;
continue;
}
- wc1 = towlower (wc1);
- wc2 = towlower (wc2);
+ if (_rl_completion_case_fold)
+ {
+ wc1 = towlower (wc1);
+ wc2 = towlower (wc2);
+ }
if (wc1 != wc2)
break;
else if (v1 > 1)
@@ -1364,27 +1375,6 @@ compute_lcd_of_matches (char **match_list, int matches, const char *text)
if (c1 != c2)
break;
}
- else
- {
- for (si = 0;
- (c1 = match_list[i][si]) &&
- (c2 = match_list[i + 1][si]);
- si++)
-#if defined (HANDLE_MULTIBYTE)
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- {
- mbstate_t ps_back;
- ps_back = ps1;
- if (!_rl_compare_chars (match_list[i], si, &ps1, match_list[i+1], si, &ps2))
- break;
- else if ((v = _rl_get_char_len (&match_list[i][si], &ps_back)) > 1)
- si += v - 1;
- }
- else
-#endif
- if (c1 != c2)
- break;
- }
if (low > si)
low = si;
diff --git a/display.c b/display.c
index 5129654..4631047 100644
--- a/display.c
+++ b/display.c
@@ -1,6 +1,6 @@
/* display.c -- readline redisplay facility. */
-/* Copyright (C) 1987-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2019 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -192,6 +192,8 @@ int _rl_last_v_pos = 0;
on screen minus 1. */
int _rl_vis_botlin = 0;
+static int _rl_quick_redisplay = 0;
+
/* This is a hint update_line gives to rl_redisplay that it has adjusted the
value of _rl_last_c_pos *and* taken the presence of any invisible chars in
the prompt into account. rl_redisplay notes this and does not do the
@@ -223,6 +225,10 @@ static int forced_display;
/* Default and initial buffer size. Can grow. */
static int line_size = DEFAULT_LINE_BUFFER_SIZE;
+/* Set to a non-zero value if horizontal scrolling has been enabled
+ automatically because the terminal was resized to height 1. */
+static int horizontal_scrolling_autoset = 0; /* explicit initialization */
+
/* Variables to keep track of the expanded prompt string, which may
include invisible characters. */
@@ -605,7 +611,9 @@ static void
init_line_structures (int minsize)
{
register int n;
+ int osize;
+ osize = minsize;
if (minsize <= _rl_screenwidth) /* XXX - for gdb */
minsize = _rl_screenwidth + 1;
@@ -625,7 +633,7 @@ init_line_structures (int minsize)
invisible_line = (char *)xrealloc (invisible_line, line_size);
}
- for (n = minsize; n < line_size; n++)
+ for (n = osize; n < line_size; n++)
{
visible_line[n] = 0;
invisible_line[n] = 1;
@@ -651,7 +659,21 @@ init_line_structures (int minsize)
line_structures_initialized = 1;
}
-
+
+/* Do whatever tests are necessary and tell update_line that it can do a
+ quick, dumb redisplay on the assumption that there are so many
+ differences between the old and new lines that it would be a waste to
+ compute all the differences.
+ Right now, it just sets _rl_quick_redisplay if the current visible line
+ is a single line (so we don't have to move vertically or mess with line
+ wrapping). */
+void
+_rl_optimize_redisplay (void)
+{
+ if (_rl_vis_botlin == 0)
+ _rl_quick_redisplay = 1;
+}
+
/* Basic redisplay algorithm. See comments inline. */
void
rl_redisplay (void)
@@ -688,7 +710,18 @@ rl_redisplay (void)
}
else if (line_size <= _rl_screenwidth)
init_line_structures (_rl_screenwidth + 1);
-
+
+ /* Enable horizontal scrolling automatically for terminals of height 1
+ where wrapping lines doesn't work. Disable it as soon as the terminal
+ height is increased again if it was automatically enabled. */
+ if (_rl_screenheight <= 1)
+ {
+ if (_rl_horizontal_scroll_mode == 0)
+ horizontal_scrolling_autoset = 1;
+ _rl_horizontal_scroll_mode = 1;
+ }
+ else if (horizontal_scrolling_autoset)
+ _rl_horizontal_scroll_mode = 0;
/* Draw the line into the buffer. */
cpos_buffer_position = -1;
@@ -717,7 +750,7 @@ rl_redisplay (void)
/* If the prompt to be displayed is the `primary' readline prompt (the
one passed to readline()), use the values we have already expanded.
If not, use what's already in rl_display_prompt. WRAP_OFFSET is the
- number of non-visible characters in the prompt string. */
+ number of non-visible characters (bytes) in the prompt string. */
/* This is where we output the characters in the prompt before the last
newline, if any. If there aren't any embedded newlines, we don't
write anything. Copy the last line of the prompt string into the line in
@@ -762,7 +795,7 @@ rl_redisplay (void)
}
}
- prompt_physical_chars = pmtlen = strlen (prompt_this_line);
+ prompt_physical_chars = pmtlen = strlen (prompt_this_line); /* XXX */
temp = pmtlen + out + 2;
if (temp >= line_size)
{
@@ -853,8 +886,8 @@ rl_redisplay (void)
num = 0;
#endif
- /* prompt_invis_chars_first_line is the number of invisible characters in
- the first physical line of the prompt.
+ /* prompt_invis_chars_first_line is the number of invisible characters (bytes)
+ in the first physical line of the prompt.
wrap_offset - prompt_invis_chars_first_line is usually the number of
invis chars on the second (or, more generally, last) line. */
@@ -984,11 +1017,7 @@ rl_redisplay (void)
{
register int newout;
-#if 0
- newout = (out | (int)7) + 1;
-#else
newout = out + 8 - lpos % 8;
-#endif
temp = newout - out;
if (lpos + temp >= _rl_screenwidth)
{
@@ -1091,6 +1120,11 @@ rl_redisplay (void)
lb_linenum = newlines;
}
+ /* If we are switching from one line to multiple wrapped lines, we don't
+ want to do a dumb update (or we want to make it smarter). */
+ if (_rl_quick_redisplay && newlines > 0)
+ _rl_quick_redisplay = 0;
+
inv_botlin = lb_botlin = _rl_inv_botlin = newlines;
CHECK_INV_LBREAKS ();
inv_lbreaks[newlines+1] = out;
@@ -1208,19 +1242,35 @@ rl_redisplay (void)
_rl_clear_to_eol (nleft);
}
#if 0
- /* This segment is intended to handle the case where the prompt
- has invisible characters on the second line and the new line
+ /* This segment is intended to handle the case where the old
+ visible prompt has invisible characters and the new line
to be displayed needs to clear the rest of the old characters
- out (e.g., when printing the i-search prompt). In general,
- the case of the new line being shorter than the old.
- Incomplete */
- else if (linenum == prompt_last_screen_line &&
- prompt_physical_chars > _rl_screenwidth &&
- wrap_offset != prompt_invis_chars_first_line &&
+ out (e.g., when printing the i-search prompt): in general,
+ the case of the new line being shorter than the old. We need
+ to be at the end of the new line and the old line needs to be
+ longer than the current cursor position. It's not perfect,
+ since it uses the byte length of the first line, but this will
+ at worst result in some extra clear-to-end-of-lines. We can't
+ use the prompt length variables because they may not
+ correspond to the visible line (see printing the i-search
+ prompt above). The tests for differing numbers of invisible
+ characters may not matter and can probably be removed. */
+ else if (linenum == 0 &&
+ linenum == prompt_last_screen_line &&
_rl_last_c_pos == out &&
+ _rl_last_c_pos < visible_first_line_len &&
+ visible_wrap_offset &&
+ visible_wrap_offset != wrap_offset)
+ {
+ if (mb_cur_max > 1 && rl_byte_oriented == 0)
+ nleft = _rl_screenwidth - _rl_last_c_pos;
+ else
+ nleft = _rl_screenwidth + wrap_offset - _rl_last_c_pos;
+ if (nleft)
+ _rl_clear_to_eol (nleft);
+ }
#endif
-
/* Since the new first line is now visible, save its length. */
if (linenum == 0)
visible_first_line_len = (inv_botlin > 0) ? inv_lbreaks[1] : out - wrap_offset;
@@ -1264,6 +1314,7 @@ rl_redisplay (void)
the characters from the current cursor position. But we
only need to reprint it if the cursor is before the last
invisible character in the prompt string. */
+ /* XXX - why not use local_prompt_len? */
nleft = prompt_visible_length + wrap_offset;
if (cursor_linenum == 0 && wrap_offset > 0 && _rl_last_c_pos > 0 &&
#if 0
@@ -1291,8 +1342,8 @@ rl_redisplay (void)
/* Where on that line? And where does that line start
in the buffer? */
pos = inv_lbreaks[cursor_linenum];
- /* nleft == number of characters in the line buffer between the
- start of the line and the desired cursor position. */
+ /* nleft == number of characters (bytes) in the line buffer between
+ the start of the line and the desired cursor position. */
nleft = cpos_buffer_position - pos;
/* NLEFT is now a number of characters in a buffer. When in a
@@ -1443,12 +1494,16 @@ rl_redisplay (void)
visible_wrap_offset = 0;
else
visible_wrap_offset = wrap_offset;
+
+ _rl_quick_redisplay = 0;
}
RL_UNSETSTATE (RL_STATE_REDISPLAYING);
_rl_release_sigint ();
}
+#define ADJUST_CPOS(x) do { _rl_last_c_pos -= (x) ; cpos_adjusted = 1; } while (0)
+
/* PWP: update_line() is based on finding the middle difference of each
line on the screen; vis:
@@ -1611,6 +1666,7 @@ update_line (char *old, char *new, int current_line, int omax, int nmax, int inv
and do a dumb update. */
if (newwidth != oldwidth)
{
+ oe = old + omax;
ne = new + nmax;
nd = newbytes;
nfd = new + nd;
@@ -1655,6 +1711,46 @@ update_line (char *old, char *new, int current_line, int omax, int nmax, int inv
}
}
+ /* We know that we are dealing with a single screen line here */
+ if (_rl_quick_redisplay)
+ {
+ nfd = new;
+ ofd = old;
+ for (od = 0, oe = ofd; od < omax && *oe; oe++, od++);
+ for (nd = 0, ne = nfd; nd < nmax && *ne; ne++, nd++);
+ od = nd = 0;
+ _rl_move_cursor_relative (0, old);
+
+ bytes_to_insert = ne - nfd;
+ if (bytes_to_insert < local_prompt_len) /* ??? */
+ goto dumb_update;
+
+ /* output the prompt, output the line contents, clear the rest */
+ _rl_output_some_chars (nfd, local_prompt_len);
+ if (mb_cur_max > 1 && rl_byte_oriented == 0)
+ _rl_last_c_pos = prompt_physical_chars;
+ else
+ _rl_last_c_pos = local_prompt_len;
+
+ bytes_to_insert -= local_prompt_len;
+ if (bytes_to_insert > 0)
+ {
+ _rl_output_some_chars (new+local_prompt_len, bytes_to_insert);
+ if (mb_cur_max > 1 && rl_byte_oriented)
+ _rl_last_c_pos += _rl_col_width (new, local_prompt_len, ne-new, 1);
+ else
+ _rl_last_c_pos += bytes_to_insert;
+ }
+
+ /* See comments at dumb_update: for an explanation of this heuristic */
+ if (nmax < omax)
+ goto clear_rest_of_line;
+ else if ((nmax - W_OFFSET(current_line, wrap_offset)) < (omax - W_OFFSET (current_line, visible_wrap_offset)))
+ goto clear_rest_of_line;
+ else
+ return;
+ }
+
/* Find first difference. */
#if defined (HANDLE_MULTIBYTE)
if (mb_cur_max > 1 && rl_byte_oriented == 0)
@@ -1674,7 +1770,7 @@ update_line (char *old, char *new, int current_line, int omax, int nmax, int inv
memset (&ps_old, 0, sizeof(mbstate_t));
/* Are the old and new lines the same? */
- if (omax == nmax && STREQN (new, old, omax))
+ if (omax == nmax && memcmp (new, old, omax) == 0)
{
old_offset = omax;
new_offset = nmax;
@@ -1752,12 +1848,6 @@ update_line (char *old, char *new, int current_line, int omax, int nmax, int inv
memset (&ps_old, 0, sizeof (mbstate_t));
memset (&ps_new, 0, sizeof (mbstate_t));
-#if 0
- /* On advice from jir@yamato.ibm.com */
- _rl_adjust_point (old, ols - old, &ps_old);
- _rl_adjust_point (new, nls - new, &ps_new);
-#endif
-
if (_rl_compare_chars (old, ols - old, &ps_old, new, nls - new, &ps_new) == 0)
break;
@@ -1824,6 +1914,10 @@ update_line (char *old, char *new, int current_line, int omax, int nmax, int inv
visible_wrap_offset based on what we know. */
if (current_line == 0)
visible_wrap_offset = prompt_invis_chars_first_line; /* XXX */
+#if 0 /* XXX - not yet */
+ else if (current_line == prompt_last_screen_line && wrap_offset > prompt_invis_chars_first_line)
+ visible_wrap_offset = wrap_offset - prompt_invis_chars_first_line
+#endif
if ((mb_cur_max == 1 || rl_byte_oriented) && current_line == 0 && visible_wrap_offset)
_rl_last_c_pos += visible_wrap_offset;
}
@@ -1871,9 +1965,15 @@ update_line (char *old, char *new, int current_line, int omax, int nmax, int inv
_rl_output_some_chars (local_prompt, lendiff);
if (mb_cur_max > 1 && rl_byte_oriented == 0)
{
- /* We take wrap_offset into account here so we can pass correct
- information to _rl_move_cursor_relative. */
- _rl_last_c_pos = _rl_col_width (local_prompt, 0, lendiff, 1) - wrap_offset + modmark;
+ /* If we just output the entire prompt string we can take advantage
+ of knowing the number of physical characters in the prompt. If
+ the prompt wraps lines (lendiff clamped at nmax), we can't. */
+ if (lendiff == local_prompt_len)
+ _rl_last_c_pos = prompt_physical_chars + modmark;
+ else
+ /* We take wrap_offset into account here so we can pass correct
+ information to _rl_move_cursor_relative. */
+ _rl_last_c_pos = _rl_col_width (local_prompt, 0, lendiff, 1) - wrap_offset + modmark;
cpos_adjusted = 1;
}
else
@@ -1894,7 +1994,7 @@ update_line (char *old, char *new, int current_line, int omax, int nmax, int inv
to just output the prompt from the beginning of the line up to the
first difference, but you don't know the number of invisible
characters in that case.
- This needs a lot of work to be efficient. */
+ This needs a lot of work to be efficient, but it usually doesn't matter. */
if ((od <= prompt_last_invisible || nd <= prompt_last_invisible))
{
nfd = new + lendiff; /* number of characters we output above */
@@ -1919,16 +2019,33 @@ dumb_update:
current_line == prompt_last_screen_line &&
prompt_physical_chars > _rl_screenwidth &&
_rl_horizontal_scroll_mode == 0)
- {
- _rl_last_c_pos -= wrap_offset - prompt_invis_chars_first_line;
- cpos_adjusted = 1;
- }
+ ADJUST_CPOS (wrap_offset - prompt_invis_chars_first_line);
+
+ /* If we just output a new line including the prompt, and
+ the prompt includes invisible characters, we need to
+ account for them in the _rl_last_c_pos calculation, since
+ _rl_col_width does not. This happens when other code does
+ a goto dumb_update; */
+ else if (current_line == 0 &&
+ nfd == new &&
+ prompt_invis_chars_first_line &&
+ local_prompt_len <= temp &&
+ wrap_offset >= prompt_invis_chars_first_line &&
+ _rl_horizontal_scroll_mode == 0)
+ ADJUST_CPOS (prompt_invis_chars_first_line);
}
else
_rl_last_c_pos += temp;
}
+ /* This is a useful heuristic, but what we really want is to clear
+ if the new number of visible screen characters is less than the
+ old number of visible screen characters. If the prompt has changed,
+ we don't really have enough information about the visible line to
+ know for sure, so we use another heuristic calclulation below. */
if (nmax < omax)
goto clear_rest_of_line; /* XXX */
+ else if ((nmax - W_OFFSET(current_line, wrap_offset)) < (omax - W_OFFSET (current_line, visible_wrap_offset)))
+ goto clear_rest_of_line;
else
return;
}
@@ -1957,15 +2074,73 @@ dumb_update:
When not using multibyte characters, these are equal */
lendiff = (nls - nfd) - (ols - ofd);
if (mb_cur_max > 1 && rl_byte_oriented == 0)
- col_lendiff = _rl_col_width (new, nfd - new, nls - new, 1) - _rl_col_width (old, ofd - old, ols - old, 1);
+ {
+ int newchars, newwidth, newind;
+ int oldchars, oldwidth, oldind;
+
+ newchars = nls - new;
+ oldchars = ols - old;
+
+ /* If we can do it, try to adjust nls and ols so that nls-new will
+ contain the entire new prompt string. That way we can use
+ prompt_physical_chars and not have to recompute column widths.
+ _rl_col_width adds wrap_offset and expects the caller to compensate,
+ which we do below, so we do the same thing if we don't call
+ _rl_col_width.
+ We don't have to compare, since we know the characters are the same.
+ The check of differing numbers of invisible chars may be extraneous.
+ XXX - experimental */
+ if (current_line == 0 && nfd == new && newchars > prompt_last_invisible &&
+ newchars <= local_prompt_len &&
+ local_prompt_len <= nmax &&
+ current_invis_chars != visible_wrap_offset)
+ {
+ while (newchars < nmax && oldchars < omax && newchars < local_prompt_len)
+ {
+#if defined (HANDLE_MULTIBYTE)
+ newind = _rl_find_next_mbchar (new, newchars, 1, MB_FIND_NONZERO);
+ oldind = _rl_find_next_mbchar (old, oldchars, 1, MB_FIND_NONZERO);
+
+ nls += newind - newchars;
+ ols += oldind - oldchars;
+
+ newchars = newind;
+ oldchars = oldind;
+#else
+ nls++; ols++;
+ newchars++; oldchars++;
+#endif
+ }
+ newwidth = (newchars == local_prompt_len) ? prompt_physical_chars + wrap_offset
+ : _rl_col_width (new, 0, nls - new, 1);
+ /* if we changed nls and ols, we need to recompute lendiff */
+ lendiff = (nls - nfd) - (ols - ofd);
+ }
+ else
+ newwidth = _rl_col_width (new, nfd - new, nls - new, 1);
+
+ oldwidth = _rl_col_width (old, ofd - old, ols - old, 1);
+
+ col_lendiff = newwidth - oldwidth;
+ }
else
col_lendiff = lendiff;
+ /* col_lendiff uses _rl_col_width(), which doesn't know about whether or not
+ the multibyte characters it counts are invisible, so unless we're printing
+ the entire prompt string (in which case we can use prompt_physical_chars)
+ the count is short by the number of bytes in the invisible multibyte
+ characters - the number of multibyte characters.
+
+ We don't have a good way to solve this without moving to something like
+ a bitmap that indicates which characters are visible and which are
+ invisible. We fix it up (imperfectly) in the caller and by trying to use
+ the entire prompt string wherever we can. */
+
/* If we are changing the number of invisible characters in a line, and
the spot of first difference is before the end of the invisible chars,
lendiff needs to be adjusted. */
- if (current_line == 0 && /* !_rl_horizontal_scroll_mode && */
- current_invis_chars != visible_wrap_offset)
+ if (current_line == 0 && current_invis_chars != visible_wrap_offset)
{
if (mb_cur_max > 1 && rl_byte_oriented == 0)
{
@@ -2008,15 +2183,12 @@ dumb_update:
if (lendiff < 0)
{
_rl_output_some_chars (nfd, temp);
- _rl_last_c_pos += col_temp; /* XXX - was _rl_col_width (nfd, 0, temp, 1); */
+ _rl_last_c_pos += col_temp;
/* If nfd begins before any invisible characters in the prompt,
adjust _rl_last_c_pos to account for wrap_offset and set
cpos_adjusted to let the caller know. */
if (current_line == 0 && displaying_prompt_first_line && wrap_offset && ((nfd - new) <= prompt_last_invisible))
- {
- _rl_last_c_pos -= wrap_offset; /* XXX - prompt_invis_chars_first_line? */
- cpos_adjusted = 1;
- }
+ ADJUST_CPOS (wrap_offset); /* XXX - prompt_invis_chars_first_line? */
return;
}
/* Sometimes it is cheaper to print the characters rather than
@@ -2066,10 +2238,7 @@ dumb_update:
prompt, adjust _rl_last_c_pos to account for wrap_offset
and set cpos_adjusted to let the caller know. */
if ((mb_cur_max > 1 && rl_byte_oriented == 0) && current_line == 0 && displaying_prompt_first_line && wrap_offset && ((nfd - new) <= prompt_last_invisible))
- {
- _rl_last_c_pos -= wrap_offset; /* XXX - prompt_invis_chars_first_line? */
- cpos_adjusted = 1;
- }
+ ADJUST_CPOS (wrap_offset); /* XXX - prompt_invis_chars_first_line? */
return;
}
@@ -2079,10 +2248,7 @@ dumb_update:
prompt, adjust _rl_last_c_pos to account for wrap_offset
and set cpos_adjusted to let the caller know. */
if ((mb_cur_max > 1 && rl_byte_oriented == 0) && current_line == 0 && displaying_prompt_first_line && wrap_offset && ((nfd - new) <= prompt_last_invisible))
- {
- _rl_last_c_pos -= wrap_offset; /* XXX - prompt_invis_chars_first_line? */
- cpos_adjusted = 1;
- }
+ ADJUST_CPOS (wrap_offset); /* XXX - prompt_invis_chars_first_line? */
}
}
else
@@ -2103,10 +2269,11 @@ dumb_update:
displaying_prompt_first_line &&
wrap_offset != prompt_invis_chars_first_line &&
((nfd-new) < (prompt_last_invisible-(current_line*_rl_screenwidth+prompt_invis_chars_first_line))))
- {
- _rl_last_c_pos -= wrap_offset - prompt_invis_chars_first_line;
- cpos_adjusted = 1;
- }
+ ADJUST_CPOS (wrap_offset - prompt_invis_chars_first_line);
+
+ /* XXX - what happens if wrap_offset == prompt_invis_chars_first_line
+ and we are drawing the first line (current_line == 0)? We should
+ adjust by _rl_last_c_pos -= prompt_invis_chars_first_line */
}
}
else /* Delete characters from line. */
@@ -2144,15 +2311,15 @@ dumb_update:
_rl_output_some_chars (nfd, bytes_to_insert);
if (mb_cur_max > 1 && rl_byte_oriented == 0)
{
+ /* This still doesn't take into account whether or not the
+ characters that this counts are invisible. */
_rl_last_c_pos += _rl_col_width (nfd, 0, bytes_to_insert, 1);
if (current_line == 0 && wrap_offset &&
displaying_prompt_first_line &&
- _rl_last_c_pos >= wrap_offset && /* XXX was > */
+ prompt_invis_chars_first_line &&
+ _rl_last_c_pos >= prompt_invis_chars_first_line &&
((nfd - new) <= prompt_last_invisible))
- {
- _rl_last_c_pos -= wrap_offset; /* XXX - prompt_invis_chars_first_line? */
- cpos_adjusted = 1;
- }
+ ADJUST_CPOS (prompt_invis_chars_first_line);
#if 1
#ifdef HANDLE_MULTIBYTE
@@ -2197,10 +2364,7 @@ dumb_update:
displaying_prompt_first_line &&
_rl_last_c_pos > wrap_offset &&
((nfd - new) <= prompt_last_invisible))
- {
- _rl_last_c_pos -= wrap_offset; /* XXX - prompt_invis_chars_first_line? */
- cpos_adjusted = 1;
- }
+ ADJUST_CPOS (wrap_offset); /* XXX - prompt_invis_chars_first_line? */
}
}
clear_rest_of_line:
diff --git a/doc/history.0 b/doc/history.0
index 9133300..203740c 100644
--- a/doc/history.0
+++ b/doc/history.0
@@ -55,10 +55,12 @@ HISTORY(3) Library Functions Manual HISTORY(3)
!?string[?]
Refer to the most recent command preceding the current position
in the history list containing string. The trailing ? may be
- omitted if string is followed immediately by a newline.
+ omitted if string is followed immediately by a newline. If
+ string is missing, the string from the most recent search is
+ used; it is an error if there is no previous search string.
^string1^string2^
Quick substitution. Repeat the last command, replacing string1
- with string2. Equivalent to ``!!:s/string1/string2/'' (see Mod-
+ with string2. Equivalent to ``!!:s^string1^string2^'' (see Mod-
ifiers below).
!# The entire command line typed so far.
@@ -74,22 +76,26 @@ HISTORY(3) Library Functions Manual HISTORY(3)
The zeroth word. For the shell, this is the command word.
n The nth word.
^ The first argument. That is, word 1.
- $ The last word. This is usually the last argument, but will
- expand to the zeroth word if there is only one word in the line.
- % The word matched by the most recent `?string?' search.
+ $ The last word. This is usually the last argument, but will ex-
+ pand to the zeroth word if there is only one word in the line.
+ % The first word matched by the most recent `?string?' search, if
+ the search string begins with a character that is part of a
+ word.
x-y A range of words; `-y' abbreviates `0-y'.
* All of the words but the zeroth. This is a synonym for `1-$'.
It is not an error to use * if there is just one word in the
event; the empty string is returned in that case.
x* Abbreviates x-$.
- x- Abbreviates x-$ like x*, but omits the last word.
+ x- Abbreviates x-$ like x*, but omits the last word. If x is miss-
+ ing, it defaults to 0.
- If a word designator is supplied without an event specification, the
+ If a word designator is supplied without an event specification, the
previous command is used as the event.
Modifiers
- After the optional word designator, there may appear a sequence of one
- or more of the following modifiers, each preceded by a `:'.
+ After the optional word designator, there may appear a sequence of one
+ or more of the following modifiers, each preceded by a `:'. These mod-
+ ify, or edit, the word or words selected from the history event.
h Remove a trailing file name component, leaving only the head.
t Remove all leading file name components, leaving the tail.
@@ -98,24 +104,26 @@ HISTORY(3) Library Functions Manual HISTORY(3)
p Print the new command but do not execute it.
q Quote the substituted words, escaping further substitutions.
x Quote the substituted words as with q, but break into words at
- blanks and newlines.
+ blanks and newlines. The q and x modifiers are mutually exclu-
+ sive; the last one supplied is used.
s/old/new/
- Substitute new for the first occurrence of old in the event
- line. Any delimiter can be used in place of /. The final
- delimiter is optional if it is the last character of the event
- line. The delimiter may be quoted in old and new with a single
- backslash. If & appears in new, it is replaced by old. A sin-
- gle backslash will quote the &. If old is null, it is set to
- the last old substituted, or, if no previous history substitu-
- tions took place, the last string in a !?string[?] search.
+ Substitute new for the first occurrence of old in the event
+ line. Any character may be used as the delimiter in place of /.
+ The final delimiter is optional if it is the last character of
+ the event line. The delimiter may be quoted in old and new with
+ a single backslash. If & appears in new, it is replaced by old.
+ A single backslash will quote the &. If old is null, it is set
+ to the last old substituted, or, if no previous history substi-
+ tutions took place, the last string in a !?string[?] search.
+ If new is null, each matching old is deleted.
& Repeat the previous substitution.
g Cause changes to be applied over the entire event line. This is
used in conjunction with `:s' (e.g., `:gs/old/new/') or `:&'.
If used with `:s', any delimiter can be used in place of /, and
the final delimiter is optional if it is the last character of
the event line. An a may be used as a synonym for g.
- G Apply the following `s' modifier once to each word in the event
- line.
+ G Apply the following `s' or `&' modifier once to each word in the
+ event line.
PROGRAMMING WITH HISTORY FUNCTIONS
This section describes how to use the History library in other pro-
@@ -136,16 +144,16 @@ HISTORY(3) Library Functions Manual HISTORY(3)
commands. The basic history manipulation commands are identical to the
history substitution provided by bash.
- If the programmer desires, he can use the Readline library, which
- includes some history manipulation by default, and has the added advan-
+ If the programmer desires, he can use the Readline library, which in-
+ cludes some history manipulation by default, and has the added advan-
tage of command line editing.
- Before declaring any functions using any functionality the History
- library provides in other code, an application writer should include
- the file <readline/history.h> in any file that uses the History
- library's features. It supplies extern declarations for all of the
- library's public functions and variables, and declares all of the pub-
- lic data structures.
+ Before declaring any functions using any functionality the History li-
+ brary provides in other code, an application writer should include the
+ file <readline/history.h> in any file that uses the History library's
+ features. It supplies extern declarations for all of the library's
+ public functions and variables, and declares all of the public data
+ structures.
History Storage
@@ -215,21 +223,21 @@ HISTORY(3) Library Functions Manual HISTORY(3)
string.
HIST_ENTRY * remove_history (int which)
- Remove history entry at offset which from the history. The removed
- element is returned so you can free the line, data, and containing
- structure.
+ Remove history entry at offset which from the history. The removed el-
+ ement is returned so you can free the line, data, and containing struc-
+ ture.
histdata_t free_history_entry (HIST_ENTRY *histent)
- Free the history entry histent and any history library private data
- associated with it. Returns the application-specific data so the call-
- er can dispose of it.
+ Free the history entry histent and any history library private data as-
+ sociated with it. Returns the application-specific data so the caller
+ can dispose of it.
HIST_ENTRY * replace_history_entry (int which, const char *line, hist-
data_t data)
- Make the history entry at offset which have line and data. This
- returns the old entry so the caller can dispose of any application-spe-
- cific data. In the case of an invalid which, a NULL pointer is
- returned.
+ Make the history entry at offset which have line and data. This re-
+ turns the old entry so the caller can dispose of any application-spe-
+ cific data. In the case of an invalid which, a NULL pointer is re-
+ turned.
void clear_history (void)
Clear the history list by deleting all the entries.
@@ -249,12 +257,12 @@ HISTORY(3) Library Functions Manual HISTORY(3)
Information About the History List
- These functions return information about the entire history list or
- individual list entries.
+ These functions return information about the entire history list or in-
+ dividual list entries.
HIST_ENTRY ** history_list (void)
- Return a NULL terminated array of HIST_ENTRY * which is the current
- input history. Element 0 of this list is the beginning of time. If
+ Return a NULL terminated array of HIST_ENTRY * which is the current in-
+ put history. Element 0 of this list is the beginning of time. If
there is no history, return NULL.
int where_history (void)
@@ -267,8 +275,8 @@ HISTORY(3) Library Functions Manual HISTORY(3)
HIST_ENTRY * history_get (int offset)
Return the history entry at position offset. The range of valid values
of offset starts at history_base and ends at history_length - 1. If
- there is no entry there, or if offset is outside the valid range,
- return a NULL pointer.
+ there is no entry there, or if offset is outside the valid range, re-
+ turn a NULL pointer.
time_t history_get_time (HIST_ENTRY *)
Return the time stamp associated with the history entry passed as the
@@ -304,31 +312,31 @@ HISTORY(3) Library Functions Manual HISTORY(3)
Searching the History List
These functions allow searching of the history list for entries con-
taining a specific string. Searching may be performed both forward and
- backward from the current history position. The search may be
- anchored, meaning that the string must match at the beginning of the
- history entry.
+ backward from the current history position. The search may be an-
+ chored, meaning that the string must match at the beginning of the his-
+ tory entry.
int history_search (const char *string, int direction)
Search the history for string, starting at the current history offset.
- If direction is less than 0, then the search is through previous
- entries, otherwise through subsequent entries. If string is found,
- then the current history index is set to that history entry, and the
- value returned is the offset in the line of the entry where string was
- found. Otherwise, nothing is changed, and a -1 is returned.
+ If direction is less than 0, then the search is through previous en-
+ tries, otherwise through subsequent entries. If string is found, then
+ the current history index is set to that history entry, and the value
+ returned is the offset in the line of the entry where string was found.
+ Otherwise, nothing is changed, and a -1 is returned.
int history_search_prefix (const char *string, int direction)
Search the history for string, starting at the current history offset.
- The search is anchored: matching lines must begin with string. If
- direction is less than 0, then the search is through previous entries,
+ The search is anchored: matching lines must begin with string. If di-
+ rection is less than 0, then the search is through previous entries,
otherwise through subsequent entries. If string is found, then the
current history index is set to that entry, and the return value is 0.
Otherwise, nothing is changed, and a -1 is returned.
int history_search_pos (const char *string, int direction, int pos)
- Search for string in the history list, starting at pos, an absolute
- index into the list. If direction is negative, the search proceeds
- backward from pos, otherwise forward. Returns the absolute index of
- the history element where string was found, or -1 otherwise.
+ Search for string in the history list, starting at pos, an absolute in-
+ dex into the list. If direction is negative, the search proceeds back-
+ ward from pos, otherwise forward. Returns the absolute index of the
+ history element where string was found, or -1 otherwise.
Managing the History File
@@ -390,9 +398,8 @@ HISTORY(3) Library Functions Manual HISTORY(3)
char ** history_tokenize (const char *string)
Return an array of tokens parsed out of string, much as the shell
- might. The tokens are split on the characters in the his-
- tory_word_delimiters variable, and shell quoting conventions are
- obeyed.
+ might. The tokens are split on the characters in the history_word_de-
+ limiters variable, and shell quoting conventions are obeyed.
char * history_arg_extract (int first, int last, const char *string)
Extract a string segment consisting of the first through last arguments
@@ -416,9 +423,9 @@ HISTORY(3) Library Functions Manual HISTORY(3)
int history_wite_timestamps
If non-zero, timestamps are written to the history file, so they can be
preserved between sessions. The default value is 0, meaning that time-
- stamps are not saved. The current timestamp format uses the value of
- history_comment_char to delimit timestamp entries in the history file.
- If that variable does not have a value (the default), timestamps will
+ stamps are not saved. The current timestamp format uses the value of
+ history_comment_char to delimit timestamp entries in the history file.
+ If that variable does not have a value (the default), timestamps will
not be written.
char history_expansion_char
@@ -430,37 +437,37 @@ HISTORY(3) Library Functions Manual HISTORY(3)
line. The default is ^.
char history_comment_char
- During tokenization, if this character is seen as the first character
- of a word, then it and all subsequent characters up to a newline are
- ignored, suppressing history expansion for the remainder of the line.
+ During tokenization, if this character is seen as the first character
+ of a word, then it and all subsequent characters up to a newline are
+ ignored, suppressing history expansion for the remainder of the line.
This is disabled by default.
char * history_word_delimiters
- The characters that separate tokens for history_tokenize(). The
- default value is " \t\n()<>;&|".
+ The characters that separate tokens for history_tokenize(). The de-
+ fault value is " \t\n()<>;&|".
char * history_no_expand_chars
The list of characters which inhibit history expansion if found immedi-
- ately following history_expansion_char. The default is space, tab,
+ ately following history_expansion_char. The default is space, tab,
newline, \r, and =.
char * history_search_delimiter_chars
- The list of additional characters which can delimit a history search
- string, in addition to space, tab, : and ? in the case of a substring
+ The list of additional characters which can delimit a history search
+ string, in addition to space, tab, : and ? in the case of a substring
search. The default is empty.
int history_quotes_inhibit_expansion
If non-zero, double-quoted words are not scanned for the history expan-
- sion character or the history comment character. The default value is
+ sion character or the history comment character. The default value is
0.
rl_linebuf_func_t * history_inhibit_expansion_function
- This should be set to the address of a function that takes two argu-
- ments: a char * (string) and an int index into that string (i). It
- should return a non-zero value if the history expansion starting at
- string[i] should not be performed; zero if the expansion should be
- done. It is intended for use by applications like bash that use the
- history expansion character for additional purposes. By default, this
+ This should be set to the address of a function that takes two argu-
+ ments: a char * (string) and an int index into that string (i). It
+ should return a non-zero value if the history expansion starting at
+ string[i] should not be performed; zero if the expansion should be
+ done. It is intended for use by applications like bash that use the
+ history expansion character for additional purposes. By default, this
variable is set to NULL.
FILES
@@ -481,14 +488,14 @@ HISTORY(3) Library Functions Manual HISTORY(3)
chet.ramey@case.edu
BUG REPORTS
- If you find a bug in the history library, you should report it. But
- first, you should make sure that it really is a bug, and that it
- appears in the latest version of the history library that you have.
-
- Once you have determined that a bug actually exists, mail a bug report
- to bug-readline@gnu.org. If you have a fix, you are welcome to mail
- that as well! Suggestions and `philosophical' bug reports may be
- mailed to bug-readline@gnu.org or posted to the Usenet newsgroup
+ If you find a bug in the history library, you should report it. But
+ first, you should make sure that it really is a bug, and that it ap-
+ pears in the latest version of the history library that you have.
+
+ Once you have determined that a bug actually exists, mail a bug report
+ to bug-readline@gnu.org. If you have a fix, you are welcome to mail
+ that as well! Suggestions and `philosophical' bug reports may be
+ mailed to bug-readline@gnu.org or posted to the Usenet newsgroup
gnu.bash.bug.
Comments and bug reports concerning this manual page should be directed
@@ -496,4 +503,4 @@ HISTORY(3) Library Functions Manual HISTORY(3)
-GNU History 6.3 2017 October 8 HISTORY(3)
+GNU History 8.0 2019 November 15 HISTORY(3)
diff --git a/doc/history.3 b/doc/history.3
index 8de64f6..346b661 100644
--- a/doc/history.3
+++ b/doc/history.3
@@ -6,9 +6,9 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
-.\" Last Change: Sun Oct 8 11:43:43 EDT 2017
+.\" Last Change: Fri Nov 15 09:39:27 EST 2019
.\"
-.TH HISTORY 3 "2017 October 8" "GNU History 6.3"
+.TH HISTORY 3 "2019 November 15" "GNU History 8.0"
.\"
.\" File Name macro. This used to be `.PN', for Path Name,
.\" but Sun doesn't seem to like that very much.
@@ -118,6 +118,8 @@ containing
The trailing \fB?\fP may be omitted if
.I string
is followed immediately by a newline.
+If \fIstring\fP is missing, the string from the most recent search is used;
+it is an error if there is no previous search string.
.TP
.B \d\s+2^\s-2\u\fIstring1\fP\d\s+2^\s-2\u\fIstring2\fP\d\s+2^\s-2\u
Quick substitution. Repeat the last command, replacing
@@ -125,7 +127,7 @@ Quick substitution. Repeat the last command, replacing
with
.IR string2 .
Equivalent to
-``!!:s/\fIstring1\fP/\fIstring2\fP/''
+``!!:s\d\s+2^\s-2\u\fIstring1\fP\d\s+2^\s-2\u\fIstring2\fP\d\s+2^\s-2\u''
(see \fBModifiers\fP below).
.TP
.B !#
@@ -165,7 +167,8 @@ The last word. This is usually the last argument, but will expand to the
zeroth word if there is only one word in the line.
.TP
.B %
-The word matched by the most recent `?\fIstring\fR?' search.
+The first word matched by the most recent `?\fIstring\fR?' search,
+if the search string begins with a character that is part of a word.
.TP
.I x\fB\-\fPy
A range of words; `\-\fIy\fR' abbreviates `0\-\fIy\fR'.
@@ -182,6 +185,7 @@ Abbreviates \fIx\-$\fP.
.TP
.B x\-
Abbreviates \fIx\-$\fP like \fBx*\fP, but omits the last word.
+If \fBx\fP is missing, it defaults to 0.
.PD
.PP
If a word designator is supplied without an event specification, the
@@ -190,6 +194,7 @@ previous command is used as the event.
.PP
After the optional word designator, there may appear a sequence of
one or more of the following modifiers, each preceded by a `:'.
+These modify, or edit, the word or words selected from the history event.
.PP
.PD 0
.PP
@@ -219,15 +224,19 @@ Quote the substituted words as with
but break into words at
.B blanks
and newlines.
+The \fBq\fP and \fBx\fP modifiers are mutually exclusive; the last one
+supplied is used.
.TP
.B s/\fIold\fP/\fInew\fP/
Substitute
.I new
for the first occurrence of
.I old
-in the event line. Any delimiter can be used in place of /. The
-final delimiter is optional if it is the last character of the
-event line. The delimiter may be quoted in
+in the event line.
+Any character may be used as the delimiter in place of /.
+The final delimiter is optional if it is the last character of the
+event line.
+The delimiter may be quoted in
.I old
and
.I new
@@ -235,7 +244,8 @@ with a single backslash. If & appears in
.IR new ,
it is replaced by
.IR old .
-A single backslash will quote the &. If
+A single backslash will quote the &.
+If
.I old
is null, it is set to the last
.I old
@@ -245,6 +255,11 @@ the last
in a
.B !?\fIstring\fR\fB[?]\fR
search.
+If
+.I new
+is null, each matching
+.I old
+is deleted.
.TP
.B &
Repeat the previous substitution.
@@ -259,7 +274,8 @@ if it is the last character of the event line.
An \fBa\fP may be used as a synonym for \fBg\fP.
.TP
.B G
-Apply the following `\fBs\fP' modifier once to each word in the event line.
+Apply the following `\fBs\fP' or `\fB&\fP' modifier once to each word
+in the event line.
.PD
.SH "PROGRAMMING WITH HISTORY FUNCTIONS"
This section describes how to use the History library in other programs.
diff --git a/doc/history.dvi b/doc/history.dvi
index 4299152..f158fbd 100644
--- a/doc/history.dvi
+++ b/doc/history.dvi
Binary files differ
diff --git a/doc/history.html b/doc/history.html
index 6a15248..6869048 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 April, 17 2019 by texi2html 1.64 -->
+<!-- Created on November, 20 2019 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -192,12 +192,14 @@ containing <VAR>string</VAR>.
The trailing
<SAMP>`?'</SAMP> may be omitted if the <VAR>string</VAR> is followed immediately by
a newline.
+If <VAR>string</VAR> is missing, the string from the most recent search is used;
+it is an error if there is no previous search string.
<P>
<DT><CODE>^<VAR>string1</VAR>^<VAR>string2</VAR>^</CODE>
<DD>Quick Substitution. Repeat the last command, replacing <VAR>string1</VAR>
with <VAR>string2</VAR>. Equivalent to
-<CODE>!!:s/<VAR>string1</VAR>/<VAR>string2</VAR>/</CODE>.
+<CODE>!!:s^<VAR>string1</VAR>^<VAR>string2</VAR>^</CODE>.
<P>
<DT><CODE>!#</CODE>
@@ -274,7 +276,8 @@ Here are the word designators:
<P>
<DT><CODE>%</CODE>
-<DD>The word matched by the most recent <SAMP>`?<VAR>string</VAR>?'</SAMP> search.
+<DD>The first word matched by the most recent <SAMP>`?<VAR>string</VAR>?'</SAMP> search,
+if the search string begins with a character that is part of a word.
<P>
<DT><CODE><VAR>x</VAR>-<VAR>y</VAR></CODE>
@@ -293,6 +296,7 @@ the empty string is returned in that case.
<DT><CODE><VAR>x</VAR>-</CODE>
<DD>Abbreviates <SAMP>`<VAR>x</VAR>-$'</SAMP> like <SAMP>`<VAR>x</VAR>*'</SAMP>, but omits the last word.
+If <SAMP>`x'</SAMP> is missing, it defaults to 0.
<P>
</DL>
@@ -322,6 +326,7 @@ previous command is used as the event.
After the optional word designator, you can add a sequence of one or more
of the following modifiers, each preceded by a <SAMP>`:'</SAMP>.
+These modify, or edit, the word or words selected from the history event.
</P><P>
<DL COMPACT>
@@ -349,11 +354,19 @@ the basename.
<DT><CODE>s/<VAR>old</VAR>/<VAR>new</VAR>/</CODE>
<DD>Substitute <VAR>new</VAR> for the first occurrence of <VAR>old</VAR> in the
-event line. Any delimiter may be used in place of <SAMP>`/'</SAMP>.
+event line.
+Any character may be used as the delimiter in place of <SAMP>`/'</SAMP>.
The delimiter may be quoted in <VAR>old</VAR> and <VAR>new</VAR>
with a single backslash. If <SAMP>`&#38;'</SAMP> appears in <VAR>new</VAR>,
it is replaced by <VAR>old</VAR>. A single backslash will quote
-the <SAMP>`&#38;'</SAMP>. The final delimiter is optional if it is the last
+the <SAMP>`&#38;'</SAMP>.
+If <VAR>old</VAR> is null, it is set to the last <VAR>old</VAR>
+substituted, or, if no previous history substitutions took place,
+the last <VAR>string</VAR>
+in a !?<VAR>string</VAR><CODE>[?]</CODE>
+search.
+If <VAR>new</VAR> is is null, each matching <VAR>old</VAR> is deleted.
+The final delimiter is optional if it is the last
character on the input line.
<P>
@@ -369,7 +382,8 @@ or with <SAMP>`&#38;'</SAMP>.
<P>
<DT><CODE>G</CODE>
-<DD>Apply the following <SAMP>`s'</SAMP> modifier once to each word in the event.
+<DD>Apply the following <SAMP>`s'</SAMP> or <SAMP>`&#38;'</SAMP> modifier once to each word
+in the event.
<P>
</DL>
@@ -2166,7 +2180,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</I> on <I>April, 17 2019</I>
+This document was generated by <I>Chet Ramey</I> on <I>November, 20 2019</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
@@ -2328,7 +2342,7 @@ the following structure:
<BR>
<FONT SIZE="-1">
This document was generated
-by <I>chet</I> on <I>April, 17 2019</I>
+by <I>Chet Ramey</I> on <I>November, 20 2019</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 e58ece8..3eb3db5 100644
--- a/doc/history.info
+++ b/doc/history.info
@@ -1,9 +1,9 @@
-This is history.info, produced by makeinfo version 6.5 from
+This is history.info, produced by makeinfo version 6.7 from
history.texi.
-This document describes the GNU History library (version 8.0, 6 March
-2019), a programming tool that provides a consistent user interface for
-recalling lines of previously typed input.
+This document describes the GNU History library (version 8.0, 15
+November 2019), a programming tool that provides a consistent user
+interface for recalling lines of previously typed input.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
@@ -123,11 +123,13 @@ the current position in the history list.
'!?STRING[?]'
Refer to the most recent command preceding the current position in
the history list containing STRING. The trailing '?' may be
- omitted if the STRING is followed immediately by a newline.
+ omitted if the STRING is followed immediately by a newline. If
+ STRING is missing, the string from the most recent search is used;
+ it is an error if there is no previous search string.
'^STRING1^STRING2^'
Quick Substitution. Repeat the last command, replacing STRING1
- with STRING2. Equivalent to '!!:s/STRING1/STRING2/'.
+ with STRING2. Equivalent to '!!:s^STRING1^STRING2^'.
'!#'
The entire command line typed so far.
@@ -174,7 +176,8 @@ separated by single spaces.
The last argument.
'%'
- The word matched by the most recent '?STRING?' search.
+ The first word matched by the most recent '?STRING?' search, if the
+ search string begins with a character that is part of a word.
'X-Y'
A range of words; '-Y' abbreviates '0-Y'.
@@ -188,7 +191,8 @@ separated by single spaces.
Abbreviates 'X-$'
'X-'
- Abbreviates 'X-$' like 'X*', but omits the last word.
+ Abbreviates 'X-$' like 'X*', but omits the last word. If 'x' is
+ missing, it defaults to 0.
If a word designator is supplied without an event specification, the
previous command is used as the event.
@@ -200,7 +204,8 @@ File: history.info, Node: Modifiers, Prev: Word Designators, Up: History Inte
---------------
After the optional word designator, you can add a sequence of one or
-more of the following modifiers, each preceded by a ':'.
+more of the following modifiers, each preceded by a ':'. These modify,
+or edit, the word or words selected from the history event.
'h'
Remove a trailing pathname component, leaving only the head.
@@ -220,11 +225,14 @@ more of the following modifiers, each preceded by a ':'.
's/OLD/NEW/'
Substitute NEW for the first occurrence of OLD in the event line.
- Any delimiter may be used in place of '/'. The delimiter may be
- quoted in OLD and NEW with a single backslash. If '&' appears in
- NEW, it is replaced by OLD. A single backslash will quote the '&'.
- The final delimiter is optional if it is the last character on the
- input line.
+ Any character may be used as the delimiter in place of '/'. The
+ delimiter may be quoted in OLD and NEW with a single backslash. If
+ '&' appears in NEW, it is replaced by OLD. A single backslash will
+ quote the '&'. If OLD is null, it is set to the last OLD
+ substituted, or, if no previous history substitutions took place,
+ the last STRING in a !?STRING'[?]' search. If NEW is is null, each
+ matching OLD is deleted. The final delimiter is optional if it is
+ the last character on the input line.
'&'
Repeat the previous substitution.
@@ -235,7 +243,8 @@ more of the following modifiers, each preceded by a ':'.
conjunction with 's', as in 'gs/OLD/NEW/', or with '&'.
'G'
- Apply the following 's' modifier once to each word in the event.
+ Apply the following 's' or '&' modifier once to each word in the
+ event.

File: history.info, Node: Programming with GNU History, Next: GNU Free Documentation License, Prev: Using History Interactively, Up: Top
@@ -1386,27 +1395,32 @@ Appendix C Function and Variable Index

Tag Table:
-Node: Top845
-Node: Using History Interactively1490
-Node: History Interaction1998
-Node: Event Designators3896
-Node: Word Designators5035
-Node: Modifiers6672
-Node: Programming with GNU History7895
-Node: Introduction to History8639
-Node: History Storage10329
-Node: History Functions11464
-Node: Initializing History and State Management12453
-Node: History List Management13265
-Node: Information About the History List15559
-Node: Moving Around the History List17173
-Node: Searching the History List18266
-Node: Managing the History File20191
-Node: History Expansion22011
-Node: History Variables23940
-Node: History Programming Example27920
-Node: GNU Free Documentation License30597
-Node: Concept Index55769
-Node: Function and Variable Index56474
+Node: Top849
+Node: Using History Interactively1494
+Node: History Interaction2002
+Node: Event Designators3900
+Node: Word Designators5174
+Node: Modifiers6934
+Node: Programming with GNU History8479
+Node: Introduction to History9223
+Node: History Storage10913
+Node: History Functions12048
+Node: Initializing History and State Management13037
+Node: History List Management13849
+Node: Information About the History List16143
+Node: Moving Around the History List17757
+Node: Searching the History List18850
+Node: Managing the History File20775
+Node: History Expansion22595
+Node: History Variables24524
+Node: History Programming Example28504
+Node: GNU Free Documentation License31181
+Node: Concept Index56353
+Node: Function and Variable Index57058

End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git a/doc/history.pdf b/doc/history.pdf
index d6a5026..0d7aae5 100644
--- a/doc/history.pdf
+++ b/doc/history.pdf
Binary files differ
diff --git a/doc/history.ps b/doc/history.ps
index 1640a86..e146537 100644
--- a/doc/history.ps
+++ b/doc/history.ps
@@ -1,7 +1,7 @@
%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software
+%%Creator: dvips(k) 5.999 Copyright 2019 Radical Eye Software
%%Title: history.dvi
-%%CreationDate: Wed Apr 17 13:02:34 2019
+%%CreationDate: Wed Nov 20 14:49:30 2019
%%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 2019.04.17:0902
+%DVIPSSource: TeX output 2019.11.20:0949
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -1123,6 +1123,7 @@ dup 11 /ff put
dup 12 /fi put
dup 13 /fl put
dup 14 /ffi put
+dup 33 /exclam put
dup 34 /quotedblright put
dup 39 /quoteright put
dup 40 /parenleft put
@@ -1143,6 +1144,7 @@ dup 56 /eight put
dup 57 /nine put
dup 58 /colon put
dup 59 /semicolon put
+dup 63 /question put
dup 65 /A put
dup 66 /B put
dup 67 /C put
@@ -1395,544 +1397,552 @@ D20A952BA5CC35B646ACD0A287C956B98C450051AF6AAF79DF37F8954473F8F6
6744856E689A479CB3A8BC081F33CB06755926204981DC0A45B3ACC18F6865BB
EE2C50DB43B62E3630FC1D9B1FFB3BFFAA6D0A20C0381ADF48E4D916BEE85BA2
BB40F538F55C11D50F882B73913840B45161262BC8B0012694C3EF26452F9B77
-2CD7C7AD6BFEEAFE31C8A721C2D46AA00C10681BA9970D09F1E10DDB693AFE84
-246AB18279A2B24E5B50A2FF6337B7B1039FFDD4B00ED3667B5F2F7BC2786D2F
-525A0E82234B30711AA835EAEAC2E404915FC7EC0081B194765032708B5E11CE
-EF6868298CD26E5B9EF345BFA3EC2911E2B96A0B40AEAB95BDCCEE38F5EC170D
-3BFB792D2DDA7E57BD2FB7669484EF9322A1BEE009594901095DE2BA9A15A0EE
-4DD77404CEF16EA6C31FC04A8FBDEF27B9FC1AD3264388B0B12D8E476305B912
-30B51624D4605C45B514473F327DC3EE8BA69032A95301CF714F225A92C253D0
-D943C80B9CD0524C5B87A8D052D2E47A9725EF869D3B89097CC13CA9BC695FF8
-A9468004450A76A13B7EE78A03CC18917EC44036C2DD237344E594569B8F2DDB
-21F7619180B8C760741961CCBE54FD6DD07C4CF73B346099234A1EFFEFC88574
-6324E4232BA18A38EC9F0B780C298877EF0AF42C1EBC2EB52DB64A1E1E352503
-36AA29953A073B864FCB31BA938A4163D000A159ED4D345331FA1EB4009CFF67
-1D107BABA6AAA48075C6C50BC7683929EC146594E55B01D4F5B582328284068B
-2AB05CE92EEE1DF4557DFC8FEF287CB7F961F4F1828EA48B0ACF5C63E1EEC8FB
-6A0EFF132268B7DDF7B465D4A21B05993F4A4CFD168A700D04A7303BC2C00391
-392C3FF97E770E6FAFFFE501242B20B4F7B6C17331C64BDBA3E59695E176CC79
-E7632AC6D2E920AA048BD1EBCF9909D8C314D2EF3CFC5CF88D8570BAA814D467
-96D86CF4415C5B739FA6FE7B4C228F06268D28EE33381982E7B005C26D2604B3
-AA363CA4732B9BB0E4D4EE50556D777258A7BC232087C9F00B0D5EF70270B40D
-3071E14E4E5AB5AF1C686C5A7C268D36A0787DC9300D4CFA004F89A73FFEF780
-E6BBC957E31B764159C3ADF752E6E1A6C3B5B855F8A483497A347B601E3C8DE0
-362D76B715916113CBD2D3765197074104C7E17B87670CDD5C227A1467BD678A
-BE442F196034B02132850CCB77143C2873447FDB8767C462C63916D9D4A13198
-B7910E1B274B27644DFB2E8372C8CD55E6E2AA5CA952A079E1E6389927495921
-CA39D69ECB4DF382FD2DC213EE382BA1A48CA886CB6AEF2B0C50CAB47B1FC40B
-2C95E13190C92480439E3C56188D162C294F24987AAF4E15E8FF7ABBFF2A12FD
-AEB884FCFFD671EEB94CC075B815C6A45549EC23DB85923F4C37221641B75CE0
-C5C8FA8403C2C9FFCB66CC74C5160D6C7042DDFF33A954DD01C8E21B21F8F364
-F6FC735507D0DB5F68F2D8B520AAA7E0F1D503211339F9466006E9A148F39874
-A1488F1F0458409D442D2BF5935A655AD4656A8411543F58C63DFF9C4FE56256
-7F9F876B56BEB208F9DCA363D2E0F7DF3CCAFD5F9674675BF622CBFC2D1CEFA2
-7A5323971101D3641E99D84197B00D67436843EB9CF74C273062159C361A07C6
-E3F1E0E4666ABFD5C9AA8F914F05D02EE1906FCB66E421C73243257170617FEC
-2F02D5A7F3347CC0D290E52FA815C4D5D2A16A4D4A5E0B50165B0C5C77B675F1
-0EF343D70813346EC4D7384A9D9A091984AF29C810F8C3D4247D37F91C5DA967
-747890DFFB25E67F6FB766168487AE8BD8E49C55BC1B68B831E3F510BA1DA3A3
-9F810B865FA98AF89696CF7489BACBC1033A1C929023588E9E03FAD6D901DC52
-A2F5EB74DB679A16DE42F7B47BCBE16617EDC7328A2CEB2C23733D98ED753C66
-502DD2FC75CE2905A429B5B56C62C1C0FCE17144D96E0C615E7FEA48EFA05D9D
-344ED266BD96C3296D6005D289228C62D572167E369AC65724E0E62AEAF608C3
-423FD37E586D41B2AF9B10E0A36312AC1A6F61418BEBF528932FE61881636837
-47CFEDDFEB25F7FC156AC7D6E78D608A91270FF6D1D510E8CD61C289F3E7960C
-B6093B333A0CA3CB8BE51107C5C1C085B3CF6D6F61379420AC1E5D9A3FABF084
-80D6C719D93BF74A99D681726C81F9F83949E06A560F3B3905C0766134533256
-6CEECBBE3EDC220193964706085526386391260838C2E885C88F882E29F31F69
-149CB1B4B788BE82AEBD32B5A8F07D1F537D85077B4BD1FF945EED4BB41B79FC
-CA0B25D1D761129A6043D701AB1F6655C06DF7B0891C3C5224977B9464A6A794
-5FAC6547F7548402420976CA3A644E5A7CD7F64974B71872B02756FF6A135EE7
-BA60B9974A0A2CFA4E46D91B929A3A0DECDF44C39CC06BC2105538856718CF59
-59B1D9BD88735ED4D83C17A67031178B43CFEB4C301E551D708F5F08E80E5A1E
-5579CDA06C9902E412052CE7714A8BE29DF9911F556899F819A7FC2565522182
-20918E8C476DFC00F79BCC4248BCAC6615891C3115B30A39B365044CDA0AB26F
-C8966DB46FB9FB7B7BB37C48B7CC4852C8C05A57D92ED8E6AAE6EE5A60BC81B8
-C0B22E5E74610495094F12BA6D60DA3190C4CAC7F46D740005264BDBCDE61FB2
-50B8DF1CBF41195E616F4595F7860F1538363D529E3E3FD2D408B56CE034521F
-3D9AD6C30174D0AC1A9F9151C8C8DB6E7624290CEB82632679BD0A01EC30B3CF
-FCE72F32F4443E137EA554CDEF84B62CFE21A5E8BFB2EE52C87CBD603C8E0FC7
-35A9ADA5E49FC4C7E3F1538C84761186C045B9F11074F8061F0F4BE061D22C85
-2BDC140F6CCD858B1A4E9AE9444B4EE3DAEFF4E3760A8B851ED3B9780F990595
-36210570D82E9DE83AFB3A20D0D955F69FD838B6F9F785231A84D8BF9F434665
-CB62D518CD5F4623711E022DF76D2CF20202FBA15A1D1070FEA87D6BE954DEE0
-370280ED09237334FCA7AFB1A0CBC9A153A25A929BEF57B202A5889958A9AEDA
-535781A11DA8E2BB5C885BCB83053BEDE8436846C7B54B41703839F861F95D5E
-3C34C4DC8FAADB39D20DC53F642A28B92D0BF1B02876E348B088AC9B2C55DB06
-808BA40658ABE50D6956C9B1201C8D3D97CF9ACBE1FCDB7E7C02D1BB8D87AE61
-2902D77900C11D1DA6CE808C425A7EC0B31BBDC690E98A09AB656294A1B17E00
-2D12DDCAA5E0F1B44EC9D7CDFB5E916045F5CE852D3FF3E8D421A11356EB4392
-F7DA22AFA6C18C7F507F5D8892E8F1DF11E5CC965A61D732F12EFA8339951645
-CC3AF8C3EC88C5B372729EBBD3530439E0E8AE43B43CF57A5258AE8AB259EB71
-9E1F057688B110D4177CF54B1D56D2EAB6B1DB603D6536EA9B9EA11DD57E7F3E
-DB574B05043CEDD701DF8C0982EE726187EAF637ADC279BF7C83A244D3EA9800
-F9797A4D3E4D5F6669B49D2B37CC9BB1C9244B54DD62A5C4BE533DF46F618D3B
-9FE2203DC6C75B25AD6B49B2A760D3604F156ACD80CF5458FEEA64E243B2E527
-E750720E97CCFFE2322734D5DD0FB1A8FD8FA77AD87AA1C8EA1B023F70BCCF92
-624F9A6B0B27B5C8A5AD21D8C08F62BA1738359A4D78439A7A580D605929D6D7
-60790297E11930F43BA89832A2D351CAD0F77AF8BB70A2DD5DEDD4B34FCBC714
-C2BEA2C26F768EE44D27F39021F5AC95FEF199F6ACC4A2F3109E081A3AC7F42D
-1767C2A82683BED075A3293189784AC8D12F17FC3C15B83915E0425926D6069C
-16D58DCF97B1D8E1021F51C47BDB1286B5F9CB60A2B2B7D3F219F20C8651DCCF
-80B30FC5B20DD6D887BD571450A3A005F5980E90A649DEDD316A452589B2BBA4
-BE8625C231E5D4886124B24580C7795F7B3D063667F400C18150A80DEA255943
-B9BC4E1F0A0E5F5BFEF9F7322C836AE892F91A4B3291F216F99654C54BDEB5DD
-87563AEAEED8D8E65D1B60795F1011C3CC63B8FAA15B381E04E1FBC2A5BA5EC8
-B76DCA2AE3686F7D71CF0662338C5E468C0E8155715EE8DD963FA7C257214DB0
-6E523E1370D0F14165FDEF1C9D2F9DDDB4C61DC764B946DC40BB897E8A0BD7A9
-A7D9B684B5899E1A8F4CF9FF67EE19B4FCB61AA4463C5F06309C7B10A131AC21
-63E04A69A223818185F44D48ED721CCCD98737DF4BD3CF6924C6EF30372E9E38
-22B3230829B054EC1B8B42D29059AB5E706E5EBD6CAFA57502005BB170E5B471
-8BC330C11C068849A61C37E5AEDFF994D9A53E73E12D3F7BF63CD6C435055F5C
-875056658B8141B78E3E5050E3F8209CEDC015445893B5B798DED6777B98017B
-4B9766F79E20DE51B4081215A072BF3BFDA0AA741D3EAB7F35138C2B32982453
-5681A66A99A21F0663C8B559FA49AD7B854BD648335DC7B8F72EA85CEC66231B
-AE8F8FA55020FEB0FDA90055CE8255D02C0E2FCC829AEC8EFBAA08071CDD03E3
-9FE8C4F28DB460E0AE8514E319ADE43559B190D9104C78DEB8DCD9E1B2118746
-3DF257B5DA0A52F0F6F0F70352C2B1F851F14F3251A2CEF2B15590E4E80363ED
-652CEA14D0CD2FAF8CD0CD6A7888159FEFC0A3D8978F49D85DC8BFBF33FEE7B3
-C0B040618510F483EF114F46A509E86D08D9470B9A6293083E6FBD511C388D8E
-5A16B5777FC9FF933366757609163E9567B121906BAAB48B1D3CEF9D0B1028C2
-18E9B6536DDA27ACD9816D2D1D5571038F936FE496081B801485F9CCAFC7EE0A
-34D2BF741863A5F639D9D4E123EE90AEB355314E4E38F3F4C243CAD3112A0504
-48BBD089B189203DF7ED4933819A0C1D57ED8AE20B2B15F19F8A0CFD927CAC50
-116B04C25A4E5B20C4C5864A8DCF8CC9BDF5CEA59D1EC52EF62CB642A8FCF1C9
-3E036AA4DD6F4ADBA4F8CD013C622F831397B8640936910C6D1F82ACC6451C68
-760E14BF5B7845762DFE0037BABBE5046C5F3CE3874702EE51D1A463F3B86C69
-7C758A4B1960E1A796F07859A9B1860AE5BC7D5703E63A37B9334D67613241C2
-5B606439A6AB29FA7386317DB876D26FAC05188B4C59672F2CD9A750A0E70CD5
-AD69A8609AB0C78F625E7749C770391D5426D9C3CD1CD7D37445D9718C07A37B
-5BECECE3E6F3147731D5C12C4946F88A7C82500F8C495FFA7E2FFF6A9C2F0BFA
-8EF861E6C369C8DF969B5FB0F02CAC74E8E080B16BEF1CF0D1A81E90FA1612F1
-FCF086961FDD981A8698FBDCE44A80E4290B7B553D9F46BDF6E346627437903D
-499C80A29BE6E7A2C03D943D23C41F1B85C92FE922EE3A3E0601565564C55116
-17F01B2DC9FACA12AC59950EA410D5533B0C31D89FA68D07E9FF1139554C7920
-FF84CB51E13B7FA3EE6A32DDD9FCC192B576A871CBC9E04C5C66ABED560AFF24
-6D6271979BC7D04F7287E32F52B1D2DF60B7D7A53A7D776FC36D70E9C6F54E97
-44F15C5ABF2547DB40EC913EF0B9597A721563C3664E74E7283E9030CAE36B7A
-B14E781BC772691347ED48EBAFDF23EDC452EE8A118A840A185B7C1DFB7F3AF1
-A2D64EFBA1C9F662A35F3B46CC8E2D7E7A7F63F9BFEBB6E4A6DB8FF0BDC83E9A
-A70438435C3B8A780F7F92578501656FF963ED66A73921E014A46385450D26F5
-B73EDA0630201BEE50325B0F76B55E77BC55F4401251D083225EA5777F42A7C7
-748FAE7C22E6A17E04BA9F6D451B35A63DA6F3D80B0365E159B3E993E0DAA242
-2212784C9651F9A0766F473DF743748FAF491CB69728C2473ECC5524E0F2997C
-2650BC1F945EDA4CE833980E706C4D413F7929804A0B1D182E26052876D6B836
-01284296115233D90D2D0FE83317D4AA206A67207BD899DAC1D726C937A34193
-F0B6EEDECB391C6434144275295014BA4283D4346BCC495AE3EC6EE9C4FA7711
-BB6004D39D7BE17FAF0241F2798C36C451BCC4227899837FC244BEC3432ADE1D
-9E4F47F45E9B1D2C832FEF6896C92A207AAED7AA924520D096F983D66DCAF476
-83A2F6F1844E7EC5195EDD3E5FBD0FBAABACE5D13BF754BB2B0CC8FC633D83BA
-3BB65BD9837B109AC1B5B255298E6B65AE4CEC0FFE24DDC3D1883FB0D6F8FE65
-94D0A898278E0313303CF7DE2E37BE0152A1D4CDBA04ED61D54555B1B107D9CC
-C08C89BD2A19050191867EFAB8FD582226B03D7ACFA97C6D404BF99F39EAB7AA
-9AA9397B57CD7CAC1B338C21579A593D7DE1241E6F77366CAB10C3FAA772C663
-BD1051F9D791A84C35196E74D28D342553D344199CBEF83D3A6ABF05A4779B16
-EAC70F7CEE167132D04BE5F56F8F20927DC3C7A20239AC6AAC2B57BBC83174D6
-25F59228ED58B5D492B16ACF3EECA04054F59247A8E318B6F5A09F0A8B3820B7
-2CE711056E3A3ED9300B6F2DFE2C665D7C3351D40A779FEDA09B406E804BFFDB
-9831478F237DAF6352CADC53D6AE85A14E5FC7C0C1BA4009FF962FAA52499506
-C6F3C18BD4C13C1272D844EE151CB5A0DB0188AB7FA2DD47A6A2CE8554A7CB82
-C0CC30593F062451363778FD5A8D39C60835825D63CF3BEF323C8CBEF3055F61
-294FE558C7542977A3C520DE15A984C6D82041E06C356FD7BE75D601CB95816F
-F05AA3F53144B7D768F6732339FB8E6A068F8E021C1BDDB26572385FD1B3794A
-0E1C780576819CA271C78010D8416F6B19912227CE781CDF6AFEC335138203D0
-ADEA0617451CE0BEB024CDE135922C72FE0932F10589F0FF9F1DA721D32B1583
-8D032EB9049E4AC34B3AF16C4DC1A85CDD8B047035ED7D50CF8D9D02621BF6C8
-2CCAA23DE753C7B0B8818B68D625F44A54689C0B1CA36FA7C68A567FDAB813A1
-8B34DFF1300D5E42067F51ADDF7DC9BEC7D4376D304A417741E17AE427639676
-407472CBFAABB5AB329AA7CCF130B3EC6DD588A1F44409FD239238B1A8884382
-F04198DD7C5DC5E2288FE0B206C9D9516D468AA6E2B1183E2E906F9DE47C9209
-578321590CF839C9FFD5FBC3393FFC75322B4E703EFE69534745D579B74AAE3A
-2336823D2DD5F477F39AA9386736476F5C0B1CB19457D44AD6417BA503475D23
-51A99BDC97751E7172363DB670AA50D21920E98BC1DE7349EF8B8C1E72CACB47
-557B3E2BC30454F75CCC41B84A67648E894AA0A43C5A2BFB5BEE8D0BB07910B3
-47EDA7B547EF357C2553933E0BDC0F05D596E4C55B33AD63E924164DEC1934E4
-58F937DADD65AC866E4EA2BF02D36C54AE3E3727A8FF9F3658337D2BFAED5908
-5BE3C1F4503843FFA47C83B3D9CBF1DF2AED7A6B97A7E68CB6B9E5420E70C5C4
-36843B29D902584DF95CCD8C34647E87E2335371DCD89E495A92033BA482A62A
-0D2D3A7BB06506E42A4926CA0AFF80EC8DA63D7B73E8A04B25312F03251B512D
-76BBFD76C1F5207FD6A8E69ED9BF063C7DDD0FD4C6974BBC531429EBB55BB715
-0D08FCB2F80275425FE42E87AEDCE78D2BDC07CED8BC49D260D1671BA0ABDDB8
-98E0F7BA7EDA086F4E3585157A71CCEEA35750B9DC3195E3396F1161EE1E1D25
-E6FE6E0B022A9625B5866B8EF59DFE5391AA7F033886402C654F4834F4E43138
-EBAAA758DFC8C27356F012F4D0F398EB8D013678059D8419C2D947F3FB2BDA1F
-70A5FCB549BFFAC288ACA7051BDAEA41A4AE0341035B4365A63C553DB80CE429
-02670706A74AD397B49AF535067EB07CC3CB86704ED45301DDFD5238E7DF5ADA
-8DF465E45F7514D7A0BAA202305CEC73032FC09294480796251045AFBCD6B081
-8EE4481D29E817C7DC32539B364076672596DC24CA8AC45D60A8536865FB475A
-3DB48E98C675A8BFA39792AFD17B5251D56F0D5C27E229DFA75FA3560E7ECFBB
-8164E4FF15421846BA40EE13146A316D530287CC8652B58804B95C53F6FA9DF6
-F84DE1E222C5D69E45E12C06C97E672D456E21B95584F8371FE34ECB0E6174BB
-468EA60BB0C06B3DF48D996D9083F70181799CECC224FE60736CFCC6F246E5E2
-EF465A6B1B411ACB7474A59BECA5935DFD15F5C18160D4AD4DE9767D6213C35E
-08AB18F834CAB32013AEB8C634DD6382D4C7E49F10BC5113214A18A5EB31A0D6
-923630A849327C1CAFEA3B8F5EBA83668E03EBE084ABC1A4C1DEFB333ACE0696
-EB20FAB6FE6E61D38457C8E10D8FB7595C627E8FBE2D5563C4D50A6E1F3DCFF1
-F5A2DF1A62301665C0E44C2257B4516B515FC995A52D4DBD54B3D4EFBFC63A8D
-F07C27065CFE19527AE04A9CA14935B7399E30EF88D2B63891A58044D7CE07F2
-916EB8E9C65388A73956B3D82B4B41AC378B4B75AC304A32339CA7701636B6A3
-84254743EA5F8525897D4FB054698031D1FFF4C971A10440212DE812752425D1
-E71B02AAD20E994357EC8436BF1B74F016DD41D6B1F6C1578E4B261ADE5A7B31
-2ECA2C16294C9309F200AE0AB5BDAF2BBCB3E97B0FC5556BD8208E50CDEB88BD
-F137D2F72258B6E41092F1256CA4AD867338DE757E29298F404FF94F247A805B
-40524952A6D8581F065B11B6324F9F2821A3AAC2E7A583771EEE640F2FD0975D
-299EACAB2A99942480DCCC95BC7CEA846EB1B2423FCE304596A2581583450455
-CD1D56843DF8FFBA723FBE4A4AD8E539828BF48BFB4D0C4EAA68EADB81A2C58B
-EBF89CF83017DE3382BEF407B493FA5EEF810C740C3C8B646292AECE9A5180CE
-07ADE6E6B2935B90BC521D3ECBE25B43F14DABCF49F378C26CDD2B27C690EAE1
-E888EDC3C963F55F1AD13C8FBED4BE0BEFEF31C0636913B47205DB1D0DDDBEEF
-4441A3DE9825160AD57948567EDE8660567998D41A0AE2D9A9B5BD4207F2A0F3
-EE82DDE22D16C32A583613E0EC2BA331EA91042B8FA2865A8A7DE1BDAD0B6D33
-3DB1409222AAD20577ABAA7A2DD6B302803FC7B4244ACFF725E37CB5926563D2
-82AEF220424600581E25001DE71E1385C9D690747BCE051539AB8B03B2EA77BC
-39B27AA8F63CA37E3886C50E125D3886C5132869596039589AD6A8421C8B7AF8
-B0EE2872AF974A4B779F09DC1DF2BBF673A7FB32BD1BF3D8D99A94E1BCDFEF81
-37B2D7BBB80ABEC1EAD544448E6A49DF730A1B7F63267C9DDFE81131867F0C0A
-8D2B37E8B0AF2A6265C57CF9BCF98A01998081E7BBB94DD53FCAE52F3F5010C7
-AFB011FC6FA98FFDF173FA0F935D33EC3DE55890BFAD217870974C00CBBB6C67
-1CC558F6FB2C30B28B9987721722A27EBFA924A382569E3D7C47A3220F21EAB9
-1011D71B104BAD1A47CDD9CD64487A8E9721CABFDB83FDEC748EBF0D08E77CFF
-1A54D0B3ABF4024DAA403436C9F6CABF3B6CA7089776ACB183AC01C8E7F287FF
-9DA7959C4B7D73F00976AC5C3E4B810DBCCE732E4C9ED9EF8006AFC7314F0055
-FA3FAEC780434F273ADD7D07C2006E4B755B24A26341AA5AC2DCE258F8B03409
-188109067E22F078E093A76FA372C87CAD401794D94317B2665DCC7E21FDF901
-E1511307385B6EE148FE1666BB616351F48A8082ABF94040CDB058DD584364F8
-CBE3E94DBB8A2450D18D435FF5C8CF2DBA1EB562E957A83F184C9F3CC43C1860
-E6FBEE91C4D240C61D7A7D554A17B90D0A9CE1E7AAF7840846B3F1A1BB9926A7
-CF8E9DA56DB81D35CB3687E9818CE74C0336DF7B2CEFD8BC432268AC93EB34E2
-3D361A8387BC92B459F645BC069A49628D7382E22EB249BC7CAAE98AC55FBD24
-F570D8D654B54710B809234AA2E662D2ACC44E1FE1AA63A497FDD94A46B9D1BC
-E37B29430A5E0C2E592F13BE227CD9A6556E9A0E1C3EAD9DCD742D1F9CF62014
-5EA4510003418D1881C4EF1589A8B9EFB52DDBB67BCFC4E55B134A3C2E31AC1C
-4658B592EF69C2E23E335499A35B91A58DF9A947712DD55BDCDB7E0AADD53E29
-2777329340EC29A51E9020B8EBABB7B066113ED3A4791D3FBCABADC40CC45FB6
-8744DC0116379D2649B216366C6FC83999E1FC558EEE5E17E13A12B252E5F7A9
-E760CD51C96C1B4815BFE37D4D39621BCD10DA9428CF186E61E9921585C1944F
-DDC084DC9216FAB69CF54E456D47F65B3FB02F34B0CC998E12E41110A4791465
-19780824EE2AC1B799655553375ECB24149100E539C23829944BCC82211A85E8
-6A2D3559BBC0EDFEC2DA02AE3BB86A9E30AD5BF95E5CD956297C1F6AE85D0768
-1F9D96DD8EAAAD78CFBB543E913951A78D3262CF08BE0DDE7D870FDA94C51A1B
-1F8544122EDB7653E66D772E3EBCBCE4419F17500D8469EF4FBF93144B20DCD7
-39B815E0B09D0BC3283E8B7A907F203EA3B22924419C1C3A8DEEAD335FD538F6
-0D5ED1581BB64FAD4979D67D51F18B047E096747FC50C6A2B48377E458038374
-7FF93A3A46E09ADA5A844EAAA3EEFA1625510D3AB7A74764FFB229725FDA314A
-72CCE353A9693869F26CB904505B089DE6D41825336318DA00DAFD986779D4DE
-E8DC47E496A9936DD3CF46719D5E832E3B7C85B44D16D4BB588CADCCB90CBBF3
-3589F08AF2AF77D7ECC3AB68D6409221B2ED853012C693C522407B4E97DD4F89
-9EAA4CDA6C85F8B65F5E165399F6CA79550965F3AAF7D875CA947FD6BC42A4DA
-1AF797BDBAEE65A1C3BAF00E8E48FE567E757715166DD2757F7DE6C45FE4B3FC
-A0C76D12FCB66B4CE9CCB47060AA5CB3FD427BCA5B549A4AF34CA654D9421C26
-9EA4106806950525CA856624E9EFF9DC5B598AE4AFE928447D0704D4EE99DF07
-69AC51F4D3163B7424059ABA4381DBBBD5C8C7DEEF723F163AE69C48962C34D5
-7514F73FAF946C121EA5848C29E127DD0FDACDCB6B1AF4414EA369093282383D
-0213B391666CF596FAB2AA27270FC273E32B90D3209091D8360A0D50F8F28D23
-F7B8B097E2FCF2DCE92A7D5AB68EE680B691C2DC7BB846FD5132EB5789A30B8E
-9B849C18E8560E9F49764CB89FE01E2E9968C769BAF6B44E08E45E563EB14BC0
-70601E5133AAC33723E934677518C54A235EE9E4A832B363DE44FD82D37BEEF1
-E9C842EF2570C97C3C5D6C0DE94DED4DC5B6681E4A04BAA725F0D9061B16C431
-8ED6859AA5E5BF254BD3C29F100293FEF2D0D6EDAF428490E13B06527B5FCC90
-54768BCE8007EAA2EB1AE14F3F577CC243BA416AB6E43E92EC4FC99775BC1D92
-CECEA05EB8ADDA826E364921ABE388295AAEC6678C08D26415B2725025C70089
-9F12735F37C45F00218EA2E398A8CB173086C43B2A7EE4C95852110F8DCD12DD
-64AEA60156E560E8D8D84285B523515EC15888E9912C6C1AB91290E1D57D7595
-1DF73319FCA62BE7C04F4E9968F7E453C384899736D48EE6FF64DF1260057C37
-3082E207F796CE6AB2271E3F31AD2FF83B99FC3DF2826C07F4E4CD05077DCD69
-A3B9EC76BC02C12A468AC4C0D7D83FD4BB4BC8ACF9C312CE3144E76D2F3C6246
-A210DCC9834608CD0A52CC551FBC059B88BC2CEE954AC6B5811281737EC83C8D
-72B39D016B0ECCED40BDC58706910851447C80E3FFFA9D57898204F9815DB6DB
-1EB38FC10637CC50768703AF9FAE89A94B424A3C647A7870B26970954CEAAD68
-E069ECBADBFC0519C33AEECE55AA93C75B6CF907DF65B98C7A9B043E4BB5840A
-88DBB212EA2E86888D36B76D270926739B48D6435C1547D703FEA7B989CA60A4
-87CDF9DF654919F730787D58680BAD0E5B506FDC2BF0C89569CFAF6BE11F80B2
-07D69B417562178E087AE3AE9380CAF8CEEE40FD3989BB50E8521963B0617401
-2996B2C32A3F03B7F312A211B605932233E7C230FA084BB912BFB20E85D721C9
-532D22AB85802085C715206297C09713C3142039602BA9D607F7A52FEA25B0D9
-FDB7E9FB15499E3DE1E47CCF2500BA8B8798497469DF248B8244493738C81815
-1008200E9457B4CCA5740897B17F8832515EBAA84A237E17542B359F173E7868
-64E99FD8159C9051E876C235E434BD5920F55084DD7F31C6FD2B6CB58E5FF307
-0AF6020EA9012AEA47F9BCF018C30885988ADD1A630C2F1CBBCFD5A2C95028AA
-6FC89D43E089957267B6F94C7F4E05FCFBAC85E879D27F7BA921FEDB4B551F9F
-3B5D3197C0FCFE264D45F6C1181BA26796006B94BEFDC342C7CCDDBFAF332F8A
-D96D8D6C52ACBB10C871DAA7162501071CBC04CE01D8FDBAB48393E59ACCF1C3
-9EE4972D7DABC3E639B1C2722F346553DA9E9F163DCE4CC7CB2D1B966F561A07
-8862C3230BDB104C55DE3436ACA77800229637A6DFE1F041DB4B45B2D1A5481A
-6641D77981CDA367CD23E64AD5355B484930C7B09B47ED6C79851844099A68C7
-1F4E6ABBDDD7490259E856C267804A4EAF61246AB4C1233F025EE81793312479
-CECC3813C2D887855573122E59FAD0B85DBD9AF66203F4618F22D6D56E1F7323
-2BE1ABF7702D8BACA8AAB9FDEAB48E3ED56BC0D3E4696505E16473CAD93D0559
-54E8991E7F146F4D4C9E3DFD35012F5830B57FA04BA42BEC724E5708FFB6D521
-B209D2F6CDA86560921C705D6A99F822DD3B182B0BAC8AB381653298B82C86E5
-098FBC2E1E30DDA83919362D1BCF4D91702B16E849E032B44EC2482369B4C342
-211E7382390388FDDAC362431B45DCB55FEAA7C48C30996C47B0E21BB32FAA7B
-14D6F0DB95C450B59975CE25D65E727148BC7400E00C249A415AA52DA829F547
-8D7AF32D029BFB27EA195EA3E8A038493FE5BDDFD89597C420CA1ADDD2D5AE9D
-D3BF13CE3B530D78BB7413F47056F663395BEAFAF4002BAA6E9FFD3F1F0C7C72
-03592F5627EA49F1C0E8C95813E1C30BC256C99A2F34A027D4552B650B0376EB
-9BC2482C80F19BD6F9315C71A185EB246091F6D7D019637100B555077B1549FF
-27446A2CA0C8C815B6CCEE95CF19B78908DEDB25C1F9A5E6C36FFE65E0A8F694
-8A3E847529C50351F6CF88F1F3B901A78378BAE535678A6C60D7DF4A00505B14
-FAFB1A1AE87CE09E1E90769C046C11309AA7BD8476AFAAC0EA48E6D32842E0FA
-10CEE024B1B178D8B9A15E29F825E42564A8F8F1E1F1EC760FC03F1D5773DB78
-E177A95C3D2E3FFEBA469404A866E662D217FEF7A99D6BEDF9F144A2A8B97542
-9423BDE10EED471B99F70661A7AC7A260C6C32EB4D00F21F7A3A5257EC597EE4
-885981989562FB08DBFCE4ADCBE6D9A1C92F6E9FF65A23BDF943835BBB7C29C4
-0D7C987B626819583D4D52DA32BF7DF15C21BE5BB64B575C7F4B149AC539ACBD
-A49DF3F0480DCD61E3C14BBC956DE5D968E74DF4141BEB0106E6C5F7828E4F77
-4EC7F0775CF320C26323EBD09354B3E2A52973E75E54CB42F6B0F5C10AE8A8E6
-EB93124C15AD140C971D2E2D9C2B5275F93BA3B01556B72B7630CBE7AAF3D997
-E82D11875B82071FE770B13C232388C07F2E6F7E9C6930F4D7379BF74FC3436C
-D301123050BECE20F2BF95FAD2E57FC50203EE6EC6D9420BF8C218D3D2F8B236
-6572EB16DE1CB2AF00CF19C56BFD8D333FE1DA4494933BAD214701819B0C2ACE
-FD02F0682306A6B0039002B0B7095D992A30CB675CDA3D4B196C447F102DB4B2
-FCE3AAF81D94B2FA40B31EAC2BEC613654B1D885EA590F675E6106BFD0575B1B
-4AA50D0583A2BA2F79AFC2EF5640A9EDF12F6BFE45ADBBBA43B773B36DE8DD60
-C4BB8FB6F09A334FD947877A785AFCC4F9D366326F5B609ABF1E0CB8942560D7
-68D0FA410EB83A9BE859840A9E024FDF850DCBF5FA8D649B40505AE64B1BEEA3
-6776EC44EA3298203B09990EAAA5FA937CB648A0377173CAAED6432A38B48DC7
-906B730B6BFEB2B9B166526D1E8D4110C6A2A4CE1ADD2D0C9C179621F7867669
-31D3A28EA97D1281E80B4B6A4F223D1FF77F8960CDB83E5768F3A8FE52120CA6
-15164AA799E18FCBFD91697783BA537FA897D58726F5F3BAC1F0B20B57583374
-35837E9EE8DD0DE39B6CFB69EE47ADEE4624EDF65E43781EDD056024FE108280
-29E5A39815F494C65020B91F68D1187F815ED8A312150B414D9DA84F542E0F15
-32351B82F2322C9200F987E477807E9E4051D4057240E99D42E6852164704F26
-81A939AF1E3BD237C4FA341C702F7AB978F63CBA8DF745DC2C57AD5511D89AE5
-B4A80BFC57B1A5CA1A110D3BD5859EF41959EB364DF07CE50F709B30EA099EB9
-01C010ED4F4DA9AB062BB8E10F515559D2FEEE69C579859E43962AF7640A705B
-2C3086E862AB4297EF9625C58AF049BDC0840F9562D8D8BC686CDECA7D4259C7
-4C86D8C92909BAB7FA09AA2E83B4089B246F8B4AB7A086C5B9943773C496C62E
-9E6344BBD213B44C821CDDA42B1BE933F74BC8FDFD0A85070F50D4881C7E875E
-DD689E97ABBF6AEEA6E8C8BA377BF3E4A8EEBBB1D47FBDAEC3B88462A62CF500
-727EF93FD166092861FB67303490DCC4504B759BE754808BEDD580E6DC38223B
-E02EE2D9BB8F32E2D3386376F8E49A853F7C81650DBD33E23437EC98F4A6F7EC
-12705E52817A7B647F4CDE1B173EC370C78589E329D93C35895CA8B3EA2B945D
-E30630DBCB2B8ACC49846C7835869202FB5231ED9167F307CBA31D2DC0B423D8
-65DE2E24CABD53913C01C388F64BB66976FE3B0B421AAE861E0C0D495D5E0B26
-1D207792F1072BABB49156544C024118BF0D239BCB1AEF8AB7F38EEB34C88CEC
-C7401AA6177E9B7849AAA081334E04A2205077A90C0377A363F22091678371F2
-36A088CF84558630C3F370FE00FE97209AF40D77C6F70B1B4028F1680FF6268D
-EC09B05DB3F8DEE17678CFC46AE78E02DD01454A9A8ABBAE157086DDC92AD22B
-DBE7861A2909232DE46FFDB6FC84989B2B137C564FE84961BCD663B592FF2A85
-A65D7B595113AA7DA8463F852A28233A754591A5F2D7F70649A12EB8CFA35361
-1410C7E2F08EB5353A91CBF2109D6E279758B8E458DC7737369AA35B330A9229
-B73DFB9E1745410440E440DEC966C0B21349149E08D57740773B1F17161217AE
-B0605236A44353081EA2248CBE9E8F4A0CE1499354F6475C10346F337227B8C0
-2474942B49CF891C5D0953B1015203B1BFE0A7528C900968D16A876AFD9BF28F
-43EAD0516A38FE48F7091219A717617CEF422F7E2054F3E40D7D6239F6744E44
-86F62AD7ABB61DB0E75B245B44E7A6FF9D72DAB469A07D8046DAA059CA891766
-1420C7A397CEFC7CBFC41A09C54FEC6E77312347C14CB8D87B313A0E7F2CABEF
-CEAC4B9E15C279A18BABC098027A02EEA025F481769AAC7A89F9F419A9EE5908
-351B0D25A2F9FB805227F0ABC3D4A87C63C59E80B1BF915FBB1E1E164568CCEB
-1EB5B1A19180F370EBF2DD11827844584475357DE9E31A138874E567B8E1DA93
-FC5D6084A3737CA8EE391773F3F91C243AF33013891B4E7DCBA7BBE1E06C5031
-C3C0FD60806B7052C5F7B069BFCF4F879914D9C2827EB53C505D5C738E1564D1
-1FE8A3EFE5B3EDE0B766E816FF02473739FC5BED647CEB758C6D7457ACD5E352
-1C3F13E6F1DBA43FACA8FB3D257B24902EBC64B10C7701AD3850BD845140C3D1
-A6CB630AFD8E81ED647D65D7F51803369D37DA44F36D8AC77976AF53B9C4E56C
-84D5969C27EE9DA518FBBD8430D5769AD02F28B6036D5D8AB73C784734C22D5C
-7200D0A706326DB04C52907DC99648D46F2741B3A9BADAF9040F2CA68642156D
-E597FD6BDBB5658C87501440DA17A44557EDDEF1C576F8FE343A6E2DE27CDB35
-8E62AA7C8367E3E44DA6E435DA063BAC3DE82D73AA2A147CC5A844187D29B83C
-D12D91B9018718B53C9CB11CABDC9F7A8848C19E73E1DA7067632DFED7994B8D
-3A5E1260D0315558BA94389D996A960836FD9C7570F02C453129DA181B2BB9B6
-56BDBA69A47729BB3EE50403667025273C0FA725D6742B32DF5E58BAF48BA6BD
-DB77F2571F3643E792CC757B8F1AABD13B60965B5F1AEFC5108B68126149F4F5
-F54E72341790C7D75372F0550FF3C9FA8844DE0C6E71C261F94C2A763C6853CB
-6179437BFB20949F530804A81C8C71B2E04531E2F3E0C158040763FF38F69682
-F8FE6FC7F914C9BD77FD51B7F533FADAC22C819B6F7E3094BA3B4F96A74E43BF
-240DB5BC95B8577597AB79D6ECCAB0D65EE279F5CB8527B05BB521EF2F7F23C8
-42349BEDFD0E303A7969A9383A6290B9ACFF7C7D402EA8A7C9517F01C28D31A7
-5B705C785F6418B802A18AB458C03291A0751FB55AB25515926778649BF7DC53
-8E94F949469AB3EEC16FCA42F98220A5EAEE73D6E82C71779E8892B2BE652796
-E12C2B6E3D535037013D60F8211EBA7119383CEE9B06981BFB98666749064BEF
-338B4AD1C6300DA217F38EBF093C867A7B019F1C8F4C64226FAEFC38027AC7F3
-A528689C44EC4CC0D0612AEF76650826D2B16F53675A57273A78A911647D112A
-193F579ADA161BB62859141F9893013F55D636A595E532BCA11F26E5846724EE
-E6F3026983BA6E24C1E462CB599D2C6F3E7C0803244D9A773D1DE70325786EF5
-C42D2E9F3DDA5F7108E3C28357AD1F088404AFF56EF5BC9ABC92A32BD46FAD66
-4BF53BD32E3A6781F4DA33E25E0075638D941389DCF2D5F3FA3C9AD7DC26BC19
-28D04510B6DC27C7C6EF0EF6189968C8759920E15F65108B389BAA1D2047B977
-E1818381DF9FC5FC217DBBDCA80BAB7B98E7A00A97AA3BD47EF50ED526FC8583
-1FF5B2B4B470642E3F575F4C0B1FC5EBBDA263F89E6D644E2F56DBC6FB50D23A
-A04A2ED571997F30657BEDF19D268F69D7A624FB11BBE30E94448708D077A238
-CD4543C8E805BC0DE96A0F4E14E721CA75A34DF4F911034DCAF94C190380D55E
-77BBA860C105DCBA06BB201281A02830F8FE7951855ECD7E13A2514B2EC6A93D
-A40D690A17709E21DA5305E3DFFB395708581573005A777EAFA0403B2F6ABC0B
-EAD09C5C3E2B111D8E3687DDA302B8AC5B11341E916A63832439057BC72B2E67
-7BAA5ECF2A8FB4D60751A1F209BA3F80E2BDDD496106EE382F0B704B94A7EB2D
-1659474F5B80774BB710BA2A744794A74061970230B044218212BF7C908A9F5C
-8575922D7E0D13FE10CC1E548C182F402346C6E256C3C77E871703214488172A
-76E46E6B5BF7B7704AA57E3C8CE8EABC9F8BF0A53538F3A09F27ABC005117354
-39F733BCE06C01F617CA9552C01B0ECC3AD05D9C04E67CB7C194007C4C64A460
-726BA5371B9B33A713C6B3D69A6DDA20E104580E1CCF7B0958E5086B31C28AF0
-D645B982521DDF76581C7DE21C7FA385F5A5AE637169427D13300AA66B53DBCC
-4CC79A0320A2C5379B7A9A54AC967163DBFB993753FA7AF4E4F7AB3710BDBF8C
-3F10A9BCC0BB17ADB5C5727895910CD7CA7F4923F00B07FD16318E0A53633A3B
-0501EA6D8851CB557D80120DF270B85DC721881CD897BEB71CD7EEC64CA12990
-E8E580E138EF6F9EE2F8EBD3DDC3C5F63AAF381ECC7350379646788EDDE61725
-C72975D2DBD54F7E7B5B1DCF78969BBCFDF726C8F7CB93F39CA28715C943C782
-5CD1C1DDB42404E24E079ECB45A8C3625039AAE73D365CDE69473537D4E575A1
-1D017E12D1FB54B41D956915EB6315A82EF3CA876200D5CF0973CE5F56649FEB
-F62747208C08C8C61A0AE81FC3A538B16DDB109177C7A686A256CF37D55DBDA7
-8F807AD40060A99A44BEDF27C3B7178199E750C91119A7AF35496F6F1ACBD666
-B5E1C8F49FF59AC5C5648011E2D0F7F85596705D4DF9CA26541624DD059E8E70
-4E74F1743A6C6DFE15BF1FAC3CD9A004F3AD0828489706818A60C1661B9E09D3
-3F18885643D21E8EFFA14F48E22ED8124BFBB4398024C177B02C760A59F7C0CE
-E1B619449022B819131DDCD178F826A0C2E9389C2B8B44B229F954FEB4D5FC0E
-CA84B53501FC1767BEED2381CF24BD89BAC6BFE1868C78416159F6F933E7C828
-DB743BC92B2EC3DC2DBB0E14F569EF1BCFF9182C04627D1E2BD48EF654850CD8
-7151797484EAFF38C38F8577737F5EE125EF08565E4F6E6603CB9CAFA165A355
-4B06608C939495934D515A13D319F3F8C4C1425363C897D025D28BF1A4BFA09E
-0F97561179C2C0F030F0B6A3C8591537506D9FDF232AC0BC848E517E61F2AB95
-88D386584AB5F92CE4C68D1F419A32576D47EA6CEF4B37946B1E3DAB1E67FED4
-A5B70D62A9F69C227C21C8AB490DB86DFB4CA788B6CBFF8F02B920F739B141DE
-1A095167465D82714F492EA9D2B4F7BF14719BAB487EF25F8BD1B377FEC95E66
-F3D7020294E06E743A606D61B27DE20252F211737C4026FF7B9B4945DBFC9809
-8E1594CE15A1D7E5270B7448CDEC0E7D728AF99771E64A43B27A041FCE6B963D
-42B6E1975F5F8F8C26602DC75D04ACF27CB1DA2B0841529E26CE6A1D0E5E9B31
-0C191C39FDB29C4505CAAC095E91619AD29468DE658EFE5D5198FE5EEFB0A2E1
-4D6A7F1BBBBE87D543592D0E658FAD7B5A002D6464C9A413D8952C533DAE8507
-B88888C8BFC31C3F8838653527A3AF640BB9CF67FBB5844FA83E7D9D51D801F5
-62C12CA2D6070801067033521249A56C5B0B77B19811FAD4951E34A6CE5CA1A8
-443E4C5B72CAD2FFE1650FFF90A91EE8D7DD95D77F681C1858857EC9C449AA1B
-C0D7145473917BC9E1D8D6A691C91E1A9DBABCAB74BB080F506E992C1A974E26
-00C556FE22EA28DF85CE94B3898AD28F137ED56D605CE095BAD1AC60BC6B73CF
-85EA4ED98FC0ED5971DC5A75F289698FB94A4FEA6479479FB2A9BFED1859F69D
-1EDF8BEFD567FA71B725B11D55B06CF0E95F817DD67612B41AD48934A4D5ED7B
-D888DD698395041DB1C9290F599BF0ACD24AD9EEE1ABCFEFABFFEEA96A02D292
-C78CBAF56DC3AE9E909A2856E2614E2EB9D4F46289AF8248CACE1CFF69C66F94
-F5B939A523DD14332C225110DA3446A4818FDD67B5D16FDACA990DDE72B9F10B
-F3924237D2B6069030B76DECAFFA70FE97F5C5C684A750AC53EE37B1E27C5910
-48BDAC0DE147D16BEA29E4A67AB88588CD8F3B50C4EA3A18D81778949CB17F14
-E4B19BBB9FE53ED4105C05FC9180CFF9F59F956CA0A6D11230499F04724051CA
-B98968E61ED0DF26ACB0D0EB7EC9BA825547B42F4A439AF0F1B4D4F9F4518ED9
-4A80B709484E08438B6D103CA4F0C7C8CE75889EC2C501A375FD8D91722D5FF8
-195D24FB5D569630D94FDEFA35A8D881FF0271B3D451A884D106735D4A2361A6
-D71626BBDF60991E20045C1B980FDCA1F436C1EC063C9B454E55062FE19F88B3
-C84211C2D38911CCC65C1B10931EBC9D633FF04826D1875DE425E69D60905013
-3280E96B205088FA4C3AA2665B595DC5BE5AFF1C29FE961869F3A03AC93569CF
-A1EF8D26E4FCB55CC541FAD73B55A60A9AFDB07C4F26B7AAD34193D5D3E55B6E
-53B7E8C23EF6AF8D363C59A59C1C5DF268B43E3BDE031C960662E3B308BDE103
-5717C31227ED287DE82B9C1923F0FB2885C2AA2839273128EA545CB9704CC989
-C4B324BB68E070E9F0810137F4B1FDAD4B7E959872BDB8929AE4855EB15D88BF
-F1A10FDD74B735B9EE49465875B67070F6D6CA219A64FA86934A4CB5EDF7073B
-B814B8C9892EF9A90129E3C0D84BC60C0DAED6A7CA8EF9164BAA7B3B11736AF8
-C58302F9578CAF243178E37C0CC8C3C9544AFA68952BF4B02890A0D000645694
-7AEBF900234A5374E199A5D90F10E57A1C123DEA596AC51BFD29DF7433141F90
-E0656BECAFED14399A3CB3A7CC99D5B2A8F88FAF17C9EEE84C08D0EADBC15B41
-7B21B8BF97FE52CEB94EBA37CEEB39EF757F7FC8A76B150796A27C646D5C85DD
-69AFE8AAF7465D0BE73B348CCD8E6493AACB6CEA5C15A9636C2DF301E5C7F72C
-B8C6BA861E90D2015817619C9A013CA9E7D22D26C6E8393187F8179E1693EDEA
-F2531A7555FF7BA758D3792108786E9745DC6B235D02AEC8A65A45CD310169BB
-F8AE3BA1C8A88A4C2A8C2C730F428FDDE333C75558417E41F95D6DC547E0AE93
-134F547C8F7BCA1D2FF766A9E2A2C799C529348871F5A56D5B8ADEA3B2A11DF0
-545A0A5930AC1EB9B33D296DB9F1E8B815B741D855622350EC35DA65E002610F
-4EBA010D0E018E168377533CC24CF7F4B79C90FD7C4AFAD40756621200E45012
-6C65F1359854128910451346DB93A34374EBE00140D3BB639CC14901E7C448EA
-B7C6F6D76DD96CDB8910BC20869B7E235BEA990DC962554C1D92EC9625813BAC
-252E58DF9D422C9C3645A999A3F25B5ECBE2B43926E2E9951E47DDC1E302FAC5
-921AF039D110CAB81962ED99254457E99A142A2F3230492827806417B1480691
-BE5511A7C1FAEC3B11745B30A10B8DDBFCBAC3B3B8122115F3E869C36AF8584C
-ACCD78A3B88E09C7AC348187D3D9B650827FACB330B2492DA961EAF8CBBE87C6
-8ADD19B167EBE1A73EEFD7CC9239DBE4E8438A4A16A28F97A1C6CEB14F543C23
-238478AC9630CDC4CD3A01C8DF7E06C8B8F033A32D2B4BF1C23CAA5366367DDC
-D3CA457D69489D0C84E56D50796B28F8BD089108F4D8C7FF554CC68309055B12
-9F910D46D48AFF711073F5453D8DE7A781FD9DF4CF4B28799093DD8FC2055BCE
-E8129ED81391F18F26EED523B9BCC59E941DDED79B23E74FC37BFAE9724A9E24
-5304601310BE6FF3B480C7BA9E0B72E4C6FC8BE2A0A9407109E1770ABC56FBC0
-A8A44AC1496D3F41A74B8AB00435E679E7B107C133F3669697E8341B70DEDED3
-48D6BCDD9BF9D336F25E5739A9CB1420D6F1813D1282C0E0EFBFD8DDE2C66089
-8B82A466300D6356A3257222AD8B28F8185085218997DFE0FE1A1CE1AF554B98
-A1699E9068CB49374FDEFFA433B638B71284FAA1211B65898C3C056802FD3AD2
-3AA4F680922D437146E4F7DEC9CB8ABF1A8EBFCCFB7DC9B3BCE38C8C4F2A578F
-51B3AA15BD2BA58496CF4BF26DB0DE0CE1214674239166AAA4A25606920B81D2
-A0AD21E24B3AC6A74368F9E7F116BBA02DD2AECEC99F41BC3D955D43C2E22F2C
-7C81B1EB554351D47461805FEEF5CB89426AD58246617F6E5135F7F735822D2A
-8A41C2A685086F145175154762EB694EF1A877670A51C4A86139E64063A80933
-61B9C6111F450BE26BB644316FE30986368945EFA43F6BD4BE3840F578C6B7E5
-64E8BB87AF2A7E2F4A8B1AA257C2DEB9C8BDA8A5274E5076756B3E942A44F1BA
-D26498BF571F450D904733A0F796238403E5A781E640330D70AD296F6D74B679
-B0B1168B656E9B28E4BC7026FD15197875D89A72696FD7B20A3EE4ECA24B78B6
-6391F8DE690ED48966603F2186424B17A28CD3B64BE1E3768D8AE01954A4DC91
-CDD6F3A30D3C4EB5F9C2CE00A5A64086FFE87EBD9B4ED432FE59DDBA942F72B0
-F6B3C8CA4CCFA5DD2BB195FBE297F6E65CF6C06E9D4475EA2C41D61D39F0B25B
-889E1EF856FF0817142ABA12DE2C80A2FBE0C0D98A60952D93E3AB87C644D4AA
-B7CD2011876AD53DE27BB957F69F4C4E48B292D916CEE8BDCF3AA2FF9C72E580
-EB5482E26EB7719FC7BEBAEA7102D55048289FBEF5C5829D96A437F4F7CA57CF
-9FDE380071F7859DC68EFD00288063EBAC1112227AF649694E3D2D63B6AFDD3C
-7702EEE2F4ED8D760D2023EE1193D3266AD408AB8A3FFBBF6FB9FB1E8E849F75
-D79AA064A146C42EBEC6B1F5B77A02D9C92DFE729DB8F03C6E67E9587346ADCE
-213F08F02AE6C6D2340E8F041B212A760F0EB6D4C4F7AD11C0C7D003C384E9EC
-8009BBF3B5351BAC77CBB2DEC5547D9C9F2ECFEBCAB4D48B5985E891E51C7BFA
-0A02C7B166565EE79D8D5BDCA41C79C69399102BAB4561B1171CA99A57550363
-3231BB3E3F48BEAE734E65310AFB89A170D7D2C23690D07050E6246647B2A3C5
-BF170818138683EA1B4DEA8C2F018D0FD5778BEA72C72E6CDA1458BC8D1E553D
-E61050AA240D0677D9DA9D9C22810CBC6C0E441C02B27BEF9BB48027E07FC495
-9E83F67BE50872095AD837B6BF75C0B5669091CD4923EE8929877CD0BBC624F9
-17B90C8D5FCE286F68DE2FC1508373EE9F9FA6F5A3978C75F52DDC397E368A0B
-57F5B40322053BBAFE6C7F8F293E0E3BACFE054A8AA7DCC3FF253F58C75B9D12
-4669407237089506FE8CC6A24A1025C8B4673B48FF3174C042C4D66BE2AC584F
-6A346027B020024CB9816965E99F62488D47EF144740C30CDDD2562F6BAC56EE
-04AE0AA4421F68C2525130D92002CE82F361624166C24F7C2B11C69310B93719
-0947BA4E74BA25398727049E1E8C94669B709718B2BA25D889BA48D66B0A9EF9
-173C6CF93116BC0DCE2DD62D2A936341BA360D901BF23D9A6579977464D12A3E
-14A083FB37A4049BDC5F4D9E8D49D05FC4213B01CFB0231D2B03F552F366846B
-7AB75D68EB74D57CA505C571AE2086BBB8072B00881A57AEBE38304FD73F20D1
-B3A3F4DBA7CD736A475A04B7785C64F8802DD8483C75E50F385FE63D063E7ADB
-0FC45DC313B0585C605D1529D226FE08FF7ACA26E0CB2C1B23444E976107731F
-1795EE18D69C11B9969542AA52BF0D3C4D00862494DF946B74718DB8FC586DAF
-64BAE620E3C1512720B0ACB343DA448A0419975CD986B40D91192158129232C5
-85E18BBA914D219AE5979CF98BC9A4006687095BB53215DEE575D4FF7FDFE94A
-25A05F1CCE048E2F7A801C7AFACD586C218C1A04B43F167EEA5D6A4EC9DB4FB8
-C2E56225709D9AF95C88DFFF3B7EB9C337069278D51F0824C96DF582C630BEE2
-C4DFA3E9C9CE76D1B52A23CBAAC840EEC8B3786D45834D55942B46B6B4C612AF
-BFB077F21E0F7F0EC6436BDF1704EAC52789C75F7900EB441EF83E37C780A699
-2E3B2F5222D7FC4440FFBD93A01205FC7E64CBE9849BD01FD4448B343FEA4101
-9FFF4E1527F81F4DF3FEE2F42953C4BD655A50BDC6EFC02E25A5D8695544E166
-7ECC195622F1911EE8D637DCEFD8686B01A130671BA5597768246CEEDB1DC252
-214E01AB3AF7AB7E3D766C1FF37CFEFC2FBD4448DE566042D46B3F2A0CD85D27
-52F4CBBF632139E86B8A2669321B4488AEE0E3EE016440B026BA4F3CDB798BF5
-1E026DE9653F2851D1B095C7272112CC642066872578C2063921B1F1DC1DC37E
-6FCA614E9EDC7EFBCADDF112E3127B753D0DBA1F920964D69C779343ABB1B56C
-EEF95475F7CCE12C08A5AC0502C65284DD6F34C8FC31E6D696D9B1075B6CA4E6
-8857AE5D9267CF640DBEB733B3FA1DF1EE67D578445DA58492A8BC190AE91CAE
-DFE1F1C833312BD85578E1D63F8E593432BE3D4A9307127750DD9F9509660664
-92F85F9C97860433F1190C2448AAEE97CEFD9E048681D41D17F5CD3B8C6C3AC9
-E7D46179623C806085BB5D23E6ED26B2D900515216EFC224A9F25660536467B8
-B47665F6514284E567397A7AC78784A8CF47B61DDC9A66B74C04FADC5074B8C0
-476EAE541AB9F94E990FFC31CD94CAA9E93966096383C1951B00C4E79B51A728
-7526A4FD3A5F6E9D673555CD7142C94EDE73E8A3295341698D777405898E3B4A
-E149CB4E9EF567CC18C35C3BA9354CDE55382A6569A8D0B2B7453E5008347B32
-8B5745431E577B3525D343EEE8C0CE5CBE1CC6D3FD13AE8C5C9F672B10451183
-3BDB33698C0D220902195138EF44A545EA6092A79C9F4AF24D73B735E3733FE6
-67E47D76CE584299B16295BE997949021F949E035F49593BC128DFA89182F89B
-2FC9EDE36D2010B1BA62A6D900B00C4524AC6981F0DDEE41043ED7500F574409
-C275BD142BE36AD2F5B08121EB0EFD58E8EDF388CEE211D4FC3C2D04D09E8757
-17CF2869D202B2302BF7F5741F4DF47C1D76962A3DE9E718ACF684751BD968F4
-6B3488D623E734451674276CE47A465AE3F50B50A938C17DAEDBD7E40737FC3D
-35A709ED283B930E0381A174F3804E78BDF8B8761BC37179A96FA636127145B8
-639577E80613C9A547AA8C3441C85E8408C0C4C1A5143A3179F9366DECA49F47
-324BCB48FFBF44DC15A98DF0A4F9331BCD908E5D516881A82ADA22B906A85015
-6643813BFBBFBD2790451F64AF61E0252CA23D2C44BB92D546B50DF7C2F5F3B9
-560117B9EC0D5DEC65A4404FD7CAB019E50B6C468DA7B5D2239F298DB98C83EC
-8611CDF1D5207EE2F8F817958D2ECDC5557BA2D8023B69FE98BF4ADEBA5610DD
-F12B997F1D998441952BD2EB089AF2C6CC99FAD2E7E9AF14648BF99A09355470
-F32C0A511E8A02FE7E24F7E535020C6FA0FC4D9015532467666B0192BAE64768
-756C8AC401A71864A830359DEAC2919113979FE4DA48292EFC5DDD97A53377ED
-CB29E122DACB9C126F687AD2684F4EF885727C84F09CA8C579D48ADEF1F47859
-DA6848081327E0316788D90F3F59452FC9EBDA175845FF0FD6178A0582E20436
-4BCE9A140877B4DE31EC9006341568BDCCC9DF9DDA0B086DCF1D5A8BCE4060B4
-1F13F5A274242B4A0990BE59BC8DD36A2AC264258E19CFDC1AA63432D07E9DFD
-C35528A40580887195D79101345AEBBD0041A765274D09780B2BE95BD42CD1E6
-A5B490374097FA0E5B6F196A3C47C18E8499717C07A36BF3DEC7064845253515
-E0299143BEED08AE775CADA4F8ACEB96D70F08779BEBF179B2BFB0DCB0F1C126
-35B6BAB5C1F755CC9C40D5506135F11A22F802A9F3C79342B6FB9522729E681C
-C4A93373F8E6DB2CABFA5B7CAB4C243C975EFF5C5D634D4D311EEFADBF115E41
-1C3EA696F82803A071B80E18BE67F7828DB353FDE5B51073E86E68486CDCE01F
-5D79F3E3DB087505FCEF1F9B01908F1D9FE1EBEB25B6DDB40C119D5B28DECDDF
-0F579BBDE6CA59B903368E3460730A756FBEBA62903512DEFDA5CE765C479DC4
-5658ED736D9EEE0CCA46CD2676C475FD3F8E2BFEEF43E7B959F19468FDEDAB2E
-BDFF5ACA6119413724BA04E9B006C4AC43CF2A16FFDD90A1E46F52C661328295
-B245F8
+2CD7C7AD6BFEEAFE31C8A721C2D46AA00C10681BA9970D09F1E10DDC250E2AC3
+9A160EC8C9654FCEB36AC2B586E978D54744FC8A0E963D8EF6E228ADD22D093B
+B889C940206F504F14DD921D909BE06EC9BACBC23EB9E9D137FBC983570FFD2E
+CC5D2EB5D2A4A8604A4AD418B800EDC6B89809E00091A2315EA8C071AB631CCD
+04C3EA77541646B7F9D70B7EA564D92A65C4DED8966517660EFB9F77E172CD8F
+1B5FA83270898C3709DE964B0C4A899418435F92C13E94F5C1C5B9D7DF3E8793
+5F9E83CE1430E3EF275C26835080FD2AC78DE88BF65298A8EB4181F215181356
+A09245577F997AB5F23F31DB7E081C7385F461B083E96E3F08890BCEFBFBB6FC
+E597C3F22E0F0F7B6A93C55879A8EA022411E0C1864E987D2F00CE0427E4E8DE
+D92F9621E3F7751A3CE5CF1EC306A78C0D1CC6781A016A285C0D195E17B59A63
+C593D2DC78B6071636FFBF968B8E7970871E4B60DF79B9BF341528C4F0C5008F
+191FABC891AD46A68212B20FCC87E25AE386DFA935CC1563EA96F1339B6CC859
+CEA88CCE5DD0993F19E3902D9683ADA47980535FB5597CF57C046C48E0D0140A
+C40AF806F16E94FA0C046C0F32AB5BE121A7157A42654E7C1FCBA31379FDA9F7
+BFA8A0D0384D3B29B9DEA1500AFBE314EF78B201E5F679AA38F12A87D1E1512F
+F71D12EF75F3DC48BD8BA01A6D091F0C5B2B961F4371E588F79C825EBC124C1C
+E334BD4714EDEBB709068CE0669738B49AF675692317C3E530C6AE57CA21B59A
+0B542AC77FF404DEEF116796DFAF46DD8C9290CDCA4A16FFE88A0D60ACD6CB47
+440014F30DA7C27C199D99A1E6D89D0A0C31CD1AD4891668DFF5FFFAE992F10E
+C7B88872E9AC808E0663929D199AB424136E03E284D8F44DF9235246B9D22C9D
+79BBFCC936171A58B943DF0EA5ADFE2818992B46DF97AE05915E078FD6AAF8B7
+1047AD85A1CB13CAF70D095264B8AF9A3FFE6A603B10EFC6A20DD56A9947DC94
+06DE0A6AC5B655C71870FA1BA99322E51D46A52D3E7AEF8189C9F1DE58AC9833
+7B325CC59375D0F61488AD740909A855DC069F260A465080F5570CE7D41CBADA
+47C1AB404D32CBE9E1B8220A27C8003ADE08A63AB714709CE4312179218E4924
+6CDEBDCAE80C39AC4063789B6A407EA9C19D12688DF86B62D63BC05E9D65ACD6
+CD5DBF04B896DA28B466D584426F531F4A3F9C4A717A0C5ED8C8CB4191E950DB
+CCD311A20B14B417714501AEB2F6F8510242AF91BEDB6D70B1A52B91FB3BBC8F
+A8F9731E745F2BA8ED8B00CFD8A93B2BB05DC2DFFB5EF265CAE08E9B046C3F0D
+9DD51BECA540149E202F9042A94113745077BCC293DDF27CEB36D7B0C78E1B9C
+0308C3A413492F0D59409D923BB699CC6F59285CBF31CF7F1B464AF4BC054880
+B279621391D022E71427F275BF550881FEFF31BA2071293421FF99BCAC2D5483
+B7E56EDB7929BFF410A35BC193DEB96C4A1894D3D262DDCE224ADC5C6E85178B
+40FE0E15AD22D7B2F6D066B0DB42E32B026967088FC62BF250842B195D82AB30
+4A5263BEC475A33ADE6EF9B4205BC44543AE6912F1B9BB3D694AF8E9CFA440C2
+E2CA5DD42B637763D9C96DA8DCE38246532ACA6AC4BD7B8F2D348A0A4BBFFCA3
+4CF17A22BF7AF3BC490D254639584011D9D515EEBB719246499AA89CCFBAF34C
+77541F2112ABE03FF03C5C8B2BB07DDA99390C222C7CBC96AAAFAB4EE6391224
+6BF97923CCA98DDAF09E5E01C94798C4AE609E954BF1E40330D66423C3CF96A8
+F6879E2135374C80689F757F71375E333A3582C2886F0615F2379DB47721F6B4
+04385DAC971DE716D5AA2CA014EAE9FD0859A89CC62667BD404A071154F7015C
+4E1C734081F61F33176F8805AEA5A95E427712789EF20881BAC36C6190971AFD
+B876670811FEB1DBC25014AA98D3D0D9A29CA7D853C8118DDE2DC2402DC99211
+438F8A380EF1BD24B442988AE5DD9FE3A87B54BB834F2AB8F69241E7A10559EE
+9E1F3DD7597A041F96313568639B2BB50A76FE62D7714AB955DA07C374F642E5
+2060C46160DE1F11ED73A837DEB4EF5FEF9BA654837203FE8BCEAC3F500A0957
+9E673A257569C4D4E6B00BF84FBE1A8C9A566A77B3693FD20159F95F66AF9559
+A80D47C776CD363E299BEEE2D5BB9B10B58B1AF2A76242D59997773834D8945E
+F42FBB1E75B90B6BDE5E4DB2E2FE96BB5B8E485E42682E9F4ECF97D61D441707
+9D2DCF09A0E67F4027A9D1072FA8934106E9D7156F7333342BC640D6094EC706
+5BED449D636E42046EEF2AE810351BF1E38581FC71D1BE17BA690B2567F52A39
+1205F2704B712B22C4AA4684CB74785537AE120F66EE7FBB73A8C475477E1E83
+8D6CE79D788B1AE7A159013A2E070123EBDA58BE4DFC8BB39C3D561E2A2917CF
+1B3F64217ED680EAF63F04F9415D7F9CB6A5D3E0BC2A6EA4165E69CD8F93727A
+4F4E9EDA653BCA0422BFECC33066DFDF3E4AFB32361ACA3A0C339E1B4B1F99EE
+EF4C3C3ED1FC3E7078F7FE282F0F6793A4C18A484F1062F780D2947F2AFF2E84
+182DCBFBE1BA25E8346045859715EA2437263F6CE83BE0B858CEE6A5CAD60BBB
+45723E3858702B52B9AC50EA918DACB15EC541ACDF19782024143AE9ADC39A0C
+AF0B2E4FCD4E97EB36923F31341B9D72B917711F55F4ABE40E6B5F732D46C76F
+02BF82C68500194FF7CDEE3CAFE3316C4643295F769C4BD964C3BD4196F7DD45
+EA2E80DA6C2B8A23DADADD50BD28E2DD1BE5852CB88CAA6FB71C40F8EECDA3BD
+CE874BAABB668133D5001FA651BE928981AD1A8D95ACDFD83095F12B3E460DF7
+2B68B2C84DB441EB1ABA2DED0E9BF8A04B1572284498AFA3F6DBD1D4DAE8D4EA
+877B0AF0944DCF4B6F6B55ED1D99ECBB2A7393DDB4634FC166A47B4D5236C543
+F066200A255781DC3E2E583A0288C1874BE8C25A7C13214A79DA8062B0274429
+57264A9AD87F246982C80FF9E34473082B8A836A0C83FBB736DA740688432090
+3EC63BE175131C8CC487F76FF44F247B7951454D01876332B4DFC27CCEE5476B
+68B432744A0C3689D1D79F2B876A30975783B96F904B92F39D2D3FAE7ACB1DFE
+A19A42AFE6A2318B0E3542440A40A69FAC261313DAF36C61FBA307C908682BF6
+658BB9FAF140EE91B182D763130FCDF172B811359D669E86C106679FADF3E2C1
+F83685B6CA73CB8E1D58323B6A733EEEBC0323A6F23BE68E5977EB3D881522F2
+0E49440AF248939790089CD9615F24D9370355054A7077585637E6D80E13574E
+B802422BDE06ABFA0D1601D78E215DEBFEA118A5CB82E68C5EA656FE97A5E1AD
+01A8CD577848C5DA4B9D780BD1B0B4362FA271BEA800890613D8247171938596
+CEBD54A77CA281A5326F2E6F6111C5CB507FF35387ED3D870BEE3C9F06E6E756
+7E84D952B39B49905AC2C1BFF606AD3C07E45A768BA1969F865C58F3455FA101
+2657884B120E69D4D515F8BED9D9FBE928CEAC720A707BA004D95434D4236957
+86A7AB03ECCC79A9D33039559291483B27C66EFF11B3540F7A0E8716584BB29C
+EA6259399E5FE1962DCEE55E4AFE699A7BE7E2C5081D6F025F66E4A236E95C01
+9ED2BC2B369D0F7DBDE3F53DEF90FC9F29DDADA413EE3589BA2C9B802F9B5F44
+E00109A44BBAB43AA4E86B63C6E1FE10E8C7049EA6ABAB908C0386FC64BD8C6B
+BD8A089A521EB06ED2F433059D5AF5B4E1E86D6F0ACC65A5AA9665651E82F38F
+10ACD33897B4612A7D0E08C92FB67193C5F16DAE8017F3F246E509422F8AA656
+ED88EAE8608354A2F6334559DE541445AC1EAB60FC9D4A66110AE5DED90584F3
+EE278836F121144C3038D3B47D9751E0E2285085544558F53464BD908A71B94B
+57A71E94C110C8D8DB565A8C6E527BF7E7030848FD2BA4E6748459CB4ED3D0BB
+3017EFB793B2A8627F7AD99A9602161C8FA3B0A8B89334D2082370A87CBBF01C
+5F420760AB1F70F2794B3C98CDB70BCD5F437BF4593B1BCCFCEDA9577FB496F3
+7E86D7D3235A4CCB9D4320925AC726AE1A27113235E24FAD6CF43365609990F0
+466CEE79F0C0EDE02D2102CB024C9DD90E9863AC9F2C8A6E1ED0C4A2193103BD
+C2426B358A2CD7ADC8C1F875D672E220883FFED285666956EC8CCD2F6D5BBDA9
+4907A3E13EC09DA98DEFA48721B1B1E140ABF1CCECC3D17D364D5CE4021B8D28
+546FAEB139027DEF6E4A11312A6357B25B6601E8F6816C413BB16D9CB7535E89
+3CDCFD4A08C51D5310A114E474CF1C48B06C87FBE85E2186D1B8081A3C9BFA67
+6CE5AB3C5ED7539F05344A2A061F5D409EC6D03E5769BC69C6BA042714A6DA0F
+890B03838426C5C69D393469CD8FC4BF4C5D7BAAACF20F905FD7BC3246189A36
+E1EEDEFD3F488362478967755E9C2476A76E8197F91F855586B9D8D8E79FC4F0
+66C4D6E151ACA5B821C74BE4A19E86229BFCB3EEF07A2F6DD59F4CB5511FBA40
+378633B1E5B6040ADCBBBD31C7722A828642A38E80A42A90A1984881D9107671
+91F2A5E50887AA1B0D3E96673A3FB85D73EA75007D7E30D21C54FC8224944F8B
+6FF866AC71499C6F5F38A54EA4269AE591E9BE9543FCD72C49BCDE00A2FDDCDF
+130133FE649CBA9A607428F71FD761EF81046CCA214F7DDCC1A0BE0EFC7B05BE
+85D1DF5606F398DDB0413766DDE50E614EEEE1EF52500129D3C6E25E09B7594D
+E5F86EBEDC9A262FBC012BE5E4044B64E8F86327FB10EE5AF01746A46971BF45
+73A7804D9FBFFC791A2B38674EB34688108D1A05C6A58117CF47CE531FB6B84D
+7419C0C6A3E29C6BFDD122FB1D4675D2510F27032BCBEC6BA2705EBB37367CDB
+40EB8C8ECF19E2B507FA4B64F1C1293578380F289D6F006E78428669BE48730C
+9DFEF090304F4EA254E12F422316BCF1D3BE6FC7DCCF5963A646A909380BC6A2
+32B67F5C312FEA9A1AC7281EFCBDB4D7ED9FACD9616DBC2B14D513BBE956F29D
+191748D03650D722C48A49F12CA6A7C5E211E526AA7071D951511CDA58BD0CD8
+A6F821F4D20C219BE6DCBEC9C04B61CD7EA0BDC7A528FBAF88A5003DEE761F17
+32A465D05343ECCCDBBD9E410084DE2EA145AE58482B5EDEE78A4BECCA5D50E1
+FE61847CD91FCFA32C5D83F97651FBE30DFD72BD9536641298F062669FDD8FF5
+06F837C2927B3DAAA6EC88DDF23FAC5A77A4D79E4D6501288458897E6682666F
+C94EA8ECC173CD268236D759A04337A123A5D499CE0328168B6B13E6470200D0
+725B87023AEEC48256D4ADB2BD7B6C960F2C6BDE3D2DEED6EC5C270CDB33195E
+78CD19CCE6A80C7495628B11355F2E560721C29AF77CC7CB9B2B3EE5DBDE2185
+47ABA4CB28E69F351FCADA2765CB7457DA00A683EB485EACB21A3D72CFE027E7
+3FAFDBA8B5A44F46F817690D484E5F57C00B139B5B8195701CEAAD3E0C4E225F
+369AFB09115B8CFE8B09A31AA43CDA4F6A70C188183A7695DFC0E6FE024DF9A7
+796933FC2F94A70B64576B8DFF20DB12888E0C0E6C69EC10A3787DEAC56DFD0B
+9DE60C1081EC41D49B63C8E93A29657DD944093DC8E43BA31396F7BB08D6A773
+5E6DCF48F5FFB922EF5C084592914AE4D236F9D227CFC55CA687F1FDD8BA31A6
+309110D25EB61F5882A6B3326D3FE04099B986DFD407D75B21DFCEA02551CA95
+2C8A9606039BF8C268CA3F761274457F6E08260529E8EA65B16BC30EFBB1FF0B
+181EEED4230A43529E2D95E7ED03CEE2FEE295B1616E6DA77F50EF6190702BA6
+B0DB00F3AB9ECD4561DDFC45B4FCF78F81AA3132C273F4FAB4839DDE5644DA35
+1504DABE027DE826F331F655E28D7EF3BD8848439F4A265D5F78A20B8E626DF7
+684B174333448C107EB6937F8E9730A86EBC26D86415EB8B2EAE82E384882822
+C03090F25DB59F163596547E62A25B4C5A514447522C9A2DBA21023D31EBB946
+51DD3229B562ED5604E4D85D54D17EFB6A03AB5C59AC2E1FF5FD951BA5F85419
+90550337BC83F44C4C503609AAF3EF76845C50744FD18571900164DE71BD06C4
+CA06177A36EEA8C1BCAA73D5468981227964ADA6C27B06519421D000C0E1E11E
+B210F818665010B3E8DF82277C8B1E6BA61D51A87B0B1175E75A6A88BA55CED8
+C564F583090C12A3CFE29303CABF1E88819F226D8F29DD2C2D999A35C8121ED5
+15F7AE050E5ADFEB0F8A87065A3FED16AF811F7A74B0A9AD18F2F6F5CEC824CD
+FCA9781998B67088F5D6C0203DBD9C43D886844B9C0970DA4BA88799B4ADBE5C
+2E2B7D1EFD3FFD0FD130E544083FDE0E3793A354711F1D6CEFD8ED99CD29A5E2
+32F7B1EB4ABDBD7D86FBDD8B9D22C429F1C50277E859039E8E6D6A6F3EED2CF4
+4BD04AB88B70C071175FC6400304EA0BFBD02FEDA05CBFEC31699A0A244986C4
+C688E733DACD7775386DD2CE86716AFB5EC33EF1AB10E63C85B820044A540703
+9FF2DDA0C9B0A4F90970DCDCF75A022AF83013DE7A3D9E544486225AC1601CA5
+21F356B84BD903067AF45598964A0FFB06DE209D6569D00190C0140B3F2B6D54
+C9172B77422B25001D50BDC26DB1705CC2A2C09C582E1945BF8D20208F505FDE
+DBAB67848B8F29300EACBE3F393B2648EDE71F5B3ED721F81807B7624A7D3B75
+C458A8211FC0CBB1D2125082EB9E0A37E468F2FFD1866862D3C3A2CC9D8FB07B
+0B457AE1A3CC54474A1BCC93CD21BDAC95A36239DE043A431839263509389733
+79249412851DFCFAE1B2163738CA5DC64AE5322FECD2F1FF852554292DFEF94F
+BE8ED5A3E72E7F8DBC91EB990D3C055E4C91990D389C511747D8D7F7BC33B34B
+F3EB81905DAD0E88A31C0ABB4CAE612F7911E9D338F3F5498AA389C20F30EB11
+6953F4AF288850CB7425349719DEF18A290CF40B27D625207FAD6557F80898C2
+EC247A4FBCD884C459DBA0D3A083EFF8D0A133C0597CE5B2B803933530EE1C10
+A88C85564AD8F7CF7BE09AA5406917E26937AADF884723F1BCC3D5B4171074B0
+B21AE144538B141791B901E3A12E7B4C26CE3ADC9E2A80305F6B983F8B3262B7
+23981BF5DB92443B3CC866C0D17136D3C045036F2C7F39C33536E4A09F76700A
+E1CC6880D251EA090FB88F555FCF201D4707CC95169F6AB9878A2D342DE5BB38
+82A2F02186490DC055DF783118EE78C1E02685E4F05A0616CCEC0DFAA9ED09EB
+847E2F9911D2F5276538A481A17A8E9B2A25D63242918A78F920660B2D77B7C4
+12DF7F369BC3DB114A7E9CEC7993598FD71CFB92DFFD8359E22AE1B1B124A856
+EC29D9F05A660506D49167544588FA9BD8BF8D23D9CF6559180C532680B1CAF1
+9B776E24F1F8DAC95083EEF00EBBD775619173F7CF4139C45804C23C0C736414
+303C465159DAF5CB5153D9A6638C8E31CDAD0907B6E4BB41555F8E0FB5B799CF
+BC46A80CD1D14ADCC7EF0D2E16A955CEAAAA7554C70D27328B4DDE0EB50DD8CF
+62E2A4A40740F5A13DFF032AC5FAB6EB0AC3F6AAFC32F0AC635323538E91D8C3
+FE69E72F66ACA72F289FE2A94B699958F5123BB7864AE46E1C2BDEA67946BE1B
+2A65EF0D2373B40FBD107E619AE03B2FBC3CD29FF68BD79F86CC6CEF3C354C3B
+08825FC1A96E2A993EB37F8B2DF2FBCF2CCCFB032351AEEAF24950E8F428FC67
+A6F668B6F8956411E70AA3224B7E24FC18F0E9251DC4E7FBF2FAF57125576412
+33BF3AC7B1EE19C164525EC17483F68ED41CBC6182D882799DBEBF250E9334B9
+1E201D5D08BAF01FAEA5389AB934479A29BCB99F3CF8D9FB5022454C6A9CBBF2
+05EC3BC73DB4AFC552B8148F42774AF8392C5CE42EEB1780E003F7F5D61265E5
+EB18F7B139EDA4169FD97593C10CCCADE160437ACCD537FAE3BD1C0C10A6663E
+ACA01304DB5EDBB612BF5DD24CCF6D1362278B3BFEFEA590B255D2DF95AE4193
+3F33C268C47B75B9D008B9F5E17E7D13EE72C1030A05AF676FE29368D4847055
+B8EB37074295EE705B9EE6229155E578BEB24A8E0106D20F475AC4B6CED93D40
+CFCBD74C0551A1F532F2E19923248030F3FE1A717B9A9AFD494918300A396DE4
+3A2544B6C6A8D8FF2E28B4711AB72D25791B8E8FBC57A698AF3CC9F17B18F07F
+A86CF80D0F4ECD065A579743FD7974877360CD910B1E7BD3099B4036D6FD0BC3
+A80C96598B59B8AAE0BE7578B7A68258A1F6EEDB774FBA7FCB4952F90705DD5D
+F8A0E1B6FCC7220DBEE1582A9168571A80D95C939DE1A3A404DB4328E107C672
+AE8122A745C918280472EF626D7137AC72E88A296174E5CAC33E59C955A55A2B
+49970C8D84558F3CD22F53942959A830FF71FDAB7A73E0F64210CE46818A781B
+071FF5CDBE768ECD3D6D1BD52856C236284B4C0CF40E377C694D74D165A61DB3
+192E4D4C197EBEFCBAD48CCAEB50AC8A4D52C2C1E7A4930768FE6AFE6D286F70
+BFAAC5295CA89B6329FAF994B8013868A7E9F5C6D6C71D667950996C2DED0B80
+7F0A8F1A525397D9A41AA2934D3B8C2441C010888154A14499DC6D3A0F0C247F
+37D8FB45847AA94F37C8CB299D24F608F01EFF597BC9026724E200BC00629354
+21B2736A497796630DE340AE317E2B04F20482EA0206D01F90A83B7A56E29474
+5F0196DF23D2E8219E681908BD6D2074794C620B2330FD5B0E6AFAB092FAFA45
+BB2ED8599166A24DB77ADC449699547DA0B6683BC153135FFE59D9E650E78518
+CEB174C35115A94B8689B16AEA36D25A49B694D5B72DA72568D8FB2E10878B93
+88D754D6EF8E035ABC26382C2FA13A75040A1B332C050044A81441238859D8A6
+0A33E2DB068D8F32D3047EE64E31A6E79D9BC344A8B498823519372F5D9E3310
+7809F989C979BE5ED9F8E2CA6E0FB8C68B39BF957C8E425860D6B1E75DCA7867
+E044250791F3757D649BA897246E233A8D7B686F137EEA37251001F008DE01DF
+BCD2443819603C03EA1301E4D809B32DCD2F525EBB839469D0F764FC978D82ED
+AE597DF1EB131486B00F65BCC29396FDB8F75728AB03E71911C74E5DA6DD6E59
+8C4B1F45F77854B200DFDB656898CEDE1B7DB619B9BD75B90C075FF88E1BD95B
+5314EF039611A4A793C31FF4F2FDE7FE3F9A51C6DA4080A7BC7DBB1D7723488C
+E668E78E025B4D2F82C5E663B02C5024CC35459FFCFA5C5BE9C9BAC09020C603
+AB653316994DE4EBAE83A2BD866D392B6D46D83B9E7E0DC2AB098F7C86431D31
+D07C1F41955C777C635B022CE5F2F503D0D812B3318E9A792E42CE4926661CD2
+950F1A3855D694B2B061ED5CC64E6EAEFA1081A5CC322FFAC259C01D272C8A30
+4416D3B622EAD1D1B2B6BF7EBD395AE45922CF3956D9E9BB557E2783F5C8544D
+C3509410DCD994247B50DE3626C33650F9F76334CBDDE3E90E9D9618ED5A78F3
+FF7A6D01071AB4BA91FB47BFCBB3B8E54528E6540D75BD5EB6A4E301C2B49330
+B6866A4BD4AB5CDCD23A8BC873D212C2A6592D62EB573140A6B79EF9ADE701F9
+9D2F8A7205A36AFD20572C1A5C5F55FB8FEE492D999FDE3C641BD8FE201F7975
+2D9EA9C65979BB45D2EB33F5C3A85573834C75DF4556C6254A90C7499F684D22
+7B434CFAAF6C118DAE59E0C79F327F4D8D260D9A633DA0B02079947316C84D88
+05975C05A1734C88FB0A48BB85F87560F1BB214259EE46F5F3406E418B6EE281
+0F93F058DAD0F43B7B0EE4F7C809FFC30366560E98DDC13D82DFD58C0F8BE287
+374BD8655C4691E39F4660F5273E5A545A10BC582D0592CE2DF452D9A8731351
+54B163AF681FB97288647058DF71A290D1EA6DE31E60A4CB7DB4AD2E2928D738
+3FA9E4801278B8D78664E5E3F7691783F71AB1CB2053567466D21CDADAF4F97D
+4DCCE8DC1CDE465AF48A37E21DDF443906F91731614029D6F3B8ED69A7F77800
+F3C6ECDF7BDCD03276CC54E1237F47EAC383742E5DCE2346A715A8CA9A5BC487
+0A996E7EF0F44F349B581C7E537A3968492B28CBDBEA4CAE3E6E34550AB706BC
+220354C6CC45F3EC16CC1ACDEB8FBB25873CB5DEAF3072312669518AC3BCF57C
+500269761D11BAA25B73C1B4B0F44B1F085BDBC1F849225A14C30A9FD245E72F
+DDE99E0E31B57C3C9F3170D0CD7C5FD0CEB32A379F0AA9F32CA92BAFA82273BD
+FC8FAFDC0CBA3EB8A074F78A505A52619D5546E5FFD31640D1E14810172184B2
+2D278B5BE71360A739C949C3D4C46DB023040A993519A8F24335BA854460F51E
+777771BB912A3900BBAA2258D178BB9552FE18E4AE9A453D89A4133B5EAB1061
+6182B3C80A4CA11A7B706E44DE5DEABE7D80DEDBEDDCB304C548BFCB1A0C17F8
+06899F6C5ABC9DE62210C390C33FE92665477562A97AA07D16173CFFEC45736D
+C6451F1C6B64AEC235A0139CC8A4DC96847470CDF08CE08D0A58583884C7A35D
+DBADB9DB07C17BE52B1259DF1841CAC042F9FACCD3590104B619151B34EE822F
+B4B753A6A8198B0A2D6EE580F8C4A21FDF415FEADBE7AAE5C59508523E9BAB02
+3F49DB2E19E7DCD504944FB0FE660626A1CE5554728C1ECD6B2AEA7FE6C512DB
+E056AF6C1226A25547A8CEDE7C961B158365C99E574A0D6B81B2356364A61664
+B92D006607E6167A4002BBDF9951E8251142C4DFE4924E227CDCA028F6A42C33
+4011F0CC83B59E5852CEEDC6CAF1A94ABFF15122A698E5FB6247DA6AC6A8EC32
+000557DEC06FE0135DBC6B56CDCE6EA59764AF9E7E5AB79CC1D71ABAB2BF1916
+843AE75A64C177ECF1BFD83F713CFFB6278918624FAA4BF2B5FCA38C634E550F
+FA25E51768F931AB7D2C2E3000FCBBB1B1E22E7381A53C358AB4AD42EE7BC991
+913C633CA0EF25B9230CA9681B91D22880BCF44D4FEBF6F132FE120EBF104761
+6FDAFE8F33FCD2248B12B8BE283B37089B0383745324EE468DFBB3926A30F4F7
+6AC4B9EAF19D663BF1DE3B085ED88D9CFBFB36C2C53F12BB1FC55E3234A68C3E
+D6EBA530B8D23B99D098521DD3F1005D4F5E4E333E50C5C9F607D551019B0110
+2B8A931F27824ABF72C26615FB82859E6D527694EB41A17F6B08C9BB329AB6DA
+16D9CDBB7F00A0286EE119E7AC89A959EB16D9D06D6149D0C073D771B67E7BB8
+CBC6A3FD291BB1EBDC68428214BB371996544FF8A4F38A672AF2DA2F820437B5
+AEFE65350F6327F1772C9C9632A517A0EF4CB5C7ED1159887BC65C4F1311D1F6
+156964E2AF01F91CB4DF824AB0B3409908611FDD799A12C51B705E6DAD1BA8CA
+F0066A66C20A8871EFAFB0BCA7A22DFEDD54654E0BE31767BAF9CF894B00B435
+C9FA8F63F32FC2F23C80640C0CAA01BF46FADBD147DFCB10B988ABA1F2169AE0
+65E5779FD0FABE6A8C60F166CC1C8EE6EB1532A8491FBF84A824125B436E455B
+01C64FB89ED5AA77CE3148C135D76837CA45E7EA92EC857AC3A5B723DD7DC830
+CF1458512499217162FAF4EDCA0195A42EE1721482E56028B4895ABFFECE721F
+CA5FC8BE5DB4B7C6D026BCAA58AD7B9BEC349E395E16B897AD1404C27F0FDC9B
+5F706354C2E2F135E3A20B450D6788FB9AAAFDE95813AA09AFE116EAA7B9C76C
+F3D61AEBFEADB20580E3906E72F76CAD27D854381A10F56FDFA77EA5C8B15457
+E6278FA20742413B0BC95C1AF12E948905E2D8501E81BCF4095EDF9B941E1AC5
+E2B9EF45599AD38DCBBFCAD80405659D828DAC269825271518AE3721585DB57C
+520FAC927E8440B8306FDF0D2149B2CEAA73839A16681C6DDB6E596446B01BD3
+DF66AF8D7B391472DFE40B13BCD9C03A46B65814E06C2332404C4F1CA8D0EDD7
+37ACE6CD13620B84A3A80A122620E57E9BD33FAC8F2D9569A5AD18246A720B0E
+4EAEB68D73EEE587ABDF93F8684157595D5299CDCA11A72203B664C505EC8B17
+49D76E555CE3DC2DAD377D04A854B7A6066E5824CABD48C2F5585C4187AA81C5
+BA883542E97C87339B34823A5E32C83E1344D6D59AB2C64C6AFCFEC6767946FE
+001B6501171FB0AFD07D20840447E9F692A88C8162DD8E753D1D984B1893C019
+691930563E2935E4AB3DFD1437F4A2741636B5CC2AAAC5AE74E5181D28F643F6
+9DD08F5A28921CB8384E43532B16A9AA64A4537FFD1ABAB417CCEF27F373B58B
+2D0C78D40078B03AC3DCEB3922CBA12BC4CCCB6F3972AF9C16522E6B05D68B3F
+FFCADA33B2A7CF4445D6DC0E94BB089CBEC2A1603BC6F704C9107ACF0FFE1C07
+319DB0DABB3F3317E0CA977E70FE310BBBCA339ADE39E17A0E0644A9155ACFF1
+4E1C8FB9EE6E917E0830CD37498E3DFF20604766D25925576B599ED7997F272D
+11F53CE4000FFB0E89506A2E7B3CD818309F586966AB21C6226E70297FD093A2
+0A0DE3BEA5A2841C59DD1A48555235CA8B2654413E13EFCEC9C3D1ADB555EB22
+BD634C01514D76EEC3181A14C5264F5DD143A21D3626CB611F9F90D7BC05AEEE
+9F947743CA9429F2BBF30176821365D15C419B27A085DB7CE7BDD6F28ED3BD68
+6E91938951303521F260F7C1636A39726E03C0DF3A08942DEB17280EAF7AA849
+66F95D56116501CDA299E005A7D303BA09E9033CF45C0469593C7AFA2A5C9F03
+28D64726083EBFCF05DDE3564BB12AC5C90FB0786153D10DDDBBD41269FF9537
+836DF30F71A587A3935D91E24EB56403A2A4F5C6E995A89AAB2A42EDF8586C81
+52BD65DD33C8B10AB18FA9F93895FAA1639A62D553FDE5F976CBDB5059F099E5
+91BB6C1489F9C66E2FB7ABCC579FEF05E75083FB02D8CD2E4C37D438CB64B920
+81DD594F55047309C66258BEB1108B4A52A4AC52384E2861DAFD6DC2B0A88F6F
+0DAEE75B35222DEDCE1490BC77F808D56985E390AC2EADE948B377E051B2CCB4
+2CE6D1A8B6C56DFDE8874773C8D9E8EB0BC66E3272E7970621DD41103CC78165
+CE745AE462BE3CE12765A2353D89AD2B2C74658C5BF922A3A2E4E5FA79111525
+01A082205FC54279ED5F656FD80EA1E3A988E7EC83CE2439D8E9D4EA2EC6A11F
+DA81B6B259503BB7F66C3373A40AC6474A85B71B79A66BFA105EE8B90B1C204B
+5DC2D4EB387D4A1D36AF0AB4C2B20D6B06206DE70805ABDDCD7F1A9A6C3AA5EF
+1E59AD9703BF74A032B5F458A4B19E296D4770D7315F05877D1D9346DAA742BE
+C941D937156610F1075661F679BD680000E6F210DCBC2508D4EA5484625CFE83
+774073B2BCA4BCB71E64B3755E69BC6E39BF59341D3FC71BF0A97D3F139A9765
+CEB0FA137A1AA226BF329CBF14B1C509EF36D417D4993DF331BCB79F29267291
+D9523735BCFB3837839F26108BF833B1E3E4AF576A2045289860E7ADB936DDCF
+818CB035558E4C444D06C74D5865768C9CB901EFE53A92CD2EBAEC0A8EB15EE7
+867940DE7D7B61216B67FAEE1A72C06A916F3F2F7D766FB3ED6BB50A02550B25
+9EC6E7B65CFA667A505F200DF4CF743F37B0E876A0A5A6742A0329C9D22FFD1A
+0FE985931AD6A124A25A4340D2848230E73BC52FF698B5DD9A3DCC6B530047EF
+79BBDCA20FE02236C25BAA421995E202E09C41E24EB424EA401679B15988F8BC
+E1DE0C0838B32F0AD240F9C217F7E94118917A7BFCE878C423C0537CBA1C62BB
+3D7DE687FE49193FD2E8737DC18990772E1CEAF4FC5BEC50BD603CEA326E948A
+3ECAFCCF56346F9DCDA5C70AD7F1ABF751AE962CEE507A5489D4E86B512B53B8
+40AEB1AA263944CFF84D5D80CCB63AFFEF8026FD69BE94BEF7D15E07062B9F5B
+43D7420588F26015FD5E4357473C1853C4D600579BFAC96BA963DDA2AF04FED1
+2244E91B8A097AE961F45685B9159C8A1B14D25672740B5313F18CC262992CDF
+4E50C76B74C198955DB662569CC9C18432B448CAC4F8C64A3A80E7336EB29BF0
+9BD4BDBBBF1C05868296DEE024548D3E52DBF0A00897CC9E7A0AD30AA683A898
+6DA657559DE0EDCDC82986200485435CBED48A4A5B9B4416941A737DA4A43865
+50900743A13040965178B71853D2194E73C6BFE4FECBC76030FF25448D623DC2
+802B1CDFF958690833A7AB636B30475C54F34944976233E0AC952CE4593E63A9
+A5CA3A8AC18E53B37F8E60A3B8ED4FDEE0FE5A69F280CBD531DB0A9E36A1D80B
+19AA485604F64F7A2F3D0005A55927A7C4393190A09A3F386170325D427D01B0
+BBF1D02BED32E5E929C9EA7B8273C34BC5FA1CC076A0A4D42ADE112A24EB4CF7
+39F7CDD3F0337C0A70EF6858DA5D76694B7870C2FF84BB2D4E8D4CCEFBDD8BFF
+E650DB24EDC4FF041C21769FA7C15374F938467B46E518F2206FE3C70851C667
+D4F35857B33462A603AF8AE50E78AA616D699781FDE049CFF60AB24DC796551C
+D3E4B4BB39726EC682E8FEC0030905B89F2C2853D41D5D039AC6F68AA52D4C26
+217586E7CD877C011D0A0672F392400066FAEC7CE19760EA67D657FE5336680F
+6ADCE6A294F81DF1BF69AD6E55D7CFB4262C2EEC8D1348F3F707E2CA6D041AD4
+4D1F888FF99691546C3EB5E79C3B9EB73F50895B8163F80CB8BACFFA86E01CA0
+5953CAF2C7C9EC7BBC065081128CCAD4836699D30AFF499D8E00369CD6A0C4F7
+0ECD965091FDA3C2ECA853E805C5A55E36BCFCBB5EE8949C38A2D42C685E370D
+A1A9172A76874D53AA6C52D2926F5E5797B6A73B75F0F5FBC3E8D10EA913368D
+6B6ACB2DE7F528795911678498ED557F7FB6383B657D17C85B31BC06F1C0E908
+C212B0D11EEB8C2E61A929FCDC9C5F4F9EA9A1730E9A81EE313F103CF736254B
+B67AC0595FC838689E33D2F1922416B1E24892160CA8F04B502244014EC5BE45
+1D288C43D0D00FCD418FABDC7FE016A4E3586C14D22E1BEB4691D13E58C9E66F
+435A85CAE6173F3591B0FE2E727DFC579B16B2A95933E7854EAD8F8946A6E527
+E1119B0F029A1C4209F00F09E03769F00C7F13CD11B91CB07FC41BB31E6F1E12
+7917DC9E91E790B644581AB087D78DA43A621BB0C80DA75A08E09D7A6DD98AB5
+2AE5C74394B0C42BD7E7D222D3554215C6F1C04BE694B2A841BD9F606A01ED52
+B6DD7B7283C7971ABB732BF93CD11CD2C407B7F68DAB86E7DD380F8684F3F768
+692756D6879D8867870F39BC955CE0213E400EA1F40F76E46AED18C6814854E3
+AA2700D296CCBAFA4EF58C3E1163D88198845582F52DDB0641AC31FB36A130F7
+FE16F12FCB3D09E386A5DF2073C56F01A7A89346EC1DAD1038BBE20138492861
+0091D8A9F091616CCA67051700B90746423C002FDEEC4D86CB9DE72FF87FFA15
+B6E9A9B58A7CB8D98E3DAC7A522DFB45906ED1C58392C9CB204ECC263F098864
+2AD1E02CBCC95A104FC6DB30DC6A603DFFF7694181B4E64D06BFB3E19086B55F
+C653925A2678E6957CBE6F68F1DD12AFD9795072B122D72B23F0E0916D7FD554
+6DBA60BF6FB8D1A99822099BD96957381A7001EE267E773F3D9AC79460C5C092
+3A2EC8EABEBF5492AC3BA22D0D1DD5F6725D71B5B363D13F99BD08A114950A16
+C6C9B99FE48D05065AE2111B16DEAE00B1910B7CD0FACB1DDADF1E7BC57169B4
+4215A14F63A223979B6068967C045C7443BD920E8F406BEEA35897C3C9AEC183
+4FEECA6DAA76AF17EE3FFF748A2BA63DF94BCD21DFF30218DFE6B04853CA2D6A
+CC230131DB265BE32EE6D21102935D70FD223C79F7FD0926D68BE38481639849
+82FDFBA040734A19311350D7A74A895D8D45E177BEB8FE2A22B11FF69A9A8C95
+DE72184CA297379E7621F642815ED6C54100FC1613A18FA632739A5B2AD60D8F
+7B2B756528F96C86ACE4EF1BD851F72426EFBF5B70306A4BE758A15D0E367E9C
+BA0D5A378DE7EABADA5D75D687049FD5AC0033AC1F2336E5C716BEC683EFBBE3
+36ABF0B965B2317C681F0B7F4F6D8B7093855FFFD725EF4C2312DBAC2F715CCE
+0FD786A46D06820DC3FE7EF87C59D7D84D11E877808F590C5754F94C6BF2A306
+405D3EA8A1064CEBA85FFD472B72F64AEA7B81147ABF52C05D17D13AE4D32C04
+C20170DB4125F85FCE3665ECF7458169A62DA7A928AC3E58A5E9F69D2E051086
+FB380BF8E39D48D653D75C5C83B924449ADD13CA3493A7590E27B3D98D24E320
+2F9700C26E797D1F78EA39169074E365E62B9B6D730DE95DB3007AFC44086E50
+60C18957CCAF3389A18060FADA8D5C329CDB6EA2DF5C5882840A1147115ACDE9
+4357A24F095E2EAAF0D7201555687B56AD5224859203C059C63194C092DBE505
+6B118FFCB885E58F8D40988D2E14A73AA40303D6A935A97DB6A8E7D5889EB21B
+3A01063599DA829927380AD6134EF4661418DA85AC42AF2C455ABEC0413B3D9D
+684E852E69B743B1324F7671B8D75D815C2F1C425327B4410E013BEAD314DAA5
+FE193719A5BFEF3E5FAA0C5E4CA2B1EFF6CF921B56017526CC62293036F76E51
+1A999063CB2F93517614C0937BA9708728BE1C381CA8D0768EF314427A0DB447
+BE59B9A034A8296AE3F848C75784517C47D019141FABF56F2B110C6A768BF493
+BD5C38879397A86AFA7905804E2EB3AE253038E267098F3B7674C3510985FB41
+09A5E02E5F4F7CDAF6E12CB47346647A58CB05D9AFABFD5A9A538F947E205FE3
+C6480C7A1A940C21CEF21CF1EF48F15FEA6C0734A5B8FC23CB315BE3B420E65F
+AA895CF17377F0CBC197191B3CB8336A2588E8C26BC988BC6E51C67E21B64972
+7FA5F4F1E95CB29E217A4FC4998A54B480B7861400CEF84E18095C55702C8F78
+F3B8CAE65BD5F4DE369C583EAC060E69EA40F595213F8ACFBD6B55AD0F5CBCC6
+11707FEECC47B1E28C9A8CCE499E248A2B108FB29C309558F8B12EC74AD295B5
+B5E8072C15AB09FFA698D0265B38F88D0D4724528F79A97776B8BE04C29E1D16
+703A23EF60B67A3ED14EF29179FF9F719A9F274E0F73EA8CA198F7053B6E8C5E
+A912738F68128EA32E2764DE57C99080482C11FCA714412D3B6AFAE4A2C9F044
+721C372CF6D8861182DDBD2BFF1B2FCF894F0C0799DFCDE0D8083E16A855E2FA
+D5E660989B98A7A9F3057AC99B76854DA2E75E510AB2E53C6789750149DD1438
+367D28A8FEFDE2042BFE791D28ABB435C807E7B7AAAE140EB065646207FC75D4
+559CD14A44E0DF2EBEA232A4057C72C65A595905A56F2C2C0FFE326EF9B3CA7C
+C2CC7F3A8BC588AFEA2624616ADE803C1D0067463F4DD78C97D2616E14562D70
+AD7BB516183630C1182BD2813D8E282B26B18F4C1ED4FFBC86A090A036E54877
+7DBDF63E27E7446304BDDA5D5E5C2DB68374E76D698CBD3657AE037324A75E16
+B1E656932F8C7253C8F1EDC06642D8F74612498F9ECB96A9375152046C2169DF
+9B3D0654663948351E48C0EC24E9D691748DBCF758D60EA3643623C7ECE568C5
+5168171E8D2ED9BA5049018DB73E2EA3F9E60683856D3CDC4F0C930BB1B126E8
+AC776C33525BBC280FD87904D5DFEA512A3B073CBA5AC823B3B2FF68D289C558
+58553E0EF0617B4156665007C8895492F2C19AB138EEF10A977C9A61AA554866
+32F446EF885346CA0372C001223769F7C01CB76977EE84E76C178FB444E33804
+B4E72782ADE86D811BD395A15C329E11973B021C8882969DDD5F9E4B3FAB0D2D
+60CB9370DC3000772E3263E693A4699F2EE60E4C022090F4273F6134729987CC
+ECA36D229EAD946149831037B9701B0C50FE9B4304CFB73ADF8C829D36F285F6
+FF9C056045A0369FF759FFC5994DC0B40B87E547CC46274BC40823C22D90B9E9
+D01F41FC59B7BCF259C4C2E301C5F7EC3163DB07FAAFCE8F0CC08CFA7A07107A
+483779E4DD39EA89B3B9CEA198765C6A52BD80C624C3CCEF16A6CF3E21FA1BB5
+BA78FB5AA13759CE5D822DA725A07CEE1D39E63D4D86FFB30FA1D070B27D34B2
+80B335AD7C86688BAF25B2FD2910A2EAA186C500120AC2898F66AED320EC43C2
+1C9D8BE8888AB84F09D16B61167FC6E42DBBA1D3DAB971576160E8B85FF5DAAE
+F37D9872B22CD19A436BEC7E7C27DB2D7F7BDF4266E515516C0A2F8A899BB1B2
+D7D5811CE7ABB71AE427FB019D07E0BDD635D3527D677620275525781A1A9F8D
+B339C3E4D5817FEDF135EB150144EC6FDA234066FB0082C52C1A851CAA19AE8F
+A1960216743A9EF3B6CD2CA93FAA3FFFDA3D144DE465DD11AAFECDBC9A694A76
+93EE2F2B10E37D26F2CCE520D0A358E13A541CA963B239C132D1680D147AD8F3
+0E162C56D0F4D423890E36A2FCE66C11AD14B2FD4F7B84B2197AC12B49DEE166
+6C157079FB2B538817C030506C318698C10A5C4FF2731E31ECFCE48282398A79
+0B3730964A1D7DDFD6964E62293E2E6D35E8F9C9C675D95F375F4714CDF5FD59
+5A506FF7FCB08A9F5B9F3989C847C92AC53DBEAE739E2596377DC1DA1949E7BC
+62573D838E4BE9D025946E1C7F6DF511965BE847FE138E87A646FC1E1F43E822
+EE272145B75265C69C1C9D8DE3AA9F9E3DAB873A8146D7606B2DB7AD9D815D68
+50ADFB48776F11F97631AE5C59B4AF8CDF8011CC76D8058AC70C6826AE88D109
+F50B6FBA868F63EF089F428873E6E24DF8DDC504CF34862BC1E53055B3DE8012
+9F86F50B0ACD428124A97867C3B51C83929EF73E78B78F8D09A83BBE59591A78
+3182284C7035875981A4B68097D9DAB5A1901A4E398B219089554DDEE17CCB46
+94FDF29575367973279C4676D9864B0ADFCC0B2A27405B5144865352209FE496
+020017FD425F2A84A5EA6D006A4B0D1782C7C9443BA8671CCA3B30F3E7C0CD48
+5806DB28764F94AC413A5BD9DECA1B119900A82D3009499998C925377D637052
+57687CE3EF5B5EB49D49BE3AFBD8A4531606AE86CEF07E058CFDC4FD1764C9FF
+1DEC0ADC674C30DA9C9A24A4267A7D694626E9E9C9AEAF66D0381854AA05BD14
+177AC9CF2A0C0677F0B8F496F325D78AA336B04CEF7E6ADE30569A4DA09B2847
+F754A24E3309472B0B50CB43181E56D7AF316A5E9044DA230403CA6E013C0D85
+2CE3D19C611DD70D79EEF35ACEAF797AA94A6B4C52E27E140C43BCA68723F2B6
+DEAFC3117D4652F9ECE33C4C51F564C464428ED27B302750C0309EEE5FE0483B
+182F1D43D8F7B460BAC7C0D0250042013EC0C3AEB5C4FD9F882F9A3557C15DBF
+324BDDFAB515E1B069F210F96F6648A8F96F9E61A36B2F7E2E06CF67912A1869
+FD85F47B84AD9E879BC4E3C48B39138406C6A2549AEA55F7A9D79D9638F97151
+4B0C7A41AF770C575CB1327FA3BDF66D83600F1271B04D484BC4285CBD5ADF0D
+DAB6774C8F0D60DB4C25081F2B278D2C11B21501A840E68E2DA02179FCF9E2A7
+F993DA9620880EE6960274954DAC790372C9D831C4604A07EBAB27C6EF5EE84A
+0C99613EC5021DF782CE12D96EC117B8997E1BF9E783A5737BEB7306FC4D9F08
+CB92A999C8B13CD6A2695190132BD04B94222C7B60597CBC1750F4B189B9F38D
+04AE51084F7DC95A39B008CBACA295AF18F7C1FD5174F5EC78D11E1154A900C0
+EED0392B0AB46BB3993EE89F05AF25041D71C0BB35B2FF71DE9D842B9FC98CB3
+1375B5F2853D18C64DB633675D37E0550BC73A47D8A35AAE5593FC1297B21F68
+52B6FC4BFC2A4C58A8B0DBE73587DDA9E35A1E20AEA29E3E1D46EC0B6660522F
+57236E7EDC9C1F91ED36871B6802686092E5E4F98A66379DC2ADA482DB15F522
+1272B394721A7ADC446E9A5F98D401BE1DC712F010DC17845DF75737D6C4794D
+51806744F84A4D7B30B198AE46C46D3DD71EED74A96CE8791AF292F45104A055
+B651BE40EA7FB93F54A8089FD5B624DD3B7F29663229A8ACC91BB7D07F71B017
+3530EA873B77C0298087D3AE901BD59A71EFF85A8E490FF120C6DBAED5B67F21
+B8957374F7FF0C14BE5459A40CCFA987ADDB03D8F4E507554FE3ADD1301F2DA8
+BB218724D4F966CEEC21A1E28C39F3901605BCAD62E311A4AA9C295A69D51D0A
+8801A26ADE83DBBDE01D65FE1F1C26255325238C119C6D6190B5979FD7337F12
+57E2695B74CBFC9291D7DDDFEF77879C8331BD21164D5773691931C4BC15620F
+CC55C7E3B130091D42F619069B056167074173B8C19575274CDB7D2D8C1CD4A1
+2CF2DD3D8B0072DE563541219857CD8D94068C375F33CB5B028FA233064E0DA7
+4DEFF8E9789A8EC86AB9E57B3CFCFCA9DAE4E27C3DD1EE9009215B726FAEF03F
+21CD4A7B32DC8889A8E68A0D509EA68101BD2077E3AAD72C003C66C80D566E7E
+2C1A022970C6CEE4185BF6299B9025162CFBD33E4DF7246382BA2449EA5A2A08
+DD4F10D8A8617F4033ECDD7FBF55E537B099BFDB6E6884D0835E9F58857EC91C
+432930F1307C5D7EB390D8652C4D981C496F1BC4D898BB66B9CF804F7BDC41B7
+4FEB527554D00EE0EF56862355CFE59A17596CE9FD737932496C67A339034286
+62D3FB833BFA261B632902AE3AD8D199DE5CAE4627EEED4CAF7C60FD50AE68E1
+0F85D679C10C52AB4F3B8848B5886D02EEE1ADA9E292F2E2EF40EA1DFE567733
+37FA902654A3770E2F108CCC08E32E3985AAFAB55B83D5BBCDBBE61DF5E378E8
+F64BA772901333C57B6DB0EA3418A923EA2D13ED7EC9550C71B2444EEDB0BE0F
+0CB182CA3D2EAB214840FBD18A3DE5DCA551B6D4E7BD9F8B3B2C7BF11F870B7E
+B8C594704BEC50165234B6D41161AF9B8570F4BA6EAE2C48652523E275738F8B
+89C66E1739C05471C19ED3B2D16434F22C25677356EF8D0B01A6A9F427598523
+4FEC98CB244F58953AD560113C038000F8F7650C0D56A0BB12E391762B3B4004
+E2516B29F80D719E8E85014C23E59B9CBB3A966B5E83B8B51FC02F32535D03DA
+EA4F801077C94CDD2F98D1E25547659B0F528971DCEE22A88D9A1F1E0F219771
+86E161A0608C3511EB0D969E8C956E8A55B1FB3E9278845E8BA26F6B6381CF74
+9CEF69192CB36B4502553A99D047EF5251194D7E269752CCD9778123295CCE8A
+CBC1B4DC2938D076967A07155138B3E91A4AA888A09095C3D2F442F98529EA24
+7C717439B62F7F1C5D140D9CAAA94B22A8D1355E7D3D85561D26A71C826CE30F
+D7157F63100097F04F39C6FAD40ABA2F9DA78CA6E2A7324FAFEFA1112BEA7856
+F8BC9E21D32F9EB9BB4DB631DA30EFFB05CE5BF7948980CE6E29A379E6420D9E
+B2E6A8F19EC8DE7371FFE985D0CA83E6B0C25465F11C299388865CE474EFC22C
+73ECFE21098FAB65C332BDE3CD631CB5CEF22279C8CE8AD38D97EEE9E4DCC1EB
+4E15F2B38341DE20E81E8DFD504A1CB456211F8C21E806FD62807D0A4C231FE0
+09052F95B3397FE4B1947A90C596E58E0D74441D1584C9DCD1BA47737553F54C
+A119099D8EB107A9185234A613D6B5279F9DB5C5FE4377B92DE77F8D0DA00A4A
+F438F080347C01D9C1DF7BD28FC1C30B1A9B337B0F77E968C6E9B9A7CC5049F5
+56862250770FCB1F086491ABE56ACA8EE9C14DA082C0D43230D383D41256788F
+AB2EE3CA273B90F822BA0D7F1A3B2D50C6381632FF34AFB322A6308CCC5EF3CE
+BC847CF050AFF76CA1C9B049C334AFFBFBBAD19A101FC4361E51455283CB9DDA
+2145417EADFE932B34C9800758D651CCF90BFD324D12FC8616B423B08BC449FD
+03D6469522B23A7E094AE8EDC2719034941091AF269725CA0E510806CEA18BE4
+F980B58EB05E9021B10643E7CEB0CE2A42B976324DE1CF105F1CBA07DF358D34
+B4366DA6DD135F36F32387026C45C4A94017312FDA49C4E6E0F5AF2F0A9126A8
+07602AA9C8576262931EEE464E0A2787011D33F9E7C6C9D7DC0C0C5D20B8A746
+4D139F5F2B1B6E0AE059747949EDB3FDE1FE2162086C4F01720AD408DECAA906
+7586D3E2DC51D8A63EF20E21F0A5725DC80D02453DFE9F75E6EF660D9A892F95
+411B7558D3676610042CEF99261185A8D7F69F15E2405D2E5C0E452E223D0924
+F20DB835C62466FBC0A8038F3F110036104E9DC649A5BACBD568B0B85A7B64CE
+7EEC067FCC7F7E6A51FDE5272FA30847E70D319F9D593CC2EE45C83E67FA6F5B
+C7412096BBDFE81666CA8B3EE1411DD487B4CC3C3EAD104A2C9BBDCAF9D0C847
+6D2C7DF762BC3BC874B4DD3BF2BD7D0F6227FC8AFE4D568D70BD9928051EC85D
+62D8B2FF07AD099B8F879677BFD4B90A08C585D71F2820551C2558CD14DF1555
+66416E2B9C87BB7B1A0C9D6E3D4F80C5F3F4F887B17A957025BCF65372D9D3A1
+77E2CA348A47DA5100CC3EA2EB7742654B955FB2BD3B5A6F84D2D5F5F0339D84
+D8AD3DA2A75FFB2328DDC5004778BFDB4B0C9916D306BDF393ABD5FDB45187ED
+95F01EB80FAF51B7B38FB22517655D532DF3C6A8BFFD339AB7E21C009D467AA8
+78AA46B04DCE4F5C17A5E1E1081E33CD14E2E7BDFD41DEE2CA9C042CB66C70C9
+9A07B488A14488AABEE67E51A4DF481CB30774279F049C9D56D80AA2B4EFBA6E
+94A881775CB7B1373B81A69B301711AE47ED07264BC98A84819746C192BA6F9D
+693A825F0210125BC4372391890975B78626DADE396B2470522A8AB9DC4837BF
+1467A13F281F125F0FA2E87C8A67946EBBFDB7ABDDC2F9AC10DC820DDA8208C0
+55252FE5C829AB859A983FF7545B6A6892CF73A5C9AC8D2D4B1D9D01A481FE21
+51BFDC258D0B8BF0743EE4A7DE9AF2630A9740FCC2838BC84CEE12404701C36E
+A9BFAC54A7AF6211B17F0AEFDA006CA74105BCA14A882463F233E831D8477CC5
+0E42E19D5E21A3D922F645EED56DC7BB7F371785B8565389D39EFCC4850550BE
+10CE6C78EEEBF8828F83F9E858FBF0640F27E925AE3C2539D609DDDB0964A513
+88238CD14F7B91CD651054CA37BD71F9E64DF562C5E2613CA29318D3B39035E3
+B538A5871E119CB3558E0D301B091568C807D63AAB36336AD239FF58C1131D5E
+FAA0F85AC68D33C154F97E42E73EB71437B0F2727BF9FDCAC75965C62B15564E
+9BF7154DE438CC9B04D343FBCE0FF6DDAB9E46A260C7BF76679B8483BBFA4DCF
+D652C0FC93610A6A4ADF53C3D9B7296E70CE1FA3EB6DA1B46749FDC0E2BFAC85
+F00FE4A1A164CCEBBC6CFAD03E3D2C987EC80ABA6D1DCA6B85689F4C6ECCAA29
+CA2852B2325AA1D5A895B2D8C582060673605C54ADA2F41A20B2E98CB38785A5
+3183C9562EE46D58E515DAB27B9A5A86917B05554FF899BA50E1D97EFD9E7EBA
+03C6AF103CE3570E592DEC96A8C634AD7067ED147E3399F0933F8E245B269AEB
+362DCFE8FA9B42ED031F5DE999962C9F53594A437AB2E629338F662ABDEBA947
+7AB265D05AE53AC692ACC2B30973ADC366921B48F8D53F668E08BF65A3031C10
+F4DF18B1D5536A7794576A2A836503B6F62CD601B1F7151B90E915A927287D99
+9941949683B99325AFD768D0BE6C27B14A073A4DEC837CF91D61A3392B13C2BA
+323FBE1B93090BC4603E35B5C1774BD7FC3F2B843A8F59B51B0E4DAE91C5DCD1
+8553B77BF8A5D3156C2B92F9E14B53344C72B1C9AE82F86352D70A7802B2A948
+3B7A89D4C4F402657B46C474E6AC77D75505B9EA6AFCC1359BDAF1D82BD67C43
+B61FB8430B9C0D6F8B5B7EC8FF87AB6A824FB39848140C8F35ECA135A9E25913
+1D8ECDB09AB9C418F0EDB189CF314BC15031EEAEDD76C062245700583CB82ACF
+8F5A6E8AFAFCA8AC150C0CB7A96AC61B1DE23498278F37BF6383608BFBEB4E92
+F74BFD5B630B601ACCDFB1795DF67DB3B87A79DB4BD17364EE8C6B74A04E0C4F
+B11DCDABC0169779ED890C0543452380AEFC40581A93424D9B626315CDAEA786
+39874F4A6468BACFEB626B63CDEE84F4F51E26E52D1487890601D4116FA68600
+8CA491E20ABF21D1B1A02CDB96A25ED403ABCAA32944AF30648D7C4A7A208968
+E2F6AFD610B8C8F7F3306B1BF263C2A47299F436D1C741B24DAE39174F30F88C
+7DE095E133643F0BC96D84413D373AFFC457DD7751C2B4AE16625D57D7F0385D
+0C5723E54D10C7AF66648D7DA4942CBFD4EFD530B8EAA843692ACE50B13389FB
+67924D2037EB81EA52D37976C2984BFBB05438DC8050BEE88125A7119C68118F
+39313CB6E36B04AF224354D6A3E08A2A45DC030B6DEEC6758CA726473D766D1E
+C6661DCE8FA0086D4FE42237C70771109FCB99B2C3BCEA066541D4B2A5CD1BAA
+C01A5E22A7885A2A4298EADA5D1735A00A851BC1640E62EA5C30D9B3085B7877
+3F2174394A5A8A75BEB15805CAF2CB0E6E5A7A3CF05575ACBB7A897E7E1239BC
+D4D3615DC0E77DEF51F7DD2B803AA1A321FB51E2AF854D672E1C14736869F49A
+E5ACDC57E3B3976537B8FCAE4748984E668FDC1DE630EDF826F57CBA3F2A030C
+155D3A2FAF649220AE2B1D1960B6B0483A37D24B32D263FEAB89E7D6C916BB37
+437245D788031CC042CFF7D712220112EC16A61F7ADCDDB09AA365980D0A687E
+01C6DA9D234326EE9B8755F7B8ED79E6B4E5ECA508CA102D27A3A226D02F4370
+7EE4061C0B8D75EC0D3FD681AC5FA83664B3D0CD55C3A95B5813FEAD19642EF1
+748D06ABB5AF95D258A8B433C4D8215625E8AF1F47924BB1F0530EFE633A333B
+9227C1ABAD32ADDB6910993C4A2176E1DF3D738B4E9E899DF859DF3F42EA4508
+B9A3312BEE27B4570260FC6261C8F03D72C056E7D824F143302157C869316E7A
+5B3BAA828F6C1FFF5EEFCE3A79F41F97C2EC11E6F8121282D823A3746E1D9C13
+39B02BE7059BABAE7E2274DE13F9C1158E821637CC124600B89390A15ECAB890
+AE0F2EFE53E7755FCC955879A1EB9E73E61D4572E292E72FED83B94715A3D4DD
+B682A712D578B9D2E6A34DC10506DBC9479EC3C2ED12B2C310AA9C34466D979D
+15275746E0FF396053909C6A73777380826D98B61D166E0085F2FA98A3267634
+3B806CA0A9ECDF557406239E72A470D51985D7F24A4CACFC71131694C40573DF
+70AA1BC7C29A94272FC53C0AC0BDAABCD7FE594B4BE530B432F3C089B52EA8F8
+7280F52EA3FCA6848DA826324A497C393772F156C709FA1C0976F7F8EE15EB46
+82F0C0E2BF11650E9A8D241255A5A999F1AA83270B655E354D177AAA05284912
+469113159F4E8134E48C194C158A012480869DA113
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -5203,19 +5213,19 @@ rf /Fl 138[56 1[42 4[56 4[27 1[58 3[54 1[56 97[{}7 90.9091
112 37 2[37 75 67 41 61 75 60 75 65 9[139 102 103 1[75
100 1[92 1[105 128 81 2[50 105 1[85 88 103 97 96 102
6[37 4[67 67 67 67 67 2[37 1[37 44[{}47 119.552 /CMBX12
-rf /Fp 129[48 48 48 48 48 48 1[48 48 48 48 48 48 1[48
+rf /Fp 129[48 48 48 48 48 48 48 48 48 48 48 48 48 1[48
48 48 48 48 48 1[48 48 48 48 48 48 48 48 48 1[48 48 48
48 48 1[48 3[48 48 48 48 1[48 48 48 1[48 2[48 48 48 48
48 48 1[48 48 1[48 48 48 48 48 48 7[48 48 48 48 48 48
-1[48 48 48 48 48 48 48 48 48 48 48 33[{}72 90.9091 /CMTT10
+1[48 48 48 48 48 48 48 48 48 48 48 33[{}73 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
-33 68 71 59 62 69 66 64 68 5[25 25 45 45 45 45 45 45
-45 45 45 45 45 25 30 25 2[35 35 25 4[45 19[76 51 51 53
-11[{}82 90.9091 /CMR10 rf /Fr 134[102 4[75 76 79 2[97
-5[54 6[108 94 11[149 6[151 1[116 3[151 152 71[{}13 172.154
-/CMBX12 rf end
+33 68 71 59 62 69 66 64 68 1[43 3[25 25 45 45 45 45 45
+45 45 45 45 45 45 25 30 25 2[35 35 25 4[45 25 18[76 51
+51 53 11[{}84 90.9091 /CMR10 rf /Fr 134[102 4[75 76 79
+2[97 5[54 6[108 94 11[149 6[151 1[116 3[151 152 71[{}13
+172.154 /CMBX12 rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
@@ -5231,22 +5241,24 @@ ifelse
%%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(8.0,)h(for)e
-Fp(History)e(Library)h Fq(V)-8 b(ersion)31 b(8.0.)3285
-1623 y(Marc)m(h)g(2019)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
+Fp(History)e(Library)h Fq(V)-8 b(ersion)31 b(8.0.)3139
+1623 y(No)m(v)m(em)m(b)s(er)g(2019)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)28 b(do)s(cumen)m(t)h(describ)
-s(es)g(the)g(GNU)h(History)f(library)g(\(v)m(ersion)h(8.0,)g(6)g(Marc)m
-(h)g(2019\),)h(a)f(program-)150 4523 y(ming)38 b(to)s(ol)h(that)f(pro)m
-(vides)g(a)g(consisten)m(t)i(user)d(in)m(terface)i(for)f(recalling)h
-(lines)g(of)f(previously)f(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
+TeXDict begin 2 1 bop 150 4413 a Fq(This)44 b(do)s(cumen)m(t)i(describ)
+s(es)e(the)i(GNU)f(History)h(library)f(\(v)m(ersion)h(8.0,)51
+b(15)46 b(No)m(v)m(em)m(b)s(er)g(2019\),)52 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
@@ -5261,78 +5273,81 @@ 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 525 y
+b(Using)53 b(History)g(In)l(teractiv)l(ely)150 502 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 634 y(standp)s(oin)m(t.)76
+b(,)50 b(from)42 b(a)h(user's)150 612 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
-744 y Fq(History)36 b(Library)e(in)h(y)m(our)f(o)m(wn)i(programs,)g
+721 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
-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
+831 y(page)31 b(4.)150 1059 y Fo(1.1)68 b(History)46
+b(Expansion)150 1219 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 1360 y(expansion)g(pro)m(vided)f(b)m(y)h
+(history)150 1328 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 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
+(used)e(to)i(manipulate)f(the)150 1438 y(history)30 b(information.)275
+1566 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
-1712 y(it)g(easy)g(to)g(rep)s(eat)g(commands,)f(insert)g(the)h(argumen)
+1676 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
-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
+1785 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g
+(quic)m(kly)-8 b(.)275 1914 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 2064 y(the)42
+(determine)g(whic)m(h)f(line)h(from)150 2023 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
-2174 y(that)31 b(line)g(for)f(inclusion)h(in)m(to)g(the)g(curren)m(t)f
+2133 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 2283 y Fk(ev)m(en)m(t)p Fq(,)e(and)c(the)i(p)s
+(called)h(the)150 2242 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 2393 y Fq(are)33 b(a)m(v)-5 b(ailable)36
+Fk(mo)s(di\014ers)150 2352 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
-2503 y(fashion)23 b(that)g(Bash)g(do)s(es,)h(so)f(that)h(sev)m(eral)g
+2461 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 2612 y(History)37 b(expansions)g(are)g(in)m(tro)s(duced)f(b)m
+(ord.)150 2571 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 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
+(haracter,)150 2681 y(whic)m(h)30 b(is)h(`)p Fp(!)p Fq(')f(b)m(y)g
+(default.)275 2809 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
+(b)s(e)g(used)f(to)150 2919 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
+(enclose)g(v)m(erbatim)g(sequences)150 3028 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)
+(c)m(haracters)i(enclosed)e(within)150 3138 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
+(kslash)g(can)h(escap)s(e)f(the)g(history)150 3247 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
+(are)g(not)f(treated)i(sp)s(ecially)f(within)150 3357
+y(double)g(quotes.)150 3544 y Fj(1.1.1)63 b(Ev)m(en)m(t)39
+b(Designators)150 3691 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)
+(list.)48 b(Unless)33 b(the)150 3800 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
+(in)f(the)h(history)f(list.)150 3947 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
+e(a)h(space,)h(tab,)f(the)g(end)f(of)630 4057 y(the)e(line,)g(or)f(`)p
+Fp(=)p Fq('.)150 4204 y Fp(!)p Fi(n)384 b Fq(Refer)30
+b(to)i(command)e(line)g Fk(n)p Fq(.)150 4351 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 4589 y Fp(!!)384 b Fq(Refer)30
+Fq(lines)h(bac)m(k.)150 4498 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 4745 y Fp(!)p Fi(string)144
+(for)g(`)p Fp(!-1)p Fq('.)150 4645 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
-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
+4755 y(list)31 b(starting)g(with)f Fk(string)p Fq(.)150
+4902 y Fp(!?)p Fi(string)p Fp([?])630 5011 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 5230 y(list)32
+g(p)s(osition)g(in)g(the)g(history)630 5121 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 5340 y(immediately)g(b)m(y)e(a)h
-(newline.)p eop end
+b Fq(is)32 b(follo)m(w)m(ed)630 5230 y(immediately)f(b)m(y)e(a)h
+(newline.)40 b(If)29 b Fk(string)38 b Fq(is)29 b(missing,)h(the)g
+(string)f(from)g(the)h(most)g(recen)m(t)630 5340 y(searc)m(h)h(is)f
+(used;)g(it)h(is)g(an)f(error)g(if)g(there)h(is)f(no)g(previous)g
+(searc)m(h)h(string.)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
@@ -5340,91 +5355,103 @@ b(Using)30 b(History)h(In)m(teractiv)m(ely)2016 b(2)150
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
+b(to)g Fp(!!:s^)p Fi(string1)p Fp(^)p Fi(string2)p Fp(^)p
+Fq(.)150 673 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 867 y Fj(1.1.2)63 b(W)-10 b(ord)41
+b(Designators)150 1014 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
+1124 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 1235 y(with)30 b(a)g(`)p Fp(^)p Fq(',)g(`)p
+(b)s(egins)150 1233 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
-1345 y(\014rst)f(w)m(ord)f(b)s(eing)h(denoted)h(b)m(y)f(0)h(\(zero\).)
+1343 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
+(line)g(separated)h(b)m(y)150 1452 y(single)h(spaces.)275
+1584 y(F)-8 b(or)31 b(example,)150 1739 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
+1849 y(mand)30 b(is)g(rep)s(eated)g(in)g(toto.)150 2003
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
+2113 y(to)31 b Fp(!$)p Fq(.)150 2267 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
+(recen)m(t)i(command)e(starting)h(with)f(the)630 2377
+y(letters)j Fp(fi)p Fq(.)275 2531 y(Here)e(are)h(the)g(w)m(ord)f
+(designators:)150 2686 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
+(this)e(is)g(the)h(command)f(w)m(ord.)150 2840 y Fi(n)432
+b Fq(The)30 b Fk(n)p Fq(th)g(w)m(ord.)150 2995 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
-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 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
+3150 y Fp($)432 b Fq(The)30 b(last)h(argumen)m(t.)150
+3304 y Fp(\045)432 b Fq(The)40 b(\014rst)h(w)m(ord)f(matc)m(hed)i(b)m
+(y)f(the)g(most)g(recen)m(t)h(`)p Fp(?)p Fi(string)p
+Fp(?)p Fq(')d(searc)m(h,)44 b(if)d(the)g(searc)m(h)630
+3414 y(string)30 b(b)s(egins)g(with)g(a)h(c)m(haracter)h(that)f(is)f
+(part)h(of)f(a)h(w)m(ord.)150 3568 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 3723
+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
-3736 y(to)j(use)g(`)p Fp(*)p Fq(')f(if)h(there)g(is)g(just)f(one)h(w)m
+3832 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 3845 y(that)j(case.)150 4001 y Fi(x)p
+(returned)e(in)630 3942 y(that)j(case.)150 4097 y Fi(x)p
Fp(*)384 b Fq(Abbreviates)31 b(`)p Fi(x)p Fp(-$)p Fq(')150
-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 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 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
-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
+4251 y Fi(x)p Fp(-)384 b Fq(Abbreviates)27 b(`)p Fi(x)p
+Fp(-$)p Fq(')g(lik)m(e)h(`)p Fi(x)p Fp(*)p Fq(',)g(but)e(omits)i(the)f
+(last)h(w)m(ord.)39 b(If)27 b(`)p Fp(x)p Fq(')g(is)g(missing,)g(it)h
+(defaults)630 4361 y(to)j(0.)275 4515 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 4625 y(is)d(used)g(as)h(the)f(ev)m(en)m
+(t.)150 4819 y Fj(1.1.3)63 b(Mo)s(di\014ers)150 4966
+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 5076 y(mo)s(di\014ers,)33 b(eac)m(h)h(preceded)f(b)m(y)g(a)h(`)p
+Fp(:)p Fq('.)50 b(These)33 b(mo)s(dify)-8 b(,)33 b(or)h(edit,)g(the)g
+(w)m(ord)f(or)g(w)m(ords)g(selected)h(from)150 5185 y(the)d(history)f
+(ev)m(en)m(t.)150 5340 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 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
-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.)p eop end
+h(head.)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(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
+299 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 458 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
+618 y Fp(e)432 b Fq(Remo)m(v)m(e)32 b(all)f(but)f(the)h(trailing)g
+(su\016x.)150 777 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 936 y Fp(s/)p Fi(old)p
+Fp(/)p Fi(new)p Fp(/)630 1046 y Fq(Substitute)f Fk(new)39
+b Fq(for)32 b(the)g(\014rst)f(o)s(ccurrence)h(of)f Fk(old)36
+b Fq(in)31 b(the)h(ev)m(en)m(t)h(line.)46 b(An)m(y)31
+b(c)m(haracter)630 1156 y(ma)m(y)k(b)s(e)e(used)h(as)g(the)h(delimiter)
+g(in)f(place)h(of)f(`)p Fp(/)p Fq('.)53 b(The)33 b(delimiter)i(ma)m(y)g
+(b)s(e)f(quoted)g(in)630 1265 y Fk(old)40 b Fq(and)c
+Fk(new)44 b Fq(with)36 b(a)h(single)g(bac)m(kslash.)60
+b(If)36 b(`)p Fp(&)p Fq(')h(app)s(ears)e(in)i Fk(new)p
+Fq(,)g(it)h(is)e(replaced)h(b)m(y)630 1375 y Fk(old)p
+Fq(.)k(A)31 b(single)g(bac)m(kslash)g(will)g(quote)g(the)g(`)p
+Fp(&)p Fq('.)41 b(If)31 b Fk(old)j Fq(is)c(n)m(ull,)h(it)g(is)g(set)g
+(to)g(the)g(last)g Fk(old)630 1484 y Fq(substituted,)j(or,)g(if)f(no)g
+(previous)g(history)g(substitutions)g(to)s(ok)h(place,)h(the)e(last)h
+Fk(string)630 1594 y Fq(in)j(a)g(!?)p Fk(string)8 b Fp([?])37
+b Fq(searc)m(h.)61 b(If)37 b Fk(new)45 b Fq(is)37 b(is)g(n)m(ull,)i
+(eac)m(h)f(matc)m(hing)h Fk(old)h Fq(is)e(deleted.)61
+b(The)630 1704 y(\014nal)30 b(delimiter)h(is)g(optional)g(if)f(it)h(is)
+g(the)f(last)i(c)m(haracter)f(on)g(the)f(input)g(line.)150
+1863 y Fp(&)432 b Fq(Rep)s(eat)31 b(the)f(previous)g(substitution.)150
+2022 y Fp(g)150 2132 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
+b(Used)39 b(in)f(conjunction)630 2242 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(/)p Fq(,)c(or)j(with)h(`)p Fp(&)p Fq('.)150 2401 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
+Fq(')f(or)f(`)p Fp(&)p Fq(')h(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
diff --git a/doc/history_3.ps b/doc/history_3.ps
index 75b6841..527a469 100644
--- a/doc/history_3.ps
+++ b/doc/history_3.ps
@@ -1,10 +1,10 @@
%!PS-Adobe-3.0
-%%Creator: groff version 1.22.3
-%%CreationDate: Thu Dec 14 11:39:35 2017
+%%Creator: groff version 1.22.4
+%%CreationDate: Wed Nov 20 09:49:30 2019
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
-%%DocumentSuppliedResources: procset grops 1.22 3
+%%DocumentSuppliedResources: procset grops 1.22 4
%%Pages: 7
%%PageOrder: Ascend
%%DocumentMedia: Default 612 792 0 () ()
@@ -14,7 +14,7 @@
%%PageMedia: Default
%%EndDefaults
%%BeginProlog
-%%BeginResource: procset grops 1.22 3
+%%BeginResource: procset grops 1.22 4
%!PS-Adobe-3.0 Resource-ProcSet
/setpacking where{
pop
@@ -292,588 +292,607 @@ G(nts are relati).15 E .3 -.15(ve t)-.25 H 2.5(ot).15 G
(Start a history substitution, e)144 429.6 Q(xcept when follo)-.15 E
(wed by a)-.25 E F2(blank)2.5 E F0 2.5(,n)C -.25(ew)-2.5 G
(line, = or \(.).25 E F2(!)108 441.6 Q F3(n)A F0(Refer to command line)
-144 441.6 Q F3(n)2.5 E F0(.).24 E F2<21ad>108 453.6 Q F3(n)A F0
-(Refer to the current command minus)144 453.6 Q F3(n)2.5 E F0(.).24 E F2
-(!!)108 465.6 Q F0(Refer to the pre)144 465.6 Q(vious command.)-.25 E
+144 441.6 Q F3(n)2.86 E F0(.).24 E F2<21ad>108 453.6 Q F3(n)A F0
+(Refer to the current command minus)144 453.6 Q F3(n)2.86 E F0(.).24 E
+F2(!!)108 465.6 Q F0(Refer to the pre)144 465.6 Q(vious command.)-.25 E
(This is a synon)5 E(ym for `!\2551'.)-.15 E F2(!)108 477.6 Q F3(string)
A F0 .865(Refer to the most recent command preceding the current positi\
-on in the history list starting with)144 477.6 R F3(string)144 489.6 Q
-F0(.).22 E F2(!?)108 501.6 Q F3(string)A F2([?])A F0 1.503(Refer to the\
- most recent command preceding the current position in the history list\
- containing)144 513.6 R F3(string)144 525.6 Q F0 5(.T).22 G(he trailing)
--5 E F2(?)2.5 E F0(may be omitted if)2.5 E F3(string)2.84 E F0(is follo)
-2.72 E(wed immediately by a ne)-.25 E(wline.)-.25 E/F4 12/Times-Bold@0
-SF(^)108 542.6 Q F3(string1)-5 I F4(^)5 I F3(string2)-5 I F4(^)5 I F0
-2.63(Quick substitution.)144 549.6 R 2.629
-(Repeat the last command, replacing)7.629 F F3(string1)5.469 E F0(with)
-5.129 E F3(string2)5.129 E F0 7.629(.E).02 G(qui)-7.629 E -.25(va)-.25 G
-2.629(lent to).25 F -.74(``)144 561.6 S(!!:s/).74 E F3(string1)A F0(/)A
-F3(string2)A F0(/')A 2.5('\()-.74 G(see)-2.5 E F2(Modi\214ers)2.5 E F0
-(belo)2.5 E(w\).)-.25 E F2(!#)108 573.6 Q F0
-(The entire command line typed so f)144 573.6 Q(ar)-.1 E(.)-.55 E F2
--.75(Wo)87 590.4 S(rd Designators).75 E F0 -.8(Wo)108 602.4 S 1.313
-(rd designators are used to select desired w).8 F 1.314(ords from the e)
--.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F2(:)3.814 E F0 1.314
-(separates the e)3.814 F -.15(ve)-.25 G 1.314(nt speci\214cation).15 F
-.53(from the w)108 614.4 R .529(ord designator)-.1 F 5.529(.I)-.55 G
-3.029(tm)-5.529 G .529(ay be omitted if the w)-3.029 F .529
+on in the history list starting with)144 477.6 R F3(string)144.34 489.6
+Q F0(.).22 E F2(!?)108 501.6 Q F3(string)A F2([?])A F0 1.503(Refer to t\
+he most recent command preceding the current position in the history li\
+st containing)144 513.6 R F3(string)144.34 525.6 Q F0 5.497(.T).22 G
+.497(he trailing)-5.497 F F2(?)2.997 E F0 .497(may be omitted if)2.997 F
+F3(string)3.337 E F0 .496(is follo)3.216 F .496(wed immediately by a ne)
+-.25 F 2.996(wline. If)-.25 F F3(string)2.996 E F0(is)2.996 E .39(missi\
+ng, the string from the most recent search is used; it is an error if t\
+here is no pre)144 537.6 R .391(vious search)-.25 F(string.)144 549.6 Q
+/F4 12/Times-Bold@0 SF(^)108 566.6 Q F3(string1)-5 I F4(^)5 I F3
+(string2)-5 I F4(^)5 I F0 2.599(Quick substitution.)144 573.6 R 2.598
+(Repeat the last command, replacing)7.599 F F3(string1)5.438 E F0(with)
+5.098 E F3(string2)5.438 E F0 7.598(.E).02 G(qui)-7.598 E -.25(va)-.25 G
+2.598(lent to).25 F -.74(``)144 585.6 S(!!:s).74 E/F5 12/Times-Roman@0
+SF(^)5 I F3(string1)-5 I F5(^)5 I F3(string2)-5 I F5(^)5 I F0 1.48 -.74
+('' \()-5 L(see).74 E F2(Modi\214ers)2.5 E F0(belo)2.5 E(w\).)-.25 E F2
+(!#)108 597.6 Q F0(The entire command line typed so f)144 597.6 Q(ar)-.1
+E(.)-.55 E F2 -.75(Wo)87 614.4 S(rd Designators).75 E F0 -.8(Wo)108
+626.4 S 1.313(rd designators are used to select desired w).8 F 1.314
+(ords from the e)-.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F2(:)3.814 E F0
+1.314(separates the e)3.814 F -.15(ve)-.25 G 1.314(nt speci\214cation)
+.15 F .53(from the w)108 638.4 R .529(ord designator)-.1 F 5.529(.I)-.55
+G 3.029(tm)-5.529 G .529(ay be omitted if the w)-3.029 F .529
(ord designator be)-.1 F .529(gins with a)-.15 F F2(^)3.029 E F0(,)A F2
($)3.029 E F0(,)A F2(*)3.029 E F0(,)A F2<ad>3.029 E F0 3.029(,o)C(r)
--3.029 E F2(%)3.029 E F0 5.529(.W)C(ords)-6.329 E 1.3
-(are numbered from the be)108 626.4 R 1.3
-(ginning of the line, with the \214rst w)-.15 F 1.301
-(ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)6.301 G 1.301(rds are).8
-F(inserted into the current line separated by single spaces.)108 638.4 Q
-F2 2.5(0\()108 655.2 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 667.2 Q
-2.5(ord. F)-.1 F(or the shell, this is the command w)-.15 E(ord.)-.1 E
-F3(n)108.36 679.2 Q F0(The)144 679.2 Q F3(n)2.5 E F0(th w)A(ord.)-.1 E
-F2(^)108 691.2 Q F0(The \214rst ar)144 691.2 Q 2.5(gument. That)-.18 F
-(is, w)2.5 E(ord 1.)-.1 E F2($)108 703.2 Q F0 .064(The last w)144 703.2
-R 2.564(ord. This)-.1 F .064(is usually the last ar)2.564 F .064
-(gument, b)-.18 F .064(ut will e)-.2 F .064(xpand to the zeroth w)-.15 F
-.063(ord if there is only)-.1 F(one w)144 715.2 Q(ord in the line.)-.1 E
-(GNU History 6.3)72 768 Q(2017 October 8)133.735 E(1)197.895 E 0 Cg EP
+-3.029 E F2(%)3.029 E F0 5.529(.W)C(ords)-6.329 E .515
+(are numbered from the be)108 650.4 R .516
+(ginning of the line, with the \214rst w)-.15 F .516
+(ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)5.516 G .516(rds are in-)
+.8 F(serted into the current line separated by single spaces.)108 662.4
+Q F2 2.5(0\()108 679.2 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 691.2
+Q 2.5(ord. F)-.1 F(or the shell, this is the command w)-.15 E(ord.)-.1 E
+F3(n)108.36 703.2 Q F0(The)144 703.2 Q F3(n)2.5 E F0(th w)A(ord.)-.1 E
+F2(^)108 715.2 Q F0(The \214rst ar)144 715.2 Q 2.5(gument. That)-.18 F
+(is, w)2.5 E(ord 1.)-.1 E(GNU History 8.0)72 768 Q(2019 No)126.385 E
+-.15(ve)-.15 G(mber 15).15 E(1)190.545 E 0 Cg EP
%%Page: 2 2
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(HIST)72 48 Q(OR)-.18 E 124.845(Y\(3\) Library)
-.65 F(Functions Manual)2.5 E(HIST)127.345 E(OR)-.18 E(Y\(3\))-.65 E/F1
-10/Times-Bold@0 SF(%)108 84 Q F0(The w)144 84 Q
-(ord matched by the most recent `?)-.1 E/F2 10/Times-Italic@0 SF(string)
-A F0(?' search.)A F2(x)108.77 96 Q F1<ad>A F2(y)A F0 2.5(Ar)144 96 S
-(ange of w)-2.5 E(ords; `\255)-.1 E F2(y)A F0 2.5('a)C(bbre)-2.5 E
-(viates `0\255)-.25 E F2(y)A F0('.)A F1(*)108 108 Q F0 .315
-(All of the w)144 108 R .315(ords b)-.1 F .315(ut the zeroth.)-.2 F .315
-(This is a synon)5.315 F .315(ym for `)-.15 F F2(1\255$)A F0 2.815
-('. It)B .315(is not an error to use)2.815 F F1(*)2.816 E F0 .316
-(if there is)2.816 F(just one w)144 120 Q(ord in the e)-.1 E -.15(ve)
--.25 G(nt; the empty string is returned in that case.).15 E F1(x*)108
-132 Q F0(Abbre)144 132 Q(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>
-108 144 Q F0(Abbre)144 144 Q(viates)-.25 E F2(x\255$)2.5 E F0(lik)2.5 E
-(e)-.1 E F1(x*)2.5 E F0 2.5(,b)C(ut omits the last w)-2.7 E(ord.)-.1 E
-(If a w)108 160.8 Q(ord designator is supplied without an e)-.1 E -.15
+10/Times-Bold@0 SF($)108 84 Q F0 .064(The last w)144 84 R 2.564
+(ord. This)-.1 F .064(is usually the last ar)2.564 F .064(gument, b)-.18
+F .064(ut will e)-.2 F .064(xpand to the zeroth w)-.15 F .063
+(ord if there is only)-.1 F(one w)144 96 Q(ord in the line.)-.1 E F1(%)
+108 108 Q F0 1.419(The \214rst w)144 108 R 1.419
+(ord matched by the most recent `?)-.1 F/F2 10/Times-Italic@0 SF(string)
+A F0 1.42(?' search, if the search string be)B 1.42(gins with a)-.15 F
+(character that is part of a w)144 120 Q(ord.)-.1 E F2(x)108.77 132 Q F1
+<ad>A F2(y)A F0 2.5(Ar)144 132 S(ange of w)-2.5 E(ords; `\255)-.1 E F2
+(y)A F0 2.5('a)C(bbre)-2.5 E(viates `0\255)-.25 E F2(y)A F0('.)A F1(*)
+108 144 Q F0 .316(All of the w)144 144 R .316(ords b)-.1 F .316
+(ut the zeroth.)-.2 F .315(This is a synon)5.315 F .315(ym for `)-.15 F
+F2(1\255$)A F0 2.815('. It)B .315(is not an error to use)2.815 F F1(*)
+2.815 E F0 .315(if there is)2.815 F(just one w)144 156 Q(ord in the e)
+-.1 E -.15(ve)-.25 G(nt; the empty string is returned in that case.).15
+E F1(x*)108 168 Q F0(Abbre)144 168 Q(viates)-.25 E F2(x\255$)2.5 E F0(.)
+A F1<78ad>108 180 Q F0(Abbre)144 180 Q(viates)-.25 E F2(x\255$)2.5 E F0
+(lik)2.5 E(e)-.1 E F1(x*)2.5 E F0 2.5(,b)C(ut omits the last w)-2.7 E
+2.5(ord. If)-.1 F F1(x)2.5 E F0(is missing, it def)2.5 E(aults to 0.)-.1
+E(If a w)108 196.8 Q(ord designator is supplied without an e)-.1 E -.15
(ve)-.25 G(nt speci\214cation, the pre).15 E
(vious command is used as the e)-.25 E -.15(ve)-.25 G(nt.).15 E F1
-(Modi\214ers)87 177.6 Q F0 .184(After the optional w)108 189.6 R .184
-(ord designator)-.1 F 2.684(,t)-.4 G .183
-(here may appear a sequence of one or more of the follo)-2.684 F .183
-(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 201.6 Q F1(h)108
-218.4 Q F0(Remo)144 218.4 Q .3 -.15(ve a t)-.15 H
+(Modi\214ers)87 213.6 Q F0 .183(After the optional w)108 225.6 R .183
+(ord designator)-.1 F 2.683(,t)-.4 G .184
+(here may appear a sequence of one or more of the follo)-2.683 F .184
+(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 237.6 Q
+(These modify)5 E 2.5(,o)-.65 G 2.5(re)-2.5 G(dit, the w)-2.5 E
+(ord or w)-.1 E(ords selected from the history e)-.1 E -.15(ve)-.25 G
+(nt.).15 E F1(h)108 254.4 Q F0(Remo)144 254.4 Q .3 -.15(ve a t)-.15 H
(railing \214le name component, lea).15 E(ving only the head.)-.2 E F1
-(t)108 230.4 Q F0(Remo)144 230.4 Q .3 -.15(ve a)-.15 H
+(t)108 266.4 Q F0(Remo)144 266.4 Q .3 -.15(ve a)-.15 H
(ll leading \214le name components, lea).15 E(ving the tail.)-.2 E F1(r)
-108 242.4 Q F0(Remo)144 242.4 Q .3 -.15(ve a t)-.15 H(railing suf).15 E
+108 278.4 Q F0(Remo)144 278.4 Q .3 -.15(ve a t)-.15 H(railing suf).15 E
(\214x of the form)-.25 E F2(.xxx)2.5 E F0 2.5(,l)C(ea)-2.5 E
-(ving the basename.)-.2 E F1(e)108 254.4 Q F0(Remo)144 254.4 Q .3 -.15
+(ving the basename.)-.2 E F1(e)108 290.4 Q F0(Remo)144 290.4 Q .3 -.15
(ve a)-.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108
-266.4 Q F0(Print the ne)144 266.4 Q 2.5(wc)-.25 G(ommand b)-2.5 E
-(ut do not e)-.2 E -.15(xe)-.15 G(cute it.).15 E F1(q)108 278.4 Q F0
-(Quote the substituted w)144 278.4 Q
-(ords, escaping further substitutions.)-.1 E F1(x)108 290.4 Q F0
-(Quote the substituted w)144 290.4 Q(ords as with)-.1 E F1(q)2.5 E F0
-2.5(,b)C(ut break into w)-2.7 E(ords at)-.1 E F1(blanks)2.5 E F0(and ne)
-2.5 E(wlines.)-.25 E F1(s/)108 302.4 Q F2(old)A F1(/)A F2(ne)A(w)-.15 E
-F1(/)A F0(Substitute)144 314.4 Q F2(ne)3.081 E(w)-.15 E F0 .221
-(for the \214rst occurrence of)3.031 F F2(old)2.951 E F0 .221(in the e)
-3.491 F -.15(ve)-.25 G .221(nt line.).15 F(An)5.221 E 2.721(yd)-.15 G
-.221(elimiter can be used in place)-2.721 F .617(of /.)144 326.4 R .617
+302.4 Q F0(Print the ne)144 302.4 Q 2.5(wc)-.25 G(ommand b)-2.5 E
+(ut do not e)-.2 E -.15(xe)-.15 G(cute it.).15 E F1(q)108 314.4 Q F0
+(Quote the substituted w)144 314.4 Q
+(ords, escaping further substitutions.)-.1 E F1(x)108 326.4 Q F0 .386
+(Quote the substituted w)144 326.4 R .386(ords as with)-.1 F F1(q)2.886
+E F0 2.886(,b)C .386(ut break into w)-3.086 F .385(ords at)-.1 F F1
+(blanks)2.885 E F0 .385(and ne)2.885 F 2.885(wlines. The)-.25 F F1(q)
+2.885 E F0(and)2.885 E F1(x)2.885 E F0(modi\214ers are mutually e)144
+338.4 Q(xclusi)-.15 E -.15(ve)-.25 G 2.5(;t).15 G
+(he last one supplied is used.)-2.5 E F1(s/)108 350.4 Q F2(old)A F1(/)A
+F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 362.4 Q F2(ne)3.328 E(w)-.15 E
+F0 .469(for the \214rst occurrence of)3.278 F F2(old)3.199 E F0 .469
+(in the e)3.739 F -.15(ve)-.25 G .469(nt line.).15 F(An)5.469 E 2.969
+(yc)-.15 G .469(haracter may be used as the)-2.969 F .954
+(delimiter in place of /.)144 374.4 R .953
(The \214nal delimiter is optional if it is the last character of the e)
-5.617 F -.15(ve)-.25 G .617(nt line.).15 F .616(The delimiter may)5.616
-F .666(be quoted in)144 338.4 R F2(old)3.396 E F0(and)3.936 E F2(ne)
-3.526 E(w)-.15 E F0 .666(with a single backslash.)3.476 F .666
-(If & appears in)5.666 F F2(ne)3.166 E(w)-.15 E F0 3.166(,i).31 G 3.166
-(ti)-3.166 G 3.166(sr)-3.166 G .666(eplaced by)-3.166 F F2(old)3.166 E
-F0 5.666(.A).77 G .275(single backslash will quote the &.)144 350.4 R
-(If)5.275 E F2(old)3.004 E F0 .274(is null, it is set to the last)3.544
-F F2(old)3.004 E F0 .274(substituted, or)3.544 F 2.774(,i)-.4 G 2.774
-(fn)-2.774 G 2.774(op)-2.774 G(re)-2.774 E(vi-)-.25 E
-(ous history substitutions took place, the last)144 362.4 Q F2(string)
-2.84 E F0(in a)2.72 E F1(!?)2.5 E F2(string)A F1([?])A F0(search.)5 E F1
-(&)108 374.4 Q F0(Repeat the pre)144 374.4 Q(vious substitution.)-.25 E
-F1(g)108 386.4 Q F0 .397(Cause changes to be applied o)144 386.4 R -.15
-(ve)-.15 G 2.897(rt).15 G .398(he entire e)-2.897 F -.15(ve)-.25 G .398
-(nt line.).15 F .398(This is used in conjunction with `)5.398 F F1(:s)A
-F0 2.898('\()C(e.g.,)-2.898 E(`)144 398.4 Q F1(:gs/)A F2(old)A F1(/)A F2
-(ne)A(w)-.15 E F1(/)A F0 1.219('\) or `)B F1(:&)A F0 3.719('. If)B 1.219
-(used with `)3.719 F F1(:s)A F0 1.218(', an)B 3.718(yd)-.15 G 1.218
-(elimiter can be used in place of /, and the \214nal)-3.718 F .089
-(delimiter is optional if it is the last character of the e)144 410.4 R
--.15(ve)-.25 G .09(nt line.).15 F(An)5.09 E F1(a)2.59 E F0 .09
-(may be used as a synon)2.59 F .09(ym for)-.15 F F1(g)144 422.4 Q F0(.)A
-F1(G)108 434.4 Q F0(Apply the follo)144 434.4 Q(wing `)-.25 E F1(s)A F0
-2.5('m)C(odi\214er once to each w)-2.5 E(ord in the e)-.1 E -.15(ve)-.25
-G(nt line.).15 E/F3 10.95/Times-Bold@0 SF(PR)72 451.2 Q
-(OGRAMMING WITH HIST)-.329 E(OR)-.197 E 2.738(YF)-.383 G(UNCTIONS)-2.738
-E F0(This section describes ho)108 463.2 Q 2.5(wt)-.25 G 2.5(ou)-2.5 G
-(se the History library in other programs.)-2.5 E F1(Intr)87 480 Q
-(oduction to History)-.18 E F0 .797
-(The programmer using the History library has a)108 492 R -.25(va)-.2 G
+5.953 F -.15(ve)-.25 G .953(nt line.).15 F .131
+(The delimiter may be quoted in)144 386.4 R F2(old)2.861 E F0(and)3.401
+E F2(ne)2.991 E(w)-.15 E F0 .131(with a single backslash.)2.941 F .131
+(If & appears in)5.131 F F2(ne)2.991 E(w)-.15 E F0 2.631(,i).31 G 2.631
+(ti)-2.631 G 2.631(sr)-2.631 G(e-)-2.631 E .62(placed by)144 398.4 R F2
+(old)3.349 E F0 5.619(.A).77 G .619(single backslash will quote the &.)
+-2.5 F(If)5.619 E F2(old)3.349 E F0 .619(is null, it is set to the last)
+3.889 F F2(old)3.349 E F0(substi-)3.889 E .486(tuted, or)144 410.4 R
+2.986(,i)-.4 G 2.986(fn)-2.986 G 2.986(op)-2.986 G(re)-2.986 E .486
+(vious history substitutions took place, the last)-.25 F F2(string)3.326
+E F0 .487(in a)3.206 F F1(!?)2.987 E F2(string)A F1([?])A F0 2.987
+(search. If)5.487 F F2(ne)144.36 422.4 Q(w)-.15 E F0
+(is null, each matching)2.81 E F2(old)2.73 E F0(is deleted.)3.27 E F1(&)
+108 434.4 Q F0(Repeat the pre)144 434.4 Q(vious substitution.)-.25 E F1
+(g)108 446.4 Q F0 .398(Cause changes to be applied o)144 446.4 R -.15
+(ve)-.15 G 2.898(rt).15 G .398(he entire e)-2.898 F -.15(ve)-.25 G .398
+(nt line.).15 F .397(This is used in conjunction with `)5.398 F F1(:s)A
+F0 2.897('\()C(e.g.,)-2.897 E(`)144 458.4 Q F1(:gs/)A F2(old)A F1(/)A F2
+(ne)A(w)-.15 E F1(/)A F0 .35('\) or `)B F1(:&)A F0 2.85('. If)B .35
+(used with `)2.85 F F1(:s)A F0 .35(', an)B 2.85(yd)-.15 G .351
+(elimiter can be used in place of /, and the \214nal de-)-2.85 F
+(limiter is optional if it is the last character of the e)144 470.4 Q
+-.15(ve)-.25 G(nt line.).15 E(An)5 E F1(a)2.5 E F0
+(may be used as a synon)2.5 E(ym for)-.15 E F1(g)2.5 E F0(.)A F1(G)108
+482.4 Q F0(Apply the follo)144 482.4 Q(wing `)-.25 E F1(s)A F0 2.5('o)C
+2.5(r`)-2.5 G F1(&)-2.5 E F0 2.5('m)C(odi\214er once to each w)-2.5 E
+(ord in the e)-.1 E -.15(ve)-.25 G(nt line.).15 E/F3 10.95/Times-Bold@0
+SF(PR)72 499.2 Q(OGRAMMING WITH HIST)-.329 E(OR)-.197 E 2.738(YF)-.383 G
+(UNCTIONS)-2.738 E F0(This section describes ho)108 511.2 Q 2.5(wt)-.25
+G 2.5(ou)-2.5 G(se the History library in other programs.)-2.5 E F1
+(Intr)87 528 Q(oduction to History)-.18 E F0 .797
+(The programmer using the History library has a)108 540 R -.25(va)-.2 G
.796(ilable functions for remembering lines on a history list,).25 F
-.307(associating arbitrary data with a line, remo)108 504 R .308
+.307(associating arbitrary data with a line, remo)108 552 R .308
(ving lines from the list, searching through the list for a line con-)
--.15 F .303(taining an arbitrary te)108 516 R .303
+-.15 F .303(taining an arbitrary te)108 564 R .303
(xt string, and referencing an)-.15 F 2.803(yl)-.15 G .303
(ine in the list directly)-2.803 F 5.303(.I)-.65 G 2.803(na)-5.303 G
.303(ddition, a history)-2.803 F F2 -.2(ex)2.802 G(pansion).2 E F0
-(function is a)108 528 Q -.25(va)-.2 G(ilable which pro).25 E
+(function is a)108 576 Q -.25(va)-.2 G(ilable which pro).25 E
(vides for a consistent user interf)-.15 E(ace across dif)-.1 E
(ferent programs.)-.25 E .059(The user using programs written with the \
-History library has the bene\214t of a consistent user interf)108 544.8
-R .059(ace with a)-.1 F .918(set of well-kno)108 556.8 R .917
+History library has the bene\214t of a consistent user interf)108 592.8
+R .059(ace with a)-.1 F .918(set of well-kno)108 604.8 R .917
(wn commands for manipulating the te)-.25 F .917(xt of pre)-.15 F .917
(vious lines and using that te)-.25 F .917(xt in ne)-.15 F 3.417(wc)-.25
-G(om-)-3.417 E 4.183(mands. The)108 568.8 R 1.684(basic history manipul\
+G(om-)-3.417 E 4.183(mands. The)108 616.8 R 1.684(basic history manipul\
ation commands are identical to the history substitution pro)4.183 F
-1.684(vided by)-.15 F F1(bash)108 580.8 Q F0(.)A .904
-(If the programmer desires, he can use the Readline library)108 597.6 R
+1.684(vided by)-.15 F F1(bash)108 628.8 Q F0(.)A .904
+(If the programmer desires, he can use the Readline library)108 645.6 R
3.403(,w)-.65 G .903(hich includes some history manipulation by)-3.403 F
-(def)108 609.6 Q(ault, and has the added adv)-.1 E
+(def)108 657.6 Q(ault, and has the added adv)-.1 E
(antage of command line editing.)-.25 E .39(Before declaring an)108
-626.4 R 2.89(yf)-.15 G .39(unctions using an)-2.89 F 2.89(yf)-.15 G .39
+674.4 R 2.89(yf)-.15 G .39(unctions using an)-2.89 F 2.89(yf)-.15 G .39
(unctionality the History library pro)-2.89 F .39
(vides in other code, an appli-)-.15 F .067
-(cation writer should include the \214le)108 638.4 R F2(<r)4.233 E
+(cation writer should include the \214le)108 686.4 R F2(<r)4.233 E
(eadline/history)-.37 E(.h>)-.55 E F0 .067(in an)4.233 F 2.566<798c>-.15
G .066(le that uses the History library')-2.566 F 2.566(sf)-.55 G
-(eatures.)-2.566 E .538(It supplies e)108 650.4 R .538
+(eatures.)-2.566 E .538(It supplies e)108 698.4 R .538
(xtern declarations for all of the library')-.15 F 3.038(sp)-.55 G .538
(ublic functions and v)-3.038 F .539(ariables, and declares all of the)
--.25 F(public data structures.)108 662.4 Q F1(History Storage)87 691.2 Q
-F0(The history list is an array of history entries.)108 703.2 Q 2.5(Ah)5
-G(istory entry is declared as follo)-2.5 E(ws:)-.25 E F2(typedef void *)
-108 720 Q F1(histdata_t;)2.5 E F0(GNU History 6.3)72 768 Q
-(2017 October 8)133.735 E(2)197.895 E 0 Cg EP
+-.25 F(public data structures.)108 710.4 Q(GNU History 8.0)72 768 Q
+(2019 No)126.385 E -.15(ve)-.15 G(mber 15).15 E(2)190.545 E 0 Cg EP
%%Page: 3 3
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(HIST)72 48 Q(OR)-.18 E 124.845(Y\(3\) Library)
--.65 F(Functions Manual)2.5 E(HIST)127.345 E(OR)-.18 E(Y\(3\))-.65 E
-(typedef struct _hist_entry {)108 84 Q(char *line;)113 96 Q
-(char *timestamp;)113 108 Q(histdata_t data;)113 120 Q 2.5(}H)108 132 S
-(IST_ENTR)-2.5 E -.92(Y;)-.65 G
-(The history list itself might therefore be declared as)108 148.8 Q/F1
-10/Times-Italic@0 SF(HIST_ENTR)108 165.6 Q 2.5(Y*)-.18 G(*)-2.5 E/F2 10
-/Times-Bold@0 SF(the_history_list;)2.5 E F0(The state of the History li\
-brary is encapsulated into a single structure:)108 182.4 Q(/*)108 199.2
-Q 2.5(*As)110.5 211.2 S
+-.65 F(Functions Manual)2.5 E(HIST)127.345 E(OR)-.18 E(Y\(3\))-.65 E/F1
+10/Times-Bold@0 SF(History Storage)87 84 Q F0
+(The history list is an array of history entries.)108 96 Q 2.5(Ah)5 G
+(istory entry is declared as follo)-2.5 E(ws:)-.25 E/F2 10
+/Times-Italic@0 SF(typedef void *)108 112.8 Q F1(histdata_t;)2.5 E F0
+(typedef struct _hist_entry {)108 129.6 Q(char *line;)113 141.6 Q
+(char *timestamp;)113 153.6 Q(histdata_t data;)113 165.6 Q 2.5(}H)108
+177.6 S(IST_ENTR)-2.5 E -.92(Y;)-.65 G
+(The history list itself might therefore be declared as)108 194.4 Q F2
+(HIST_ENTR)108 211.2 Q 2.5(Y*)-.18 G(*)-2.5 E F1(the_history_list;)2.5 E
+F0(The state of the History library is encapsulated into a single struc\
+ture:)108 228 Q(/*)108 244.8 Q 2.5(*As)110.5 256.8 S
(tructure used to pass around the current state of the history)-2.5 E(.)
--.65 E(*/)110.5 223.2 Q(typedef struct _hist_state {)108 235.2 Q
-(HIST_ENTR)113 247.2 Q 2.5(Y*)-.65 G
+-.65 E(*/)110.5 268.8 Q(typedef struct _hist_state {)108 280.8 Q
+(HIST_ENTR)113 292.8 Q 2.5(Y*)-.65 G
(*entries; /* Pointer to the entries themselv)-2.5 E(es. */)-.15 E
-(int of)113 259.2 Q 25(fset; /*)-.25 F
+(int of)113 304.8 Q 25(fset; /*)-.25 F
(The location pointer within this array)2.5 E 2.5(.*)-.65 G(/)-2.5 E
-(int length;)113 271.2 Q(/* Number of elements within this array)27.5 E
-2.5(.*)-.65 G(/)-2.5 E(int size;)113 283.2 Q
+(int length;)113 316.8 Q(/* Number of elements within this array)27.5 E
+2.5(.*)-.65 G(/)-2.5 E(int size;)113 328.8 Q
(/* Number of slots allocated to this array)32.5 E 2.5(.*)-.65 G(/)-2.5
-E(int \215ags;)113 295.2 Q 2.5(}H)108 307.2 S(IST)-2.5 E(OR)-.18 E(Y_ST)
--.65 E -1.11(AT)-.93 G(E;)1.11 E(If the \215ags member includes)108 324
-Q F2(HS_STIFLED)2.5 E F0 2.5(,t)C(he history has been sti\215ed.)-2.5 E
-/F3 10.95/Times-Bold@0 SF(History Functions)72 340.8 Q F0
-(This section describes the calling sequence for the v)108 352.8 Q
+E(int \215ags;)113 340.8 Q 2.5(}H)108 352.8 S(IST)-2.5 E(OR)-.18 E(Y_ST)
+-.65 E -1.11(AT)-.93 G(E;)1.11 E(If the \215ags member includes)108
+369.6 Q F1(HS_STIFLED)2.5 E F0 2.5(,t)C(he history has been sti\215ed.)
+-2.5 E/F3 10.95/Times-Bold@0 SF(History Functions)72 386.4 Q F0
+(This section describes the calling sequence for the v)108 398.4 Q
(arious functions e)-.25 E(xported by the GNU History library)-.15 E(.)
--.65 E F2(Initializing History and State Management)87 369.6 Q F0 1.274
+-.65 E F1(Initializing History and State Management)87 415.2 Q F0 1.274
(This section describes functions used to initialize and manage the sta\
-te of the History library when you)108 381.6 R -.1(wa)108 393.6 S
-(nt to use the history functions in your program.).1 E F1(void)108 417.6
-Q F2(using_history)2.5 E F0(\()4.166 E F1(void)A F0(\))1.666 E(Be)108
-429.6 Q(gin a session in which the history functions might be used.)-.15
+te of the History library when you)108 427.2 R -.1(wa)108 439.2 S
+(nt to use the history functions in your program.).1 E F2(void)108 463.2
+Q F1(using_history)2.5 E F0(\()4.166 E F2(void)A F0(\))1.666 E(Be)108
+475.2 Q(gin a session in which the history functions might be used.)-.15
E(This initializes the interacti)5 E .3 -.15(ve v)-.25 H(ariables.)-.1 E
-F1(HIST)108 453.6 Q(OR)-.18 E(Y_ST)-.18 E -.37(AT)-.5 G 2.5(E*).37 G F2
-(history_get_history_state)A F0(\()4.166 E F1(void)A F0(\))1.666 E
+F2(HIST)108 499.2 Q(OR)-.18 E(Y_ST)-.18 E -.37(AT)-.5 G 2.5(E*).37 G F1
+(history_get_history_state)A F0(\()4.166 E F2(void)A F0(\))1.666 E
(Return a structure describing the current state of the input history)
-108 465.6 Q(.)-.65 E F1(void)108 489.6 Q F2(history_set_history_state)
-2.5 E F0(\()4.166 E F1(HIST)A(OR)-.18 E(Y_ST)-.18 E -.37(AT)-.5 G 2.5
+108 511.2 Q(.)-.65 E F2(void)108 535.2 Q F1(history_set_history_state)
+2.5 E F0(\()4.166 E F2(HIST)A(OR)-.18 E(Y_ST)-.18 E -.37(AT)-.5 G 2.5
(E*).37 G(state)-2.5 E F0(\))1.666 E
-(Set the state of the history list according to)108 501.6 Q F1(state)2.5
-E F0(.)A F2(History List Management)87 530.4 Q F0
-(These functions manage indi)108 542.4 Q(vidual entries on the history \
-list, or set parameters managing the list itself.)-.25 E F1(void)108
-566.4 Q F2(add_history)2.5 E F0(\()4.166 E F1(const c)A(har *string)-.15
-E F0(\))1.666 E(Place)108 578.4 Q F1(string)3.279 E F0 .779
+(Set the state of the history list according to)108 547.2 Q F2(state)2.5
+E F0(.)A F1(History List Management)87 576 Q F0
+(These functions manage indi)108 588 Q(vidual entries on the history li\
+st, or set parameters managing the list itself.)-.25 E F2(void)108 612 Q
+F1(add_history)2.5 E F0(\()4.166 E F2(const c)A(har *string)-.15 E F0
+(\))1.666 E(Place)108 624 Q F2(string)3.279 E F0 .779
(at the end of the history list.)3.279 F .779
(The associated data \214eld \(if an)5.779 F .779(y\) is set to)-.15 F
-F2(NULL)3.279 E F0 5.779(.I)C 3.279(ft)-5.779 G .78(he maxi-)-3.279 F
-.787(mum number of history entries has been set using)108 590.4 R F2
+F1(NULL)3.279 E F0 5.779(.I)C 3.279(ft)-5.779 G .78(he maxi-)-3.279 F
+.787(mum number of history entries has been set using)108 636 R F1
(sti\215e_history\(\))3.286 E F0 3.286(,a)C .786(nd the ne)-3.286 F
-3.286(wn)-.25 G .786(umber of history entries)-3.286 F -.1(wo)108 602.4
-S(uld e).1 E(xceed that maximum, the oldest history entry is remo)-.15 E
--.15(ve)-.15 G(d.).15 E F1(void)108 626.4 Q F2(add_history_time)2.5 E F0
-(\()4.166 E F1(const c)A(har *string)-.15 E F0(\))1.666 E
+3.286(wn)-.25 G .786(umber of history entries)-3.286 F -.1(wo)108 648 S
+(uld e).1 E(xceed that maximum, the oldest history entry is remo)-.15 E
+-.15(ve)-.15 G(d.).15 E F2(void)108 672 Q F1(add_history_time)2.5 E F0
+(\()4.166 E F2(const c)A(har *string)-.15 E F0(\))1.666 E
(Change the time stamp associated with the most recent history entry to)
-108 638.4 Q F1(string)2.5 E F0(.)A F1(HIST_ENTR)108 662.4 Q 2.5(Y*)-.18
-G F2 -.18(re)C(mo).18 E -.1(ve)-.1 G(_history).1 E F0(\()4.166 E F1
-(int whic)A(h)-.15 E F0(\))1.666 E(Remo)108 674.4 Q .352 -.15(ve h)-.15
-H .052(istory entry at of).15 F(fset)-.25 E F1(whic)2.553 E(h)-.15 E F0
-.053(from the history)2.553 F 5.053(.T)-.65 G .053(he remo)-5.053 F -.15
-(ve)-.15 G 2.553(de).15 G .053(lement is returned so you can free the)
--2.553 F(line, data, and containing structure.)108 686.4 Q F1
-(histdata_t)108 710.4 Q F2(fr)2.5 E(ee_history_entry)-.18 E F0(\()4.166
-E F1(HIST_ENTR)A 2.5(Y*)-.18 G(histent)-2.5 E F0(\))1.666 E 3.31
-(Free the history entry)108 722.4 R F1(histent)5.81 E F0 3.309(and an)
-5.81 F 5.809(yh)-.15 G 3.309(istory library pri)-5.809 F -.25(va)-.25 G
-3.309(te data associated with it.).25 F 3.309(Returns the)8.309 F
-(GNU History 6.3)72 768 Q(2017 October 8)133.735 E(3)197.895 E 0 Cg EP
+108 684 Q F2(string)2.5 E F0(.)A F2(HIST_ENTR)108 708 Q 2.5(Y*)-.18 G F1
+-.18(re)C(mo).18 E -.1(ve)-.1 G(_history).1 E F0(\()4.166 E F2(int whic)
+A(h)-.15 E F0(\))1.666 E(Remo)108 720 Q .352 -.15(ve h)-.15 H .052
+(istory entry at of).15 F(fset)-.25 E F2(whic)2.553 E(h)-.15 E F0 .053
+(from the history)2.553 F 5.053(.T)-.65 G .053(he remo)-5.053 F -.15(ve)
+-.15 G 2.553(de).15 G .053(lement is returned so you can free the)-2.553
+F(GNU History 8.0)72 768 Q(2019 No)126.385 E -.15(ve)-.15 G(mber 15).15
+E(3)190.545 E 0 Cg EP
%%Page: 4 4
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(HIST)72 48 Q(OR)-.18 E 124.845(Y\(3\) Library)
-.65 F(Functions Manual)2.5 E(HIST)127.345 E(OR)-.18 E(Y\(3\))-.65 E
-(application-speci\214c data so the caller can dispose of it.)108 84 Q
-/F1 10/Times-Italic@0 SF(HIST_ENTR)108 108 Q 2.5(Y*)-.18 G/F2 10
-/Times-Bold@0 SF -.18(re)C(place_history_entry).18 E F0(\()4.166 E F1
-(int whic)A -.834(h, const)-.15 F -.15(ch)2.5 G(ar *line).15 E 1.666(,h)
--.1 G(istdata_t data)-1.666 E F0(\))3.332 E(Mak)108 120 Q 3.062(et)-.1 G
-.562(he history entry at of)-3.062 F(fset)-.25 E F1(whic)3.062 E(h)-.15
-E F0(ha)3.062 E -.15(ve)-.2 G F1(line)3.212 E F0(and)3.062 E F1(data)
-3.062 E F0 5.563(.T)C .563
+(line, data, and containing structure.)108 84 Q/F1 10/Times-Italic@0 SF
+(histdata_t)108 108 Q/F2 10/Times-Bold@0 SF(fr)2.5 E(ee_history_entry)
+-.18 E F0(\()4.166 E F1(HIST_ENTR)A 2.5(Y*)-.18 G(histent)-2.5 E F0(\))
+1.666 E .934(Free the history entry)108 120 R F1(histent)3.433 E F0 .933
+(and an)3.433 F 3.433(yh)-.15 G .933(istory library pri)-3.433 F -.25
+(va)-.25 G .933(te data associated with it.).25 F .933
+(Returns the applica-)5.933 F
+(tion-speci\214c data so the caller can dispose of it.)108 132 Q F1
+(HIST_ENTR)108 156 Q 2.5(Y*)-.18 G F2 -.18(re)C(place_history_entry).18
+E F0(\()4.166 E F1(int whic)A -.834(h, const)-.15 F -.15(ch)2.5 G
+(ar *line).15 E 1.666(,h)-.1 G(istdata_t data)-1.666 E F0(\))3.332 E
+(Mak)108 168 Q 3.062(et)-.1 G .562(he history entry at of)-3.062 F(fset)
+-.25 E F1(whic)3.062 E(h)-.15 E F0(ha)3.062 E -.15(ve)-.2 G F1(line)
+3.212 E F0(and)3.062 E F1(data)3.062 E F0 5.563(.T)C .563
(his returns the old entry so the caller can dis-)-5.563 F(pose of an)
-108 132 Q 2.5(ya)-.15 G(pplication-speci\214c data.)-2.5 E
+108 180 Q 2.5(ya)-.15 G(pplication-speci\214c data.)-2.5 E
(In the case of an in)5 E -.25(va)-.4 G(lid).25 E F1(whic)2.5 E(h)-.15 E
-F0 2.5(,a)C F2(NULL)A F0(pointer is returned.)2.5 E F1(void)108 156 Q F2
+F0 2.5(,a)C F2(NULL)A F0(pointer is returned.)2.5 E F1(void)108 204 Q F2
(clear_history)2.5 E F0(\()4.166 E F1(void)A F0(\))1.666 E
-(Clear the history list by deleting all the entries.)108 168 Q F1(void)
-108 192 Q F2(sti\215e_history)2.5 E F0(\()4.166 E F1(int max)A F0(\))
-1.666 E .38(Sti\215e the history list, remembering only the last)108 204
+(Clear the history list by deleting all the entries.)108 216 Q F1(void)
+108 240 Q F2(sti\215e_history)2.5 E F0(\()4.166 E F1(int max)A F0(\))
+1.666 E .38(Sti\215e the history list, remembering only the last)108 252
R F1(max)2.88 E F0 2.88(entries. The)2.88 F .38
(history list will contain only)2.88 F F1(max)2.88 E F0(entries)2.88 E
-(at a time.)108 216 Q F1(int)108 240 Q F2(unsti\215e_history)2.5 E F0
+(at a time.)108 264 Q F1(int)108 288 Q F2(unsti\215e_history)2.5 E F0
(\()4.166 E F1(void)A F0(\))1.666 E .46(Stop sti\215ing the history)108
-252 R 5.46(.T)-.65 G .46(his returns the pre)-5.46 F .46
+300 R 5.46(.T)-.65 G .46(his returns the pre)-5.46 F .46
(viously-set maximum number of history entries \(as set by)-.25 F F2
-(sti-)2.96 E(\215e_history\(\))108 264 Q F0 2.5(\). history)B -.1(wa)2.5
+(sti-)2.96 E(\215e_history\(\))108 312 Q F0 2.5(\). history)B -.1(wa)2.5
G 2.5(ss).1 G 2.5(ti\215ed. The)-2.5 F -.25(va)2.5 G(lue is positi).25 E
.3 -.15(ve i)-.25 H 2.5(ft).15 G(he history w)-2.5 E(as sti\215ed, ne)
-.1 E -.05(ga)-.15 G(ti).05 E .3 -.15(ve i)-.25 H 2.5(fi).15 G 2.5(tw)
--2.5 G(asn')-2.6 E(t.)-.18 E F1(int)108 288 Q F2(history_is_sti\215ed)
+-2.5 G(asn')-2.6 E(t.)-.18 E F1(int)108 336 Q F2(history_is_sti\215ed)
2.5 E F0(\()4.166 E F1(void)A F0(\))1.666 E
(Returns non-zero if the history is sti\215ed, zero if it is not.)108
-300 Q F2(Inf)87 328.8 Q(ormation About the History List)-.25 E F0(These\
+348 Q F2(Inf)87 376.8 Q(ormation About the History List)-.25 E F0(These\
functions return information about the entire history list or indi)108
-340.8 Q(vidual list entries.)-.25 E F1(HIST_ENTR)108 364.8 Q 2.5(Y*)-.18
+388.8 Q(vidual list entries.)-.25 E F1(HIST_ENTR)108 412.8 Q 2.5(Y*)-.18
G(*)-2.5 E F2(history_list)2.5 E F0(\()4.166 E F1(void)A F0(\))1.666 E
-.708(Return a)108 376.8 R F2(NULL)3.208 E F0 .708(terminated array of)
+.708(Return a)108 424.8 R F2(NULL)3.208 E F0 .708(terminated array of)
3.208 F F1(HIST_ENTR)3.208 E 3.208(Y*)-.18 G F0 .708
(which is the current input history)B 5.707(.E)-.65 G .707
-(lement 0 of this)-5.707 F(list is the be)108 388.8 Q(ginning of time.)
+(lement 0 of this)-5.707 F(list is the be)108 436.8 Q(ginning of time.)
-.15 E(If there is no history)5 E 2.5(,r)-.65 G(eturn)-2.5 E F2(NULL)2.5
-E F0(.)A F1(int)108 412.8 Q F2(wher)2.5 E(e_history)-.18 E F0(\()4.166 E
-F1(void)A F0(\))1.666 E(Returns the of)108 424.8 Q
-(fset of the current history element.)-.25 E F1(HIST_ENTR)108 448.8 Q
+E F0(.)A F1(int)108 460.8 Q F2(wher)2.5 E(e_history)-.18 E F0(\()4.166 E
+F1(void)A F0(\))1.666 E(Returns the of)108 472.8 Q
+(fset of the current history element.)-.25 E F1(HIST_ENTR)108 496.8 Q
2.5(Y*)-.18 G F2(curr)A(ent_history)-.18 E F0(\()4.166 E F1(void)A F0
(\))1.666 E 1.373
(Return the history entry at the current position, as determined by)108
-460.8 R F2(wher)3.873 E(e_history\(\))-.18 E F0 6.373(.I)C 3.873(ft)
--6.373 G 1.374(here is no entry)-3.873 F(there, return a)108 472.8 Q F2
-(NULL)2.5 E F0(pointer)2.5 E(.)-.55 E F1(HIST_ENTR)108 496.8 Q 2.5(Y*)
+508.8 R F2(wher)3.873 E(e_history\(\))-.18 E F0 6.373(.I)C 3.873(ft)
+-6.373 G 1.374(here is no entry)-3.873 F(there, return a)108 520.8 Q F2
+(NULL)2.5 E F0(pointer)2.5 E(.)-.55 E F1(HIST_ENTR)108 544.8 Q 2.5(Y*)
-.18 G F2(history_get)A F0(\()4.166 E F1(int of)A(fset)-.18 E F0(\))
-1.666 E 1.069(Return the history entry at position)108 508.8 R F1(of)
+1.666 E 1.069(Return the history entry at position)108 556.8 R F1(of)
3.569 E(fset)-.18 E F0 6.069(.T)C 1.069(he range of v)-6.069 F 1.069
(alid v)-.25 F 1.069(alues of)-.25 F F1(of)3.569 E(fset)-.18 E F0 1.068
(starts at)3.569 F F2(history_base)3.568 E F0(and)3.568 E .286(ends at)
-108 520.8 R F2(history_length)2.786 E F0 2.786<ad31>2.786 G 5.286(.I)
+108 568.8 R F2(history_length)2.786 E F0 2.786<ad31>2.786 G 5.286(.I)
-2.786 G 2.786(ft)-5.286 G .286(here is no entry there, or if)-2.786 F
F1(of)2.786 E(fset)-.18 E F0 .286(is outside the v)2.786 F .287
-(alid range, return a)-.25 F F2(NULL)2.787 E F0(pointer)108 532.8 Q(.)
--.55 E F1(time_t)108 556.8 Q F2(history_get_time)2.5 E F0(\()4.166 E F1
+(alid range, return a)-.25 F F2(NULL)2.787 E F0(pointer)108 580.8 Q(.)
+-.55 E F1(time_t)108 604.8 Q F2(history_get_time)2.5 E F0(\()4.166 E F1
(HIST_ENTR)A 2.5(Y*)-.18 G F0(\))-.834 E(Return the time stamp associat\
-ed with the history entry passed as the ar)108 568.8 Q(gument.)-.18 E F1
-(int)108 592.8 Q F2(history_total_bytes)2.5 E F0(\()4.166 E F1(void)A F0
+ed with the history entry passed as the ar)108 616.8 Q(gument.)-.18 E F1
+(int)108 640.8 Q F2(history_total_bytes)2.5 E F0(\()4.166 E F1(void)A F0
(\))1.666 E .392
(Return the number of bytes that the primary history entries are using.)
-108 604.8 R .391(This function returns the sum of the)5.392 F
-(lengths of all the lines in the history)108 616.8 Q(.)-.65 E F2(Mo)87
-645.6 Q(ving Ar)-.1 E(ound the History List)-.18 E F0
-(These functions allo)108 657.6 Q 2.5(wt)-.25 G(he current inde)-2.5 E
+108 652.8 R .391(This function returns the sum of the)5.392 F
+(lengths of all the lines in the history)108 664.8 Q(.)-.65 E F2(Mo)87
+693.6 Q(ving Ar)-.1 E(ound the History List)-.18 E F0
+(These functions allo)108 705.6 Q 2.5(wt)-.25 G(he current inde)-2.5 E
2.5(xi)-.15 G(nto the history list to be set or changed.)-2.5 E F1(int)
-108 681.6 Q F2(history_set_pos)2.5 E F0(\()4.166 E F1(int pos)A F0(\))
-1.666 E .79(Set the current history of)108 693.6 R .79(fset to)-.25 F F1
-(pos)3.29 E F0 3.29(,a)C 3.29(na)-3.29 G .79(bsolute inde)-3.29 F 3.29
-(xi)-.15 G .79(nto the list.)-3.29 F .79(Returns 1 on success, 0 if)5.79
-F F1(pos)3.29 E F0 .79(is less)3.29 F
-(than zero or greater than the number of history entries.)108 705.6 Q F1
-(HIST_ENTR)108 729.6 Q 2.5(Y*)-.18 G F2(pr)A -.15(ev)-.18 G
-(ious_history).15 E F0(\()4.166 E F1(void)A F0(\))1.666 E
-(GNU History 6.3)72 768 Q(2017 October 8)133.735 E(4)197.895 E 0 Cg EP
+108 729.6 Q F2(history_set_pos)2.5 E F0(\()4.166 E F1(int pos)A F0(\))
+1.666 E(GNU History 8.0)72 768 Q(2019 No)126.385 E -.15(ve)-.15 G
+(mber 15).15 E(4)190.545 E 0 Cg EP
%%Page: 5 5
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(HIST)72 48 Q(OR)-.18 E 124.845(Y\(3\) Library)
--.65 F(Functions Manual)2.5 E(HIST)127.345 E(OR)-.18 E(Y\(3\))-.65 E
-.208(Back up the current history of)108 84 R .208(fset to the pre)-.25 F
+-.65 F(Functions Manual)2.5 E(HIST)127.345 E(OR)-.18 E(Y\(3\))-.65 E .79
+(Set the current history of)108 84 R .79(fset to)-.25 F/F1 10
+/Times-Italic@0 SF(pos)3.29 E F0 3.29(,a)C 3.29(na)-3.29 G .79
+(bsolute inde)-3.29 F 3.29(xi)-.15 G .79(nto the list.)-3.29 F .79
+(Returns 1 on success, 0 if)5.79 F F1(pos)3.29 E F0 .79(is less)3.29 F
+(than zero or greater than the number of history entries.)108 96 Q F1
+(HIST_ENTR)108 120 Q 2.5(Y*)-.18 G/F2 10/Times-Bold@0 SF(pr)A -.15(ev)
+-.18 G(ious_history).15 E F0(\()4.166 E F1(void)A F0(\))1.666 E .208
+(Back up the current history of)108 132 R .208(fset to the pre)-.25 F
.208(vious history entry)-.25 F 2.707(,a)-.65 G .207
(nd return a pointer to that entry)-2.707 F 5.207(.I)-.65 G 2.707(ft)
--5.207 G .207(here is)-2.707 F(no pre)108 96 Q(vious entry)-.25 E 2.5
-(,r)-.65 G(eturn a)-2.5 E/F1 10/Times-Bold@0 SF(NULL)2.5 E F0(pointer)
-2.5 E(.)-.55 E/F2 10/Times-Italic@0 SF(HIST_ENTR)108 120 Q 2.5(Y*)-.18 G
-F1(next_history)A F0(\()4.166 E F2(void)A F0(\))1.666 E .332
-(If the current history of)108 132 R .333(fset refers to a v)-.25 F .333
-(alid history entry)-.25 F 2.833(,i)-.65 G .333
-(ncrement the current history of)-2.833 F 2.833(fset. If)-.25 F .333
-(the possi-)2.833 F .202(bly-incremented history of)108 144 R .202
+-5.207 G .207(here is)-2.707 F(no pre)108 144 Q(vious entry)-.25 E 2.5
+(,r)-.65 G(eturn a)-2.5 E F2(NULL)2.5 E F0(pointer)2.5 E(.)-.55 E F1
+(HIST_ENTR)108 168 Q 2.5(Y*)-.18 G F2(next_history)A F0(\()4.166 E F1
+(void)A F0(\))1.666 E .332(If the current history of)108 180 R .333
+(fset refers to a v)-.25 F .333(alid history entry)-.25 F 2.833(,i)-.65
+G .333(ncrement the current history of)-2.833 F 2.833(fset. If)-.25 F
+.333(the possi-)2.833 F .202(bly-incremented history of)108 192 R .202
(fset refers to a v)-.25 F .202(alid history entry)-.25 F 2.702(,r)-.65
G .202(eturn a pointer to that entry; otherwise, return)-2.702 F(a)108
-156 Q F1(NULL)2.5 E F0(pointer)2.5 E(.)-.55 E F1(Sear)87 184.8 Q
-(ching the History List)-.18 E F0 .005(These functions allo)108 196.8 R
+204 Q F2(NULL)2.5 E F0(pointer)2.5 E(.)-.55 E F2(Sear)87 232.8 Q
+(ching the History List)-.18 E F0 .005(These functions allo)108 244.8 R
2.505(ws)-.25 G .006(earching of the history list for entries containin\
g a speci\214c string.)-2.505 F .006(Searching may be)5.006 F 1.452
-(performed both forw)108 208.8 R 1.452(ard and backw)-.1 F 1.451
+(performed both forw)108 256.8 R 1.452(ard and backw)-.1 F 1.451
(ard from the current history position.)-.1 F 1.451(The search may be)
-6.451 F F2(anc)3.951 E(hor)-.15 E(ed)-.37 E F0(,)A
-(meaning that the string must match at the be)108 220.8 Q
-(ginning of the history entry)-.15 E(.)-.65 E F2(int)108 244.8 Q F1
-(history_sear)2.5 E(ch)-.18 E F0(\()4.166 E F2(const c)A(har *string)
+6.451 F F1(anc)3.951 E(hor)-.15 E(ed)-.37 E F0(,)A
+(meaning that the string must match at the be)108 268.8 Q
+(ginning of the history entry)-.15 E(.)-.65 E F1(int)108 292.8 Q F2
+(history_sear)2.5 E(ch)-.18 E F0(\()4.166 E F1(const c)A(har *string)
-.15 E 1.666(,i)-.1 G(nt dir)-1.666 E(ection)-.37 E F0(\))1.666 E .155
-(Search the history for)108 256.8 R F2(string)2.655 E F0 2.656(,s)C .156
-(tarting at the current history of)-2.656 F 2.656(fset. If)-.25 F F2
+(Search the history for)108 304.8 R F1(string)2.655 E F0 2.656(,s)C .156
+(tarting at the current history of)-2.656 F 2.656(fset. If)-.25 F F1
(dir)2.656 E(ection)-.37 E F0 .156(is less than 0, then the search)2.656
-F .802(is through pre)108 268.8 R .802
+F .802(is through pre)108 316.8 R .802
(vious entries, otherwise through subsequent entries.)-.25 F(If)5.801 E
-F2(string)3.301 E F0 .801(is found, then the current his-)3.301 F .064
-(tory inde)108 280.8 R 2.564(xi)-.15 G 2.564(ss)-2.564 G .064
+F1(string)3.301 E F0 .801(is found, then the current his-)3.301 F .064
+(tory inde)108 328.8 R 2.564(xi)-.15 G 2.564(ss)-2.564 G .064
(et to that history entry)-2.564 F 2.564(,a)-.65 G .064(nd the v)-2.564
F .064(alue returned is the of)-.25 F .064
-(fset in the line of the entry where)-.25 F F2(string)2.565 E F0 -.1(wa)
-108 292.8 S 2.5(sf).1 G 2.5(ound. Otherwise,)-2.5 F
-(nothing is changed, and a -1 is returned.)2.5 E F2(int)108 316.8 Q F1
-(history_sear)2.5 E(ch_pr)-.18 E(e\214x)-.18 E F0(\()4.166 E F2(const c)
+(fset in the line of the entry where)-.25 F F1(string)2.565 E F0 -.1(wa)
+108 340.8 S 2.5(sf).1 G 2.5(ound. Otherwise,)-2.5 F
+(nothing is changed, and a -1 is returned.)2.5 E F1(int)108 364.8 Q F2
+(history_sear)2.5 E(ch_pr)-.18 E(e\214x)-.18 E F0(\()4.166 E F1(const c)
A(har *string)-.15 E 1.666(,i)-.1 G(nt dir)-1.666 E(ection)-.37 E F0(\))
-1.666 E .684(Search the history for)108 328.8 R F2(string)3.183 E F0
+1.666 E .684(Search the history for)108 376.8 R F1(string)3.183 E F0
3.183(,s)C .683(tarting at the current history of)-3.183 F 3.183
(fset. The)-.25 F .683(search is anchored: matching lines)3.183 F 1.063
-(must be)108 340.8 R 1.063(gin with)-.15 F F2(string)3.563 E F0 6.063
-(.I)C(f)-6.063 E F2(dir)3.563 E(ection)-.37 E F0 1.064
+(must be)108 388.8 R 1.063(gin with)-.15 F F1(string)3.563 E F0 6.063
+(.I)C(f)-6.063 E F1(dir)3.563 E(ection)-.37 E F0 1.064
(is less than 0, then the search is through pre)3.563 F 1.064
-(vious entries, otherwise)-.25 F 1.115(through subsequent entries.)108
-352.8 R(If)6.115 E F2(string)3.615 E F0 1.115
-(is found, then the current history inde)3.615 F 3.614(xi)-.15 G 3.614
-(ss)-3.614 G 1.114(et to that entry)-3.614 F 3.614(,a)-.65 G 1.114
-(nd the)-3.614 F(return v)108 364.8 Q(alue is 0.)-.25 E
-(Otherwise, nothing is changed, and a -1 is returned.)5 E F2(int)108
-388.8 Q F1(history_sear)2.5 E(ch_pos)-.18 E F0(\()4.166 E F2(const c)A
+(vious entries, otherwise)-.25 F .34(through subsequent entries.)108
+400.8 R(If)5.34 E F1(string)2.84 E F0 .34
+(is found, then the current history inde)2.84 F 2.84(xi)-.15 G 2.84(ss)
+-2.84 G .34(et to that entry)-2.84 F 2.84(,a)-.65 G .34(nd the re-)-2.84
+F(turn v)108 412.8 Q(alue is 0.)-.25 E
+(Otherwise, nothing is changed, and a -1 is returned.)5 E F1(int)108
+436.8 Q F2(history_sear)2.5 E(ch_pos)-.18 E F0(\()4.166 E F1(const c)A
(har *string)-.15 E 1.666(,i)-.1 G(nt dir)-1.666 E -.834(ection, int)
--.37 F(pos)2.5 E F0(\))3.332 E .603(Search for)108 400.8 R F2(string)
-3.103 E F0 .603(in the history list, starting at)3.103 F F2(pos)3.104 E
+-.37 F(pos)2.5 E F0(\))3.332 E .603(Search for)108 448.8 R F1(string)
+3.103 E F0 .603(in the history list, starting at)3.103 F F1(pos)3.104 E
F0 3.104(,a)C 3.104(na)-3.104 G .604(bsolute inde)-3.104 F 3.104(xi)-.15
-G .604(nto the list.)-3.104 F(If)5.604 E F2(dir)3.104 E(ection)-.37 E F0
+G .604(nto the list.)-3.104 F(If)5.604 E F1(dir)3.104 E(ection)-.37 E F0
.604(is ne)3.104 F -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(,).15 E .608
-(the search proceeds backw)108 412.8 R .608(ard from)-.1 F F2(pos)3.108
+(the search proceeds backw)108 460.8 R .608(ard from)-.1 F F1(pos)3.108
E F0 3.108(,o)C .608(therwise forw)-3.108 F 3.108(ard. Returns)-.1 F
.608(the absolute inde)3.108 F 3.108(xo)-.15 G 3.108(ft)-3.108 G .608
-(he history ele-)-3.108 F(ment where)108 424.8 Q F2(string)2.5 E F0 -.1
-(wa)2.5 G 2.5(sf).1 G(ound, or -1 otherwise.)-2.5 E F1
-(Managing the History File)87 453.6 Q F0 .035(The History library can r\
-ead the history from and write it to a \214le.)108 465.6 R .036
+(he history ele-)-3.108 F(ment where)108 472.8 Q F1(string)2.5 E F0 -.1
+(wa)2.5 G 2.5(sf).1 G(ound, or -1 otherwise.)-2.5 E F2
+(Managing the History File)87 501.6 Q F0 .035(The History library can r\
+ead the history from and write it to a \214le.)108 513.6 R .036
(This section documents the functions for)5.035 F
-(managing a history \214le.)108 477.6 Q F2(int)108 501.6 Q F1 -.18(re)
-2.5 G(ad_history).18 E F0(\()4.166 E F2(const c)A(har *\214lename)-.15 E
-F0(\))1.666 E .151(Add the contents of)108 513.6 R F2(\214lename)2.651 E
-F0 .151(to the history list, a line at a time.)2.651 F(If)5.15 E F2
-(\214lename)2.65 E F0(is)2.65 E F1(NULL)2.65 E F0 2.65(,t)C .15
-(hen read from)-2.65 F F2(~/.his-)2.65 E(tory)108 525.6 Q F0 5(.R)C
-(eturns 0 if successful, or)-5 E F1(err)2.5 E(no)-.15 E F0(if not.)2.5 E
-F2(int)108 549.6 Q F1 -.18(re)2.5 G(ad_history_range).18 E F0(\()4.166 E
-F2(const c)A(har *\214lename)-.15 E 1.666(,i)-.1 G(nt fr)-1.666 E -.834
+(managing a history \214le.)108 525.6 Q F1(int)108 549.6 Q F2 -.18(re)
+2.5 G(ad_history).18 E F0(\()4.166 E F1(const c)A(har *\214lename)-.15 E
+F0(\))1.666 E .151(Add the contents of)108 561.6 R F1(\214lename)2.651 E
+F0 .151(to the history list, a line at a time.)2.651 F(If)5.15 E F1
+(\214lename)2.65 E F0(is)2.65 E F2(NULL)2.65 E F0 2.65(,t)C .15
+(hen read from)-2.65 F F1(~/.his-)2.65 E(tory)108 573.6 Q F0 5(.R)C
+(eturns 0 if successful, or)-5 E F2(err)2.5 E(no)-.15 E F0(if not.)2.5 E
+F1(int)108 597.6 Q F2 -.18(re)2.5 G(ad_history_range).18 E F0(\()4.166 E
+F1(const c)A(har *\214lename)-.15 E 1.666(,i)-.1 G(nt fr)-1.666 E -.834
(om, int)-.45 F(to)2.5 E F0(\))3.332 E .052(Read a range of lines from)
-108 561.6 R F2(\214lename)2.553 E F0 2.553(,a)C .053
+108 609.6 R F1(\214lename)2.553 E F0 2.553(,a)C .053
(dding them to the history list.)-2.553 F .053(Start reading at line)
-5.053 F F2(fr)2.553 E(om)-.45 E F0 .053(and end at)2.553 F F2(to)2.553 E
-F0(.)A(If)108 573.6 Q F2(fr)2.889 E(om)-.45 E F0 .389
-(is zero, start at the be)2.889 F 2.889(ginning. If)-.15 F F2(to)2.889 E
-F0 .389(is less than)2.889 F F2(fr)2.889 E(om)-.45 E F0 2.889(,t)C .388
-(hen read until the end of the \214le.)-2.889 F(If)5.388 E F2
-(\214lename)2.888 E F0(is)108 585.6 Q F1(NULL)2.5 E F0 2.5(,t)C
-(hen read from)-2.5 E F2(~/.history)2.5 E F0 5(.R)C
-(eturns 0 if successful, or)-5 E F1(err)2.5 E(no)-.15 E F0(if not.)2.5 E
-F2(int)108 609.6 Q F1(write_history)2.5 E F0(\()4.166 E F2(const c)A
+5.053 F F1(fr)2.553 E(om)-.45 E F0 .053(and end at)2.553 F F1(to)2.553 E
+F0(.)A(If)108 621.6 Q F1(fr)2.889 E(om)-.45 E F0 .389
+(is zero, start at the be)2.889 F 2.889(ginning. If)-.15 F F1(to)2.889 E
+F0 .389(is less than)2.889 F F1(fr)2.889 E(om)-.45 E F0 2.889(,t)C .388
+(hen read until the end of the \214le.)-2.889 F(If)5.388 E F1
+(\214lename)2.888 E F0(is)108 633.6 Q F2(NULL)2.5 E F0 2.5(,t)C
+(hen read from)-2.5 E F1(~/.history)2.5 E F0 5(.R)C
+(eturns 0 if successful, or)-5 E F2(err)2.5 E(no)-.15 E F0(if not.)2.5 E
+F1(int)108 657.6 Q F2(write_history)2.5 E F0(\()4.166 E F1(const c)A
(har *\214lename)-.15 E F0(\))1.666 E .961(Write the current history to)
-108 621.6 R F2(\214lename)3.461 E F0 3.461(,o)C -.15(ve)-3.611 G
-(rwriting).15 E F2(\214lename)3.461 E F0 .961(if necessary)3.461 F 5.961
-(.I)-.65 G(f)-5.961 E F2(\214lename)3.462 E F0(is)3.462 E F1(NULL)3.462
-E F0 3.462(,t)C .962(hen write)-3.462 F(the history list to)108 633.6 Q
-F2(~/.history)2.5 E F0 5(.R)C(eturns 0 on success, or)-5 E F1(err)2.5 E
-(no)-.15 E F0(on a read or write error)2.5 E(.)-.55 E F2(int)108 669.6 Q
-F1(append_history)2.5 E F0(\()4.166 E F2(int nelements,)A(const c)1.666
-E(har *\214lename)-.15 E F0(\))1.666 E .839(Append the last)108 681.6 R
-F2(nelements)3.339 E F0 .839(of the history list to)3.339 F F2
-(\214lename)3.339 E F0 5.839(.I)C(f)-5.839 E F2(\214lename)3.339 E F0
-(is)3.339 E F1(NULL)3.339 E F0 3.339(,t)C .838(hen append to)-3.339 F F2
-(~/.history)3.338 E F0(.)A(Returns 0 on success, or)108 693.6 Q F1(err)
-2.5 E(no)-.15 E F0(on a read or write error)2.5 E(.)-.55 E F2(int)108
-717.6 Q F1(history_truncate_\214le)2.5 E F0(\()4.166 E F2(const c)A
-(har *\214lename)-.15 E 1.666(,i)-.1 G(nt nlines)-1.666 E F0(\))1.666 E
--.35(Tr)108 729.6 S .38(uncate the history \214le).35 F F2(\214lename)
-2.88 E F0 2.88(,l)C(ea)-2.88 E .38(ving only the last)-.2 F F2(nlines)
-2.881 E F0 2.881(lines. If)2.881 F F2(\214lename)2.881 E F0(is)2.881 E
-F1(NULL)2.881 E F0 2.881(,t)C(hen)-2.881 E F2(~/.history)2.881 E F0(is)
-2.881 E(GNU History 6.3)72 768 Q(2017 October 8)133.735 E(5)197.895 E 0
-Cg EP
+108 669.6 R F1(\214lename)3.461 E F0 3.461(,o)C -.15(ve)-3.611 G
+(rwriting).15 E F1(\214lename)3.461 E F0 .961(if necessary)3.461 F 5.961
+(.I)-.65 G(f)-5.961 E F1(\214lename)3.462 E F0(is)3.462 E F2(NULL)3.462
+E F0 3.462(,t)C .962(hen write)-3.462 F(the history list to)108 681.6 Q
+F1(~/.history)2.5 E F0 5(.R)C(eturns 0 on success, or)-5 E F2(err)2.5 E
+(no)-.15 E F0(on a read or write error)2.5 E(.)-.55 E F1(int)108 717.6 Q
+F2(append_history)2.5 E F0(\()4.166 E F1(int nelements,)A(const c)1.666
+E(har *\214lename)-.15 E F0(\))1.666 E .839(Append the last)108 729.6 R
+F1(nelements)3.339 E F0 .839(of the history list to)3.339 F F1
+(\214lename)3.339 E F0 5.839(.I)C(f)-5.839 E F1(\214lename)3.339 E F0
+(is)3.339 E F2(NULL)3.339 E F0 3.339(,t)C .838(hen append to)-3.339 F F1
+(~/.history)3.338 E F0(.)A(GNU History 8.0)72 768 Q(2019 No)126.385 E
+-.15(ve)-.15 G(mber 15).15 E(5)190.545 E 0 Cg EP
%%Page: 6 6
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(HIST)72 48 Q(OR)-.18 E 124.845(Y\(3\) Library)
--.65 F(Functions Manual)2.5 E(HIST)127.345 E(OR)-.18 E(Y\(3\))-.65 E 2.5
-(truncated. Returns)108 84 R 2.5(0o)2.5 G 2.5(ns)-2.5 G(uccess, or)-2.5
-E/F1 10/Times-Bold@0 SF(err)2.5 E(no)-.15 E F0(on f)2.5 E(ailure.)-.1 E
-F1(History Expansion)87 112.8 Q F0(These functions implement history e)
-108 124.8 Q(xpansion.)-.15 E/F2 10/Times-Italic@0 SF(int)108 148.8 Q F1
-(history_expand)2.5 E F0(\()4.166 E F2 -.15(ch)C(ar *string).15 E 1.666
-(,c)-.1 G(har **output)-1.816 E F0(\))1.666 E(Expand)108 160.8 Q F2
-(string)2.5 E F0 2.5(,p)C(lacing the result into)-2.5 E F2(output)2.5 E
-F0 2.5(,ap)C(ointer to a string.)-2.5 E(Returns:)5 E(0)144 172.8 Q .566
-(If no e)180 172.8 R .566(xpansions took place \(or)-.15 F 3.065(,i)-.4
-G 3.065(ft)-3.065 G .565(he only change in the te)-3.065 F .565(xt w)
--.15 F .565(as the remo)-.1 F -.25(va)-.15 G 3.065(lo).25 G 3.065(fe)
--3.065 G(scape)-3.065 E(characters preceding the history e)180 184.8 Q
-(xpansion character\);)-.15 E(1)144 196.8 Q(if e)180 196.8 Q
-(xpansions did tak)-.15 E 2.5(ep)-.1 G(lace;)-2.5 E(-1)144 208.8 Q
-(if there w)180 208.8 Q(as an error in e)-.1 E(xpansion;)-.15 E(2)144
-220.8 Q(if the returned line should be displayed, b)180 220.8 Q
-(ut not e)-.2 E -.15(xe)-.15 G(cuted, as with the).15 E F1(:p)2.5 E F0
-(modi\214er)2.5 E(.)-.55 E(If an error ocurred in e)108 232.8 Q
-(xpansion, then)-.15 E F2(output)2.5 E F0(contains a descripti)2.5 E .3
--.15(ve e)-.25 H(rror message.).15 E F2 -.15(ch)108 256.8 S(ar *).15 E
-F1(get_history_e)2.5 E -.1(ve)-.15 G(nt).1 E F0(\()4.166 E F2(const c)A
-(har *string)-.15 E 1.666(,i)-.1 G(nt *cinde)-1.666 E -.834(x, int)-.2 F
-(qc)2.5 E(har)-.15 E F0(\))3.332 E .262(Returns the te)108 268.8 R .262
+-.65 F(Functions Manual)2.5 E(HIST)127.345 E(OR)-.18 E(Y\(3\))-.65 E
+(Returns 0 on success, or)108 84 Q/F1 10/Times-Bold@0 SF(err)2.5 E(no)
+-.15 E F0(on a read or write error)2.5 E(.)-.55 E/F2 10/Times-Italic@0
+SF(int)108 108 Q F1(history_truncate_\214le)2.5 E F0(\()4.166 E F2
+(const c)A(har *\214lename)-.15 E 1.666(,i)-.1 G(nt nlines)-1.666 E F0
+(\))1.666 E -.35(Tr)108 120 S .38(uncate the history \214le).35 F F2
+(\214lename)2.88 E F0 2.88(,l)C(ea)-2.88 E .38(ving only the last)-.2 F
+F2(nlines)2.881 E F0 2.881(lines. If)2.881 F F2(\214lename)2.881 E F0
+(is)2.881 E F1(NULL)2.881 E F0 2.881(,t)C(hen)-2.881 E F2(~/.history)
+2.881 E F0(is)2.881 E 2.5(truncated. Returns)108 132 R 2.5(0o)2.5 G 2.5
+(ns)-2.5 G(uccess, or)-2.5 E F1(err)2.5 E(no)-.15 E F0(on f)2.5 E
+(ailure.)-.1 E F1(History Expansion)87 160.8 Q F0
+(These functions implement history e)108 172.8 Q(xpansion.)-.15 E F2
+(int)108 196.8 Q F1(history_expand)2.5 E F0(\()4.166 E F2 -.15(ch)C
+(ar *string).15 E 1.666(,c)-.1 G(har **output)-1.816 E F0(\))1.666 E
+(Expand)108 208.8 Q F2(string)2.5 E F0 2.5(,p)C(lacing the result into)
+-2.5 E F2(output)2.5 E F0 2.5(,ap)C(ointer to a string.)-2.5 E(Returns:)
+5 E(0)144 220.8 Q .566(If no e)180 220.8 R .566
+(xpansions took place \(or)-.15 F 3.065(,i)-.4 G 3.065(ft)-3.065 G .565
+(he only change in the te)-3.065 F .565(xt w)-.15 F .565(as the remo)-.1
+F -.25(va)-.15 G 3.065(lo).25 G 3.065(fe)-3.065 G(scape)-3.065 E
+(characters preceding the history e)180 232.8 Q(xpansion character\);)
+-.15 E(1)144 244.8 Q(if e)180 244.8 Q(xpansions did tak)-.15 E 2.5(ep)
+-.1 G(lace;)-2.5 E(-1)144 256.8 Q(if there w)180 256.8 Q
+(as an error in e)-.1 E(xpansion;)-.15 E(2)144 268.8 Q
+(if the returned line should be displayed, b)180 268.8 Q(ut not e)-.2 E
+-.15(xe)-.15 G(cuted, as with the).15 E F1(:p)2.5 E F0(modi\214er)2.5 E
+(.)-.55 E(If an error ocurred in e)108 280.8 Q(xpansion, then)-.15 E F2
+(output)2.5 E F0(contains a descripti)2.5 E .3 -.15(ve e)-.25 H
+(rror message.).15 E F2 -.15(ch)108 304.8 S(ar *).15 E F1(get_history_e)
+2.5 E -.1(ve)-.15 G(nt).1 E F0(\()4.166 E F2(const c)A(har *string)-.15
+E 1.666(,i)-.1 G(nt *cinde)-1.666 E -.834(x, int)-.2 F(qc)2.5 E(har)-.15
+E F0(\))3.332 E .262(Returns the te)108 316.8 R .262
(xt of the history e)-.15 F -.15(ve)-.25 G .262(nt be).15 F .263
(ginning at)-.15 F F2(string)2.763 E F0(+)2.763 E F2(*cinde)2.763 E(x)
-.2 E F0(.)A F2(*cinde)5.263 E(x)-.2 E F0 .263
-(is modi\214ed to point to after the)2.763 F -2.15 -.25(ev e)108 280.8 T
+(is modi\214ed to point to after the)2.763 F -2.15 -.25(ev e)108 328.8 T
.71(nt speci\214er).25 F 5.71(.A)-.55 G 3.21(tf)-5.71 G .71
(unction entry)-3.21 F(,)-.65 E F2(cinde)3.21 E(x)-.2 E F0 .709
(points to the inde)3.21 F 3.209(xi)-.15 G(nto)-3.209 E F2(string)3.209
E F0 .709(where the history e)3.209 F -.15(ve)-.25 G .709
-(nt speci\214ca-).15 F .527(tion be)108 292.8 R(gins.)-.15 E F2(qc)5.527
+(nt speci\214ca-).15 F .527(tion be)108 340.8 R(gins.)-.15 E F2(qc)5.527
E(har)-.15 E F0 .527(is a character that is allo)3.027 F .527
(wed to end the e)-.25 F -.15(ve)-.25 G .528
(nt speci\214cation in addition to the `).15 F(`normal')-.74 E(')-.74 E
-(terminating characters.)108 304.8 Q F2 -.15(ch)108 328.8 S(ar **).15 E
+(terminating characters.)108 352.8 Q F2 -.15(ch)108 376.8 S(ar **).15 E
F1(history_tok)2.5 E(enize)-.1 E F0(\()4.166 E F2(const c)A(har *string)
--.15 E F0(\))1.666 E .239(Return an array of tok)108 340.8 R .239
+-.15 E F0(\))1.666 E .239(Return an array of tok)108 388.8 R .239
(ens parsed out of)-.1 F F2(string)2.739 E F0 2.739(,m)C .238
(uch as the shell might.)-2.739 F .238(The tok)5.238 F .238
-(ens are split on the charac-)-.1 F(ters in the)108 352.8 Q F1
+(ens are split on the charac-)-.1 F(ters in the)108 400.8 Q F1
(history_w)2.5 E(ord_delimiters)-.1 E F0 -.25(va)2.5 G
(riable, and shell quoting con).25 E -.15(ve)-.4 G(ntions are obe).15 E
-(yed.)-.15 E F2 -.15(ch)108 376.8 S(ar *).15 E F1(history_ar)2.5 E
+(yed.)-.15 E F2 -.15(ch)108 424.8 S(ar *).15 E F1(history_ar)2.5 E
(g_extract)-.1 E F0(\()4.166 E F2(int \214r)A -.834(st, int)-.1 F -.834
(last, const)2.5 F -.15(ch)2.5 G(ar *string).15 E F0(\))3.332 E .025
-(Extract a string se)108 388.8 R .025(gment consisting of the)-.15 F F2
+(Extract a string se)108 436.8 R .025(gment consisting of the)-.15 F F2
<8c72>2.526 E(st)-.1 E F0(through)2.526 E F2(last)2.526 E F0(ar)2.526 E
.026(guments present in)-.18 F F2(string)2.526 E F0 5.026(.A)C -.18(rg)
--5.026 G .026(uments are split).18 F(using)108 400.8 Q F1(history_tok)
-2.5 E(enize\(\))-.1 E F0(.)A F1(History V)87 429.6 Q(ariables)-.92 E F0
-(This section describes the e)108 441.6 Q(xternally-visible v)-.15 E
+-5.026 G .026(uments are split).18 F(using)108 448.8 Q F1(history_tok)
+2.5 E(enize\(\))-.1 E F0(.)A F1(History V)87 477.6 Q(ariables)-.92 E F0
+(This section describes the e)108 489.6 Q(xternally-visible v)-.15 E
(ariables e)-.25 E(xported by the GNU History Library)-.15 E(.)-.65 E F2
-(int)108 465.6 Q F1(history_base)2.5 E F0(The logical of)108 477.6 Q
-(fset of the \214rst entry in the history list.)-.25 E F2(int)108 501.6
+(int)108 513.6 Q F1(history_base)2.5 E F0(The logical of)108 525.6 Q
+(fset of the \214rst entry in the history list.)-.25 E F2(int)108 549.6
Q F1(history_length)2.5 E F0
-(The number of entries currently stored in the history list.)108 513.6 Q
-F2(int)108 537.6 Q F1(history_max_entries)2.5 E F0
-(The maximum number of history entries.)108 549.6 Q
+(The number of entries currently stored in the history list.)108 561.6 Q
+F2(int)108 585.6 Q F1(history_max_entries)2.5 E F0
+(The maximum number of history entries.)108 597.6 Q
(This must be changed using)5 E F1(sti\215e_history\(\))2.5 E F0(.)A F2
-(int)108 573.6 Q F1(history_wite_timestamps)2.5 E F0 1.468
+(int)108 621.6 Q F1(history_wite_timestamps)2.5 E F0 .484
(If non-zero, timestamps are written to the history \214le, so the)108
-585.6 R 3.968(yc)-.15 G 1.468(an be preserv)-3.968 F 1.468
-(ed between sessions.)-.15 F(The)6.468 E(def)108 597.6 Q .438(ault v)-.1
-F .439(alue is 0, meaning that timestamps are not sa)-.25 F -.15(ve)-.2
-G 2.939(d. The).15 F .439(current timestamp format uses the v)2.939 F
-.439(alue of)-.25 F F2(history_comment_c)108 609.6 Q(har)-.15 E F0 .051
+633.6 R 2.983(yc)-.15 G .483(an be preserv)-2.983 F .483
+(ed between sessions.)-.15 F .483(The de-)5.483 F -.1(fa)108 645.6 S
+.994(ult v).1 F .994(alue is 0, meaning that timestamps are not sa)-.25
+F -.15(ve)-.2 G 3.494(d. The).15 F .994
+(current timestamp format uses the v)3.494 F .995(alue of)-.25 F F2
+(history_comment_c)108 657.6 Q(har)-.15 E F0 .051
(to delimit timestamp entries in the history \214le.)2.552 F .051
(If that v)5.051 F .051(ariable does not ha)-.25 F .351 -.15(ve a v)-.2
-H(alue)-.1 E(\(the def)108 621.6 Q
-(ault\), timestamps will not be written.)-.1 E F2 -.15(ch)108 645.6 S
+H(alue)-.1 E(\(the def)108 669.6 Q
+(ault\), timestamps will not be written.)-.1 E F2 -.15(ch)108 693.6 S
(ar).15 E F1(history_expansion_char)2.5 E F0
-(The character that introduces a history e)108 657.6 Q -.15(ve)-.25 G
+(The character that introduces a history e)108 705.6 Q -.15(ve)-.25 G
2.5(nt. The).15 F(def)2.5 E(ault is)-.1 E F1(!)2.5 E F0 5(.S)C
(etting this to 0 inhibits history e)-5 E(xpansion.)-.15 E F2 -.15(ch)
-108 681.6 S(ar).15 E F1(history_subst_char)2.5 E F0
-(The character that in)108 693.6 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(sw).1 G
-(ord substitution if found at the start of a line.)-2.6 E(The def)5 E
-(ault is)-.1 E F1(^)2.5 E F0(.)A F2 -.15(ch)108 717.6 S(ar).15 E F1
-(history_comment_char)2.5 E F0 1.392(During tok)108 729.6 R 1.392
-(enization, if this character is seen as the \214rst character of a w)
--.1 F 1.393(ord, then it and all subsequent)-.1 F(GNU History 6.3)72 768
-Q(2017 October 8)133.735 E(6)197.895 E 0 Cg EP
+108 729.6 S(ar).15 E F1(history_subst_char)2.5 E F0(GNU History 8.0)72
+768 Q(2019 No)126.385 E -.15(ve)-.15 G(mber 15).15 E(6)190.545 E 0 Cg EP
%%Page: 7 7
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(HIST)72 48 Q(OR)-.18 E 124.845(Y\(3\) Library)
--.65 F(Functions Manual)2.5 E(HIST)127.345 E(OR)-.18 E(Y\(3\))-.65 E .31
-(characters up to a ne)108 84 R .31
-(wline are ignored, suppressing history e)-.25 F .309
-(xpansion for the remainder of the line.)-.15 F .309(This is)5.309 F
-(disabled by def)108 96 Q(ault.)-.1 E/F1 10/Times-Italic@0 SF -.15(ch)
-108 120 S(ar *).15 E/F2 10/Times-Bold@0 SF(history_w)2.5 E
-(ord_delimiters)-.1 E F0(The characters that separate tok)108 132 Q
-(ens for)-.1 E F2(history_tok)2.5 E(enize\(\))-.1 E F0 5(.T)C(he def)-5
-E(ault v)-.1 E(alue is)-.25 E F2 2.5("\\)2.5 G(t\\n\(\)<>;&|")-2.5 E F0
-(.)A F1 -.15(ch)108 156 S(ar *).15 E F2(history_no_expand_chars)2.5 E F0
-2.054(The list of characters which inhibit history e)108 168 R 2.054
-(xpansion if found immediately follo)-.15 F(wing)-.25 E F2
-(history_expan-)4.555 E(sion_char)108 180 Q F0 5(.T)C(he def)-5 E
-(ault is space, tab, ne)-.1 E(wline,)-.25 E F2(\\r)2.5 E F0 2.5(,a)C(nd)
--2.5 E F2(=)2.5 E F0(.)A F1 -.15(ch)108 204 S(ar *).15 E F2
+-.65 F(Functions Manual)2.5 E(HIST)127.345 E(OR)-.18 E(Y\(3\))-.65 E
+(The character that in)108 84 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(sw).1 G
+(ord substitution if found at the start of a line.)-2.6 E(The def)5 E
+(ault is)-.1 E/F1 10/Times-Bold@0 SF(^)2.5 E F0(.)A/F2 10/Times-Italic@0
+SF -.15(ch)108 108 S(ar).15 E F1(history_comment_char)2.5 E F0 .116
+(During tok)108 120 R .117
+(enization, if this character is seen as the \214rst character of a w)
+-.1 F .117(ord, then it and all subsequent char)-.1 F(-)-.2 E .277
+(acters up to a ne)108 132 R .276
+(wline are ignored, suppressing history e)-.25 F .276
+(xpansion for the remainder of the line.)-.15 F .276(This is dis-)5.276
+F(abled by def)108 144 Q(ault.)-.1 E F2 -.15(ch)108 168 S(ar *).15 E F1
+(history_w)2.5 E(ord_delimiters)-.1 E F0
+(The characters that separate tok)108 180 Q(ens for)-.1 E F1
+(history_tok)2.5 E(enize\(\))-.1 E F0 5(.T)C(he def)-5 E(ault v)-.1 E
+(alue is)-.25 E F1 2.5("\\)2.5 G(t\\n\(\)<>;&|")-2.5 E F0(.)A F2 -.15
+(ch)108 204 S(ar *).15 E F1(history_no_expand_chars)2.5 E F0 2.054
+(The list of characters which inhibit history e)108 216 R 2.054
+(xpansion if found immediately follo)-.15 F(wing)-.25 E F1
+(history_expan-)4.555 E(sion_char)108 228 Q F0 5(.T)C(he def)-5 E
+(ault is space, tab, ne)-.1 E(wline,)-.25 E F1(\\r)2.5 E F0 2.5(,a)C(nd)
+-2.5 E F1(=)2.5 E F0(.)A F2 -.15(ch)108 252 S(ar *).15 E F1
(history_sear)2.5 E(ch_delimiter_chars)-.18 E F0 .401(The list of addit\
ional characters which can delimit a history search string, in addition\
- to space, tab,)108 216 R F1(:)2.901 E F0(and)2.901 E F1(?)2.901 E F0
-(in the case of a substring search.)108 228 Q(The def)5 E(ault is empty)
--.1 E(.)-.65 E F1(int)108 252 Q F2(history_quotes_inhibit_expansion)2.5
-E F0 .86(If non-zero, double-quoted w)108 264 R .861
+ to space, tab,)108 264 R F2(:)2.901 E F0(and)2.901 E F2(?)2.901 E F0
+(in the case of a substring search.)108 276 Q(The def)5 E(ault is empty)
+-.1 E(.)-.65 E F2(int)108 300 Q F1(history_quotes_inhibit_expansion)2.5
+E F0 .86(If non-zero, double-quoted w)108 312 R .861
(ords are not scanned for the history e)-.1 F .861
-(xpansion character or the history com-)-.15 F(ment character)108 276 Q
-5(.T)-.55 G(he def)-5 E(ault v)-.1 E(alue is 0.)-.25 E F1(rl_lineb)108
-300 Q(uf_func_t *)-.2 E F2(history_inhibit_expansion_function)2.5 E F0
-.348(This should be set to the address of a function that tak)108 312 R
-.348(es tw)-.1 F 2.848(oa)-.1 G -.18(rg)-2.848 G .347(uments: a).18 F F2
-.347(char *)2.847 F F0(\()2.847 E F1(string)A F0 2.847(\)a)C .347(nd an)
--2.847 F F2(int)2.847 E F0(inde)2.847 E(x)-.15 E .227
-(into that string \()108 324 R F1(i)A F0 2.727(\). It)B .227
+(xpansion character or the history com-)-.15 F(ment character)108 324 Q
+5(.T)-.55 G(he def)-5 E(ault v)-.1 E(alue is 0.)-.25 E F2(rl_lineb)108
+348 Q(uf_func_t *)-.2 E F1(history_inhibit_expansion_function)2.5 E F0
+.348(This should be set to the address of a function that tak)108 360 R
+.348(es tw)-.1 F 2.848(oa)-.1 G -.18(rg)-2.848 G .347(uments: a).18 F F1
+.347(char *)2.847 F F0(\()2.847 E F2(string)A F0 2.847(\)a)C .347(nd an)
+-2.847 F F1(int)2.847 E F0(inde)2.847 E(x)-.15 E .227
+(into that string \()108 372 R F2(i)A F0 2.727(\). It)B .227
(should return a non-zero v)2.727 F .227(alue if the history e)-.25 F
-.227(xpansion starting at)-.15 F F1(string[i])2.728 E F0 .228
-(should not)2.728 F .019(be performed; zero if the e)108 336 R .019
+.227(xpansion starting at)-.15 F F2(string[i])2.728 E F0 .228
+(should not)2.728 F .019(be performed; zero if the e)108 384 R .019
(xpansion should be done.)-.15 F .019
-(It is intended for use by applications lik)5.019 F(e)-.1 E F2(bash)
-2.519 E F0 .018(that use)2.519 F(the history e)108 348 Q
+(It is intended for use by applications lik)5.019 F(e)-.1 E F1(bash)
+2.519 E F0 .018(that use)2.519 F(the history e)108 396 Q
(xpansion character for additional purposes.)-.15 E(By def)5 E
-(ault, this v)-.1 E(ariable is set to)-.25 E F2(NULL)2.5 E F0(.)A/F3
-10.95/Times-Bold@0 SF(FILES)72 364.8 Q F1(~/.history)109.666 376.8 Q F0
-(Def)144 388.8 Q(ault \214lename for reading and writing sa)-.1 E -.15
-(ve)-.2 G 2.5(dh).15 G(istory)-2.5 E F3(SEE ALSO)72 405.6 Q F1
-(The Gnu Readline Libr)108 417.6 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E
-(ox and Chet Rame)-.15 E(y)-.15 E F1(The Gnu History Libr)108 429.6 Q
+(ault, this v)-.1 E(ariable is set to)-.25 E F1(NULL)2.5 E F0(.)A/F3
+10.95/Times-Bold@0 SF(FILES)72 412.8 Q F2(~/.history)109.666 424.8 Q F0
+(Def)144 436.8 Q(ault \214lename for reading and writing sa)-.1 E -.15
+(ve)-.2 G 2.5(dh).15 G(istory)-2.5 E F3(SEE ALSO)72 453.6 Q F2
+(The Gnu Readline Libr)108 465.6 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E
+(ox and Chet Rame)-.15 E(y)-.15 E F2(The Gnu History Libr)108 477.6 Q
(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E
-F1(bash)108 441.6 Q F0(\(1\))A F1 -.37(re)108 453.6 S(adline).37 E F0
-(\(3\))A F3 -.548(AU)72 470.4 S(THORS).548 E F0(Brian F)108 482.4 Q
+F2(bash)108 489.6 Q F0(\(1\))A F2 -.37(re)108 501.6 S(adline).37 E F0
+(\(3\))A F3 -.548(AU)72 518.4 S(THORS).548 E F0(Brian F)108 530.4 Q
(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E(bfox@gnu.or)108
-494.4 Q(g)-.18 E(Chet Rame)108 511.2 Q 1.3 -.65(y, C)-.15 H(ase W).65 E
+542.4 Q(g)-.18 E(Chet Rame)108 559.2 Q 1.3 -.65(y, C)-.15 H(ase W).65 E
(estern Reserv)-.8 E 2.5(eU)-.15 G(ni)-2.5 E -.15(ve)-.25 G(rsity).15 E
-(chet.rame)108 523.2 Q(y@case.edu)-.15 E F3 -.11(BU)72 540 S 2.738(GR)
-.11 G(EPOR)-2.738 E(TS)-.438 E F0 .16(If you \214nd a b)108 552 R .16
-(ug in the)-.2 F F2(history)2.66 E F0(library)2.66 E 2.66(,y)-.65 G .16
+(chet.rame)108 571.2 Q(y@case.edu)-.15 E F3 -.11(BU)72 588 S 2.738(GR)
+.11 G(EPOR)-2.738 E(TS)-.438 E F0 .16(If you \214nd a b)108 600 R .16
+(ug in the)-.2 F F1(history)2.66 E F0(library)2.66 E 2.66(,y)-.65 G .16
(ou should report it.)-2.66 F .16(But \214rst, you should mak)5.16 F
-2.66(es)-.1 G .16(ure that it really is)-2.66 F 2.5(ab)108 564 S
-(ug, and that it appears in the latest v)-2.7 E(ersion of the)-.15 E F2
+2.66(es)-.1 G .16(ure that it really is)-2.66 F 2.5(ab)108 612 S
+(ug, and that it appears in the latest v)-2.7 E(ersion of the)-.15 E F1
(history)2.5 E F0(library that you ha)2.5 E -.15(ve)-.2 G(.).15 E .705
-(Once you ha)108 580.8 R 1.005 -.15(ve d)-.2 H .705(etermined that a b)
+(Once you ha)108 628.8 R 1.005 -.15(ve d)-.2 H .705(etermined that a b)
.15 F .704(ug actually e)-.2 F .704(xists, mail a b)-.15 F .704
-(ug report to)-.2 F F1 -.2(bu)3.204 G(g\255r).2 E(eadline)-.37 E F0(@)A
-F1(gnu.or)A(g)-.37 E F0 5.704(.I)C 3.204(fy)-5.704 G(ou)-3.204 E(ha)108
-592.8 Q 1.809 -.15(ve a \214)-.2 H 1.509
+(ug report to)-.2 F F2 -.2(bu)3.204 G(g\255r).2 E(eadline)-.37 E F0(@)A
+F2(gnu.or)A(g)-.37 E F0 5.704(.I)C 3.204(fy)-5.704 G(ou)-3.204 E(ha)108
+640.8 Q 1.809 -.15(ve a \214)-.2 H 1.509
(x, you are welcome to mail that as well!).15 F 1.51
(Suggestions and `philosophical' b)6.51 F 1.51(ug reports may be)-.2 F
-(mailed to)108 604.8 Q F1 -.2(bu)2.5 G(g-r).2 E(eadline)-.37 E F0(@)A F1
-(gnu.or)A(g)-.37 E F0(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F2
-(gnu.bash.b)2.5 E(ug)-.2 E F0(.)A(Comments and b)108 621.6 Q
-(ug reports concerning this manual page should be directed to)-.2 E F1
+(mailed to)108 652.8 Q F2 -.2(bu)2.5 G(g-r).2 E(eadline)-.37 E F0(@)A F2
+(gnu.or)A(g)-.37 E F0(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F1
+(gnu.bash.b)2.5 E(ug)-.2 E F0(.)A(Comments and b)108 669.6 Q
+(ug reports concerning this manual page should be directed to)-.2 E F2
-.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E(.edu)-.15 E F0(.).25 E
-(GNU History 6.3)72 768 Q(2017 October 8)133.735 E(7)197.895 E 0 Cg EP
+(GNU History 8.0)72 768 Q(2019 No)126.385 E -.15(ve)-.15 G(mber 15).15 E
+(7)190.545 E 0 Cg EP
%%Trailer
end
%%EOF
diff --git a/doc/hsuser.texi b/doc/hsuser.texi
index 521ccc7..998eb65 100644
--- a/doc/hsuser.texi
+++ b/doc/hsuser.texi
@@ -164,7 +164,7 @@ When editing is complete, the edited commands are echoed and executed.
In the second form, @var{command} is re-executed after each instance
of @var{pat} in the selected command is replaced by @var{rep}.
-@var{command} is intepreted the same as @var{first} above.
+@var{command} is interpreted the same as @var{first} above.
A useful alias to use with the @code{fc} command is @code{r='fc -s'}, so
that typing @samp{r cc} runs the last command beginning with @code{cc}
@@ -370,11 +370,13 @@ containing @var{string}.
The trailing
@samp{?} may be omitted if the @var{string} is followed immediately by
a newline.
+If @var{string} is missing, the string from the most recent search is used;
+it is an error if there is no previous search string.
@item @code{^@var{string1}^@var{string2}^}
Quick Substitution. Repeat the last command, replacing @var{string1}
with @var{string2}. Equivalent to
-@code{!!:s/@var{string1}/@var{string2}/}.
+@code{!!:s^@var{string1}^@var{string2}^}.
@item @code{!#}
The entire command line typed so far.
@@ -426,7 +428,8 @@ The first argument; that is, word 1.
The last argument.
@item %
-The word matched by the most recent @samp{?@var{string}?} search.
+The first word matched by the most recent @samp{?@var{string}?} search,
+if the search string begins with a character that is part of a word.
@item @var{x}-@var{y}
A range of words; @samp{-@var{y}} abbreviates @samp{0-@var{y}}.
@@ -441,6 +444,7 @@ Abbreviates @samp{@var{x}-$}
@item @var{x}-
Abbreviates @samp{@var{x}-$} like @samp{@var{x}*}, but omits the last word.
+If @samp{x} is missing, it defaults to 0.
@end table
@@ -452,6 +456,7 @@ previous command is used as the event.
After the optional word designator, you can add a sequence of one or more
of the following modifiers, each preceded by a @samp{:}.
+These modify, or edit, the word or words selected from the history event.
@table @code
@@ -478,15 +483,25 @@ Quote the substituted words, escaping further substitutions.
@item x
Quote the substituted words as with @samp{q},
but break into words at spaces, tabs, and newlines.
+The @samp{q} and @samp{x} modifiers are mutually exclusive; the last one
+supplied is used.
@end ifset
@item s/@var{old}/@var{new}/
Substitute @var{new} for the first occurrence of @var{old} in the
-event line. Any delimiter may be used in place of @samp{/}.
+event line.
+Any character may be used as the delimiter in place of @samp{/}.
The delimiter may be quoted in @var{old} and @var{new}
with a single backslash. If @samp{&} appears in @var{new},
it is replaced by @var{old}. A single backslash will quote
-the @samp{&}. The final delimiter is optional if it is the last
+the @samp{&}.
+If @var{old} is null, it is set to the last @var{old}
+substituted, or, if no previous history substitutions took place,
+the last @var{string}
+in a !?@var{string}@code{[?]}
+search.
+If @var{new} is is null, each matching @var{old} is deleted.
+The final delimiter is optional if it is the last
character on the input line.
@item &
@@ -499,6 +514,7 @@ conjunction with @samp{s}, as in @code{gs/@var{old}/@var{new}/},
or with @samp{&}.
@item G
-Apply the following @samp{s} modifier once to each word in the event.
+Apply the following @samp{s} or @samp{&} modifier once to each word
+in the event.
@end table
diff --git a/doc/readline.0 b/doc/readline.0
index d0f6fe0..6a11720 100644
--- a/doc/readline.0
+++ b/doc/readline.0
@@ -18,10 +18,10 @@ READLINE(3) Library Functions Manual READLINE(3)
DESCRIPTION
readline will read a line from the terminal and return it, using prompt
- as a prompt. If prompt is NULL or the empty string, no prompt is
- issued. The line returned is allocated with malloc(3); the caller must
- free it when finished. The line returned has the final newline
- removed, so only the text of the line remains.
+ as a prompt. If prompt is NULL or the empty string, no prompt is is-
+ sued. The line returned is allocated with malloc(3); the caller must
+ free it when finished. The line returned has the final newline re-
+ moved, so only the text of the line remains.
readline offers editing capabilities while the user is entering the
line. By default, the line editing commands are similar to those of
@@ -62,8 +62,8 @@ READLINE(3) Library Functions Manual READLINE(3)
INITIALIZATION FILE
Readline is customized by putting commands in an initialization file
(the inputrc file). The name of this file is taken from the value of
- the INPUTRC environment variable. If that variable is unset, the
- default is ~/.inputrc. If that file does not exist or cannot be read,
+ the INPUTRC environment variable. If that variable is unset, the de-
+ fault is ~/.inputrc. If that file does not exist or cannot be read,
the ultimate default is /etc/inputrc. When a program which uses the
readline library starts up, the init file is read, and the key bindings
and variables are set. There are only a few basic constructs allowed
@@ -263,15 +263,15 @@ READLINE(3) Library Functions Manual READLINE(3)
mands.
enable-keypad (Off)
When set to On, readline will try to enable the application key-
- pad when it is called. Some systems need this to enable the
- arrow keys.
+ pad when it is called. Some systems need this to enable the ar-
+ row keys.
enable-meta-key (On)
When set to On, readline will try to enable any meta modifier
key the terminal claims to support when it is called. On many
terminals, the meta key is used to send eight-bit characters.
expand-tilde (Off)
- If set to On, tilde expansion is performed when readline
- attempts word completion.
+ If set to On, tilde expansion is performed when readline at-
+ tempts word completion.
history-preserve-point (Off)
If set to On, the history code attempts to place point at the
same location on each history line retrieved with previous-his-
@@ -291,8 +291,8 @@ READLINE(3) Library Functions Manual READLINE(3)
new line.
input-meta (Off)
If set to On, readline will enable eight-bit input (that is, it
- will not clear the eighth bit in the characters it reads),
- regardless of what the terminal claims it can support. The name
+ will not clear the eighth bit in the characters it reads), re-
+ gardless of what the terminal claims it can support. The name
meta-flag is a synonym for this variable. The default is Off,
but readline will set it to On if the locale contains eight-bit
characters.
@@ -312,8 +312,8 @@ READLINE(3) Library Functions Manual READLINE(3)
Specifies the duration readline will wait for a character when
reading an ambiguous key sequence (one that can form a complete
key sequence using the input read so far, or can take additional
- input to complete a longer key sequence). If no input is
- received within the timeout, readline will use the shorter but
+ input to complete a longer key sequence). If no input is re-
+ ceived within the timeout, readline will use the shorter but
complete key sequence. The value is specified in milliseconds,
so a value of 1000 means that readline will wait one second for
additional input. If this variable is set to a value less than
@@ -327,8 +327,8 @@ READLINE(3) Library Functions Manual READLINE(3)
played with a preceding asterisk (*).
mark-symlinked-directories (Off)
If set to On, completed names which are symbolic links to direc-
- tories have a slash appended (subject to the value of
- mark-directories).
+ tories have a slash appended (subject to the value of mark-di-
+ rectories).
match-hidden-files (On)
This variable, when set to On, causes readline to match files
whose names begin with a `.' (hidden files) when performing
@@ -365,8 +365,8 @@ READLINE(3) Library Functions Manual READLINE(3)
a fashion similar to show-all-if-ambiguous. If set to On, words
which have more than one possible completion without any possi-
ble partial completion (the possible completions don't share a
- common prefix) cause the matches to be listed immediately
- instead of ringing the bell.
+ common prefix) cause the matches to be listed immediately in-
+ stead of ringing the bell.
show-mode-in-prompt (Off)
If set to On, add a string to the beginning of the prompt indi-
cating the editing mode: emacs, vi command, or vi insertion.
@@ -415,26 +415,26 @@ READLINE(3) Library Functions Manual READLINE(3)
mode The mode= form of the $if directive is used to test
whether readline is in emacs or vi mode. This may be
- used in conjunction with the set keymap command, for
- instance, to set bindings in the emacs-standard and
- emacs-ctlx keymaps only if readline is starting out in
- emacs mode.
+ used in conjunction with the set keymap command, for in-
+ stance, to set bindings in the emacs-standard and emacs-
+ ctlx keymaps only if readline is starting out in emacs
+ mode.
term The term= form may be used to include terminal-specific
key bindings, perhaps to bind the key sequences output by
the terminal's function keys. The word on the right side
of the = is tested against the full name of the terminal
and the portion of the terminal name before the first -.
- This allows sun to match both sun and sun-cmd, for
- instance.
+ This allows sun to match both sun and sun-cmd, for in-
+ stance.
version
The version test may be used to perform comparisons
against specific readline versions. The version expands
to the current readline version. The set of comparison
operators includes =, (and ==), !=, <=, >=, <, and >.
- The version number supplied on the right side of the
- operator consists of a major version number, an optional
+ The version number supplied on the right side of the op-
+ erator consists of a major version number, an optional
decimal point, and an optional minor version (e.g., 7.1).
If the minor version is omitted, it is assumed to be 0.
The operator may be separated from the string version and
@@ -442,8 +442,8 @@ READLINE(3) Library Functions Manual READLINE(3)
application
The application construct is used to include application-
- specific settings. Each program using the readline
- library sets the application name, and an initialization
+ specific settings. Each program using the readline li-
+ brary sets the application name, and an initialization
file can test for a particular value. This could be used
to bind key sequences to functions useful for a specific
program. For instance, the following command adds a key
@@ -517,8 +517,8 @@ READLINE(3) Library Functions Manual READLINE(3)
In the following descriptions, point refers to the current cursor posi-
tion, and mark refers to a cursor position saved by the set-mark com-
- mand. The text between the point and mark is referred to as the
- region.
+ mand. The text between the point and mark is referred to as the re-
+ gion.
Commands for Moving
beginning-of-line (C-a)
@@ -557,8 +557,8 @@ READLINE(3) Library Functions Manual READLINE(3)
Commands for Manipulating the History
accept-line (Newline, Return)
Accept the line regardless of where the cursor is. If this line
- is non-empty, it may be added to the history list for future
- recall with add_history(). If the line is a modified history
+ is non-empty, it may be added to the history list for future re-
+ call with add_history(). If the line is a modified history
line, the history line is restored to its original state.
previous-history (C-p)
Fetch the previous command from the history list, moving back in
@@ -588,9 +588,9 @@ READLINE(3) Library Functions Manual READLINE(3)
search for a string supplied by the user.
history-search-backward
Search backward through the history for the string of characters
- between the start of the current line and the current cursor
- position (the point). The search string must match at the
- beginning of a history line. This is a non-incremental search.
+ between the start of the current line and the current cursor po-
+ sition (the point). The search string must match at the begin-
+ ning of a history line. This is a non-incremental search.
history-search-forward
Search forward through the history for the string of characters
between the start of the current line and the point. The search
@@ -598,20 +598,20 @@ READLINE(3) Library Functions Manual READLINE(3)
non-incremental search.
history-substring-search-backward
Search backward through the history for the string of characters
- between the start of the current line and the current cursor
- position (the point). The search string may match anywhere in a
+ between the start of the current line and the current cursor po-
+ sition (the point). The search string may match anywhere in a
history line. This is a non-incremental search.
history-substring-search-forward
Search forward through the history for the string of characters
between the start of the current line and the point. The search
- string may match anywhere in a history line. This is a non-
- incremental search.
+ string may match anywhere in a history line. This is a non-in-
+ cremental search.
yank-nth-arg (M-C-y)
Insert the first argument to the previous command (usually the
second word on the previous line) at point. With an argument n,
insert the nth word from the previous command (the words in the
- previous command begin with word 0). A negative argument
- inserts the nth word from the end of the previous command. Once
+ previous command begin with word 0). A negative argument in-
+ serts the nth word from the end of the previous command. Once
the argument n is computed, the argument is extracted as if the
"!n" history expansion had been specified.
yank-last-arg (M-., M-_)
@@ -661,14 +661,14 @@ READLINE(3) Library Functions Manual READLINE(3)
point over that word as well. If point is at the end of the
line, this transposes the last two words on the line.
upcase-word (M-u)
- Uppercase the current (or following) word. With a negative
- argument, uppercase the previous word, but do not move point.
+ Uppercase the current (or following) word. With a negative ar-
+ gument, uppercase the previous word, but do not move point.
downcase-word (M-l)
- Lowercase the current (or following) word. With a negative
- argument, lowercase the previous word, but do not move point.
+ Lowercase the current (or following) word. With a negative ar-
+ gument, lowercase the previous word, but do not move point.
capitalize-word (M-c)
- Capitalize the current (or following) word. With a negative
- argument, capitalize the previous word, but do not move point.
+ Capitalize the current (or following) word. With a negative ar-
+ gument, capitalize the previous word, but do not move point.
overwrite-mode
Toggle overwrite mode. With an explicit positive numeric argu-
ment, switches to overwrite mode. With an explicit non-positive
@@ -732,19 +732,19 @@ READLINE(3) Library Functions Manual READLINE(3)
This is another way to specify an argument. If this command is
followed by one or more digits, optionally with a leading minus
sign, those digits define the argument. If the command is fol-
- lowed by digits, executing universal-argument again ends the
- numeric argument, but is otherwise ignored. As a special case,
- if this command is immediately followed by a character that is
- neither a digit or minus sign, the argument count for the next
- command is multiplied by four. The argument count is initially
+ lowed by digits, executing universal-argument again ends the nu-
+ meric argument, but is otherwise ignored. As a special case, if
+ this command is immediately followed by a character that is nei-
+ ther a digit or minus sign, the argument count for the next com-
+ mand is multiplied by four. The argument count is initially
one, so executing this function the first time makes the argu-
ment count four, a second time makes the argument count sixteen,
and so on.
Completing
complete (TAB)
- Attempt to perform completion on the text before point. The
- actual completion performed is application-specific. Bash, for
+ Attempt to perform completion on the text before point. The ac-
+ tual completion performed is application-specific. Bash, for
instance, attempts completion treating the text as a variable
(if the text begins with $), username (if the text begins with
~), hostname (if the text begins with @), or command (including
@@ -768,42 +768,41 @@ READLINE(3) Library Functions Manual READLINE(3)
completions, inserting each match in turn. At the end of the
list of completions, the bell is rung (subject to the setting of
bell-style) and the original text is restored. An argument of n
- moves n positions forward in the list of matches; a negative
- argument may be used to move backward through the list. This
- command is intended to be bound to TAB, but is unbound by
- default.
+ moves n positions forward in the list of matches; a negative ar-
+ gument may be used to move backward through the list. This com-
+ mand is intended to be bound to TAB, but is unbound by default.
menu-complete-backward
- Identical to menu-complete, but moves backward through the list
- of possible completions, as if menu-complete had been given a
+ Identical to menu-complete, but moves backward through the list
+ of possible completions, as if menu-complete had been given a
negative argument. This command is unbound by default.
delete-char-or-list
- Deletes the character under the cursor if not at the beginning
- or end of the line (like delete-char). If at the end of the
+ Deletes the character under the cursor if not at the beginning
+ or end of the line (like delete-char). If at the end of the
line, behaves identically to possible-completions.
Keyboard Macros
start-kbd-macro (C-x ()
- Begin saving the characters typed into the current keyboard
+ Begin saving the characters typed into the current keyboard
macro.
end-kbd-macro (C-x ))
Stop saving the characters typed into the current keyboard macro
and store the definition.
call-last-kbd-macro (C-x e)
- Re-execute the last keyboard macro defined, by making the char-
+ Re-execute the last keyboard macro defined, by making the char-
acters in the macro appear as if typed at the keyboard.
print-last-kbd-macro ()
- Print the last keyboard macro defined in a format suitable for
+ Print the last keyboard macro defined in a format suitable for
the inputrc file.
Miscellaneous
re-read-init-file (C-x C-r)
- Read in the contents of the inputrc file, and incorporate any
+ Read in the contents of the inputrc file, and incorporate any
bindings or variable assignments found there.
abort (C-g)
- Abort the current editing command and ring the terminal's bell
+ Abort the current editing command and ring the terminal's bell
(subject to the setting of bell-style).
do-lowercase-version (M-A, M-B, M-x, ...)
- If the metafied character x is uppercase, run the command that
+ If the metafied character x is uppercase, run the command that
is bound to the corresponding metafied lowercase character. The
behavior is undefined if x is already lowercase.
prefix-meta (ESC)
@@ -811,80 +810,80 @@ READLINE(3) Library Functions Manual READLINE(3)
undo (C-_, C-x C-u)
Incremental undo, separately remembered for each line.
revert-line (M-r)
- Undo all changes made to this line. This is like executing the
- undo command enough times to return the line to its initial
+ Undo all changes made to this line. This is like executing the
+ undo command enough times to return the line to its initial
state.
tilde-expand (M-&)
Perform tilde expansion on the current word.
set-mark (C-@, M-<space>)
- Set the mark to the point. If a numeric argument is supplied,
+ Set the mark to the point. If a numeric argument is supplied,
the mark is set to that position.
exchange-point-and-mark (C-x C-x)
- Swap the point with the mark. The current cursor position is
- set to the saved position, and the old cursor position is saved
+ Swap the point with the mark. The current cursor position is
+ set to the saved position, and the old cursor position is saved
as the mark.
character-search (C-])
A character is read and point is moved to the next occurrence of
- that character. A negative count searches for previous occur-
+ that character. A negative count searches for previous occur-
rences.
character-search-backward (M-C-])
- A character is read and point is moved to the previous occur-
- rence of that character. A negative count searches for subse-
+ A character is read and point is moved to the previous occur-
+ rence of that character. A negative count searches for subse-
quent occurrences.
skip-csi-sequence
- Read enough characters to consume a multi-key sequence such as
- those defined for keys like Home and End. Such sequences begin
+ Read enough characters to consume a multi-key sequence such as
+ those defined for keys like Home and End. Such sequences begin
with a Control Sequence Indicator (CSI), usually ESC-[. If this
- sequence is bound to "\[", keys producing such sequences will
- have no effect unless explicitly bound to a readline command,
- instead of inserting stray characters into the editing buffer.
+ sequence is bound to "\[", keys producing such sequences will
+ have no effect unless explicitly bound to a readline command,
+ instead of inserting stray characters into the editing buffer.
This is unbound by default, but usually bound to ESC-[.
insert-comment (M-#)
- Without a numeric argument, the value of the readline com-
- ment-begin variable is inserted at the beginning of the current
+ Without a numeric argument, the value of the readline com-
+ ment-begin variable is inserted at the beginning of the current
line. If a numeric argument is supplied, this command acts as a
- toggle: if the characters at the beginning of the line do not
- match the value of comment-begin, the value is inserted, other-
+ toggle: if the characters at the beginning of the line do not
+ match the value of comment-begin, the value is inserted, other-
wise the characters in comment-begin are deleted from the begin-
- ning of the line. In either case, the line is accepted as if a
- newline had been typed. The default value of comment-begin
- makes the current line a shell comment. If a numeric argument
- causes the comment character to be removed, the line will be
- executed by the shell.
+ ning of the line. In either case, the line is accepted as if a
+ newline had been typed. The default value of comment-begin
+ makes the current line a shell comment. If a numeric argument
+ causes the comment character to be removed, the line will be ex-
+ ecuted by the shell.
dump-functions
- Print all of the functions and their key bindings to the read-
+ Print all of the functions and their key bindings to the read-
line output stream. If a numeric argument is supplied, the out-
- put is formatted in such a way that it can be made part of an
+ put is formatted in such a way that it can be made part of an
inputrc file.
dump-variables
- Print all of the settable variables and their values to the
- readline output stream. If a numeric argument is supplied, the
+ Print all of the settable variables and their values to the
+ readline output stream. If a numeric argument is supplied, the
output is formatted in such a way that it can be made part of an
inputrc file.
dump-macros
- Print all of the readline key sequences bound to macros and the
- strings they output. If a numeric argument is supplied, the
+ Print all of the readline key sequences bound to macros and the
+ strings they output. If a numeric argument is supplied, the
output is formatted in such a way that it can be made part of an
inputrc file.
emacs-editing-mode (C-e)
- When in vi command mode, this causes a switch to emacs editing
+ When in vi command mode, this causes a switch to emacs editing
mode.
vi-editing-mode (M-C-j)
- When in emacs editing mode, this causes a switch to vi editing
+ When in emacs editing mode, this causes a switch to vi editing
mode.
DEFAULT KEY BINDINGS
- The following is a list of the default emacs and vi bindings. Charac-
- ters with the eighth bit set are written as M-<character>, and are
- referred to as metafied characters. The printable ASCII characters not
- mentioned in the list of emacs standard bindings are bound to the
- self-insert function, which just inserts the given character into the
+ The following is a list of the default emacs and vi bindings. Charac-
+ ters with the eighth bit set are written as M-<character>, and are re-
+ ferred to as metafied characters. The printable ASCII characters not
+ mentioned in the list of emacs standard bindings are bound to the
+ self-insert function, which just inserts the given character into the
input line. In vi insertion mode, all characters not specifically men-
tioned are bound to self-insert. Characters assigned to signal genera-
tion by stty(1) or the terminal driver, such as C-Z or C-C, retain that
- function. Upper and lower case metafied characters are bound to the
- same function in the emacs mode meta keymap. The remaining characters
- are unbound, which causes readline to ring the bell (subject to the
+ function. Upper and lower case metafied characters are bound to the
+ same function in the emacs mode meta keymap. The remaining characters
+ are unbound, which causes readline to ring the bell (subject to the
setting of the bell-style variable).
Emacs Mode
@@ -1098,14 +1097,14 @@ READLINE(3) Library Functions Manual READLINE(3)
chet.ramey@case.edu
BUG REPORTS
- If you find a bug in readline, you should report it. But first, you
- should make sure that it really is a bug, and that it appears in the
+ If you find a bug in readline, you should report it. But first, you
+ should make sure that it really is a bug, and that it appears in the
latest version of the readline library that you have.
- Once you have determined that a bug actually exists, mail a bug report
- to bug-readline@gnu.org. If you have a fix, you are welcome to mail
- that as well! Suggestions and `philosophical' bug reports may be
- mailed to bug-readline@gnu.org or posted to the Usenet newsgroup
+ Once you have determined that a bug actually exists, mail a bug report
+ to bug-readline@gnu.org. If you have a fix, you are welcome to mail
+ that as well! Suggestions and `philosophical' bug reports may be
+ mailed to bug-readline@gnu.org or posted to the Usenet newsgroup
gnu.bash.bug.
Comments and bug reports concerning this manual page should be directed
diff --git a/doc/readline.3 b/doc/readline.3
index 24fad7d..beea0e3 100644
--- a/doc/readline.3
+++ b/doc/readline.3
@@ -6,9 +6,9 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
-.\" Last Change: Thu Dec 28 14:49:51 EST 2017
+.\" Last Change: Mon Nov 25 10:53:27 EST 2019
.\"
-.TH READLINE 3 "2017 December 28" "GNU Readline 8.0"
+.TH READLINE 3 "2019 November 25" "GNU Readline 8.0"
.\"
.\" File Name macro. This used to be `.PN', for Path Name,
.\" but Sun doesn't seem to like that very much.
@@ -488,6 +488,7 @@ the maximum number of history entries will be set to 500.
When set to \fBOn\fP, makes readline use a single line for display,
scrolling the input horizontally on a single screen line when it
becomes longer than the screen width rather than wrapping to a new line.
+This setting is automatically enabled for terminals of height 1.
.TP
.B input\-meta (Off)
If set to \fBOn\fP, readline will enable eight-bit input (that is,
diff --git a/doc/readline.dvi b/doc/readline.dvi
index ccc46ba..3aa42d2 100644
--- a/doc/readline.dvi
+++ b/doc/readline.dvi
Binary files differ
diff --git a/doc/readline.html b/doc/readline.html
index aa52fe9..4be7b53 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 April, 17 2019 by texi2html 1.64 -->
+<!-- Created on November, 20 2019 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -1864,65 +1864,76 @@ Word boundaries are the same as <CODE>backward-word</CODE>.
<P>
<A NAME="IDX135"></A>
-<DT><CODE>unix-word-rubout (C-w)</CODE>
+<DT><CODE>shell-transpose-words (M-C-t)</CODE>
<DD><A NAME="IDX136"></A>
+Drag the word before point past the word after point,
+moving point past that word as well.
+If the insertion point is at the end of the line, this transposes
+the last two words on the line.
+Word boundaries are the same as <CODE>shell-forward-word</CODE> and
+<CODE>shell-backward-word</CODE>.
+<P>
+
+<A NAME="IDX137"></A>
+<DT><CODE>unix-word-rubout (C-w)</CODE>
+<DD><A NAME="IDX138"></A>
Kill the word behind point, using white space as a word boundary.
The killed text is saved on the kill-ring.
<P>
-<A NAME="IDX137"></A>
+<A NAME="IDX139"></A>
<DT><CODE>unix-filename-rubout ()</CODE>
-<DD><A NAME="IDX138"></A>
+<DD><A NAME="IDX140"></A>
Kill the word behind point, using white space and the slash character
as the word boundaries.
The killed text is saved on the kill-ring.
<P>
-<A NAME="IDX139"></A>
+<A NAME="IDX141"></A>
<DT><CODE>delete-horizontal-space ()</CODE>
-<DD><A NAME="IDX140"></A>
+<DD><A NAME="IDX142"></A>
Delete all spaces and tabs around point. By default, this is unbound.
<P>
-<A NAME="IDX141"></A>
+<A NAME="IDX143"></A>
<DT><CODE>kill-region ()</CODE>
-<DD><A NAME="IDX142"></A>
+<DD><A NAME="IDX144"></A>
Kill the text in the current region.
By default, this command is unbound.
<P>
-<A NAME="IDX143"></A>
+<A NAME="IDX145"></A>
<DT><CODE>copy-region-as-kill ()</CODE>
-<DD><A NAME="IDX144"></A>
+<DD><A NAME="IDX146"></A>
Copy the text in the region to the kill buffer, so it can be yanked
right away. By default, this command is unbound.
<P>
-<A NAME="IDX145"></A>
+<A NAME="IDX147"></A>
<DT><CODE>copy-backward-word ()</CODE>
-<DD><A NAME="IDX146"></A>
+<DD><A NAME="IDX148"></A>
Copy the word before point to the kill buffer.
The word boundaries are the same as <CODE>backward-word</CODE>.
By default, this command is unbound.
<P>
-<A NAME="IDX147"></A>
+<A NAME="IDX149"></A>
<DT><CODE>copy-forward-word ()</CODE>
-<DD><A NAME="IDX148"></A>
+<DD><A NAME="IDX150"></A>
Copy the word following point to the kill buffer.
The word boundaries are the same as <CODE>forward-word</CODE>.
By default, this command is unbound.
<P>
-<A NAME="IDX149"></A>
+<A NAME="IDX151"></A>
<DT><CODE>yank (C-y)</CODE>
-<DD><A NAME="IDX150"></A>
+<DD><A NAME="IDX152"></A>
Yank the top of the kill ring into the buffer at point.
<P>
-<A NAME="IDX151"></A>
+<A NAME="IDX153"></A>
<DT><CODE>yank-pop (M-y)</CODE>
-<DD><A NAME="IDX152"></A>
+<DD><A NAME="IDX154"></A>
Rotate the kill-ring, and yank the new top. You can only do this if
the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
</DL>
@@ -1946,16 +1957,16 @@ the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
<!--docid::SEC18::-->
<DL COMPACT>
-<A NAME="IDX153"></A>
+<A NAME="IDX155"></A>
<DT><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, <small>...</small> <KBD>M--</KBD>)</CODE>
-<DD><A NAME="IDX154"></A>
+<DD><A NAME="IDX156"></A>
Add this digit to the argument already accumulating, or start a new
argument. <KBD>M--</KBD> starts a negative argument.
<P>
-<A NAME="IDX155"></A>
+<A NAME="IDX157"></A>
<DT><CODE>universal-argument ()</CODE>
-<DD><A NAME="IDX156"></A>
+<DD><A NAME="IDX158"></A>
This is another way to specify an argument.
If this command is followed by one or more digits, optionally with a
leading minus sign, those digits define the argument.
@@ -1990,33 +2001,33 @@ By default, this is not bound to a key.
<P>
<DL COMPACT>
-<A NAME="IDX157"></A>
+<A NAME="IDX159"></A>
<DT><CODE>complete (<KBD>TAB</KBD>)</CODE>
-<DD><A NAME="IDX158"></A>
+<DD><A NAME="IDX160"></A>
Attempt to perform completion on the text before point.
The actual completion performed is application-specific.
The default is filename completion.
<P>
-<A NAME="IDX159"></A>
+<A NAME="IDX161"></A>
<DT><CODE>possible-completions (M-?)</CODE>
-<DD><A NAME="IDX160"></A>
+<DD><A NAME="IDX162"></A>
List the possible completions of the text before point.
When displaying completions, Readline sets the number of columns used
for display to the value of <CODE>completion-display-width</CODE>, the value of
the environment variable <CODE>COLUMNS</CODE>, or the screen width, in that order.
<P>
-<A NAME="IDX161"></A>
+<A NAME="IDX163"></A>
<DT><CODE>insert-completions (M-*)</CODE>
-<DD><A NAME="IDX162"></A>
+<DD><A NAME="IDX164"></A>
Insert all completions of the text before point that would have
been generated by <CODE>possible-completions</CODE>.
<P>
-<A NAME="IDX163"></A>
+<A NAME="IDX165"></A>
<DT><CODE>menu-complete ()</CODE>
-<DD><A NAME="IDX164"></A>
+<DD><A NAME="IDX166"></A>
Similar to <CODE>complete</CODE>, but replaces the word to be completed
with a single match from the list of possible completions.
Repeated execution of <CODE>menu-complete</CODE> steps through the list
@@ -2031,17 +2042,17 @@ This command is intended to be bound to <KBD>TAB</KBD>, but is unbound
by default.
<P>
-<A NAME="IDX165"></A>
+<A NAME="IDX167"></A>
<DT><CODE>menu-complete-backward ()</CODE>
-<DD><A NAME="IDX166"></A>
+<DD><A NAME="IDX168"></A>
Identical to <CODE>menu-complete</CODE>, but moves backward through the list
of possible completions, as if <CODE>menu-complete</CODE> had been given a
negative argument.
<P>
-<A NAME="IDX167"></A>
+<A NAME="IDX169"></A>
<DT><CODE>delete-char-or-list ()</CODE>
-<DD><A NAME="IDX168"></A>
+<DD><A NAME="IDX170"></A>
Deletes the character under the cursor if not at the beginning or
end of the line (like <CODE>delete-char</CODE>).
If at the end of the line, behaves identically to
@@ -2070,29 +2081,29 @@ This command is unbound by default.
<!--docid::SEC20::-->
<DL COMPACT>
-<A NAME="IDX169"></A>
+<A NAME="IDX171"></A>
<DT><CODE>start-kbd-macro (C-x ()</CODE>
-<DD><A NAME="IDX170"></A>
+<DD><A NAME="IDX172"></A>
Begin saving the characters typed into the current keyboard macro.
<P>
-<A NAME="IDX171"></A>
+<A NAME="IDX173"></A>
<DT><CODE>end-kbd-macro (C-x ))</CODE>
-<DD><A NAME="IDX172"></A>
+<DD><A NAME="IDX174"></A>
Stop saving the characters typed into the current keyboard macro
and save the definition.
<P>
-<A NAME="IDX173"></A>
+<A NAME="IDX175"></A>
<DT><CODE>call-last-kbd-macro (C-x e)</CODE>
-<DD><A NAME="IDX174"></A>
+<DD><A NAME="IDX176"></A>
Re-execute the last keyboard macro defined, by making the characters
in the macro appear as if typed at the keyboard.
<P>
-<A NAME="IDX175"></A>
+<A NAME="IDX177"></A>
<DT><CODE>print-last-kbd-macro ()</CODE>
-<DD><A NAME="IDX176"></A>
+<DD><A NAME="IDX178"></A>
Print the last keboard macro defined in a format suitable for the
<VAR>inputrc</VAR> file.
<P>
@@ -2118,88 +2129,88 @@ Print the last keboard macro defined in a format suitable for the
<!--docid::SEC21::-->
<DL COMPACT>
-<A NAME="IDX177"></A>
+<A NAME="IDX179"></A>
<DT><CODE>re-read-init-file (C-x C-r)</CODE>
-<DD><A NAME="IDX178"></A>
+<DD><A NAME="IDX180"></A>
Read in the contents of the <VAR>inputrc</VAR> file, and incorporate
any bindings or variable assignments found there.
<P>
-<A NAME="IDX179"></A>
+<A NAME="IDX181"></A>
<DT><CODE>abort (C-g)</CODE>
-<DD><A NAME="IDX180"></A>
+<DD><A NAME="IDX182"></A>
Abort the current editing command and
ring the terminal's bell (subject to the setting of
<CODE>bell-style</CODE>).
<P>
-<A NAME="IDX181"></A>
+<A NAME="IDX183"></A>
<DT><CODE>do-lowercase-version (M-A, M-B, M-<VAR>x</VAR>, <small>...</small>)</CODE>
-<DD><A NAME="IDX182"></A>
+<DD><A NAME="IDX184"></A>
If the metafied character <VAR>x</VAR> is upper case, run the command
that is bound to the corresponding metafied lower case character.
The behavior is undefined if <VAR>x</VAR> is already lower case.
<P>
-<A NAME="IDX183"></A>
+<A NAME="IDX185"></A>
<DT><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE>
-<DD><A NAME="IDX184"></A>
+<DD><A NAME="IDX186"></A>
Metafy the next character typed. This is for keyboards
without a meta key. Typing <SAMP>`<KBD>ESC</KBD> f'</SAMP> is equivalent to typing
<KBD>M-f</KBD>.
<P>
-<A NAME="IDX185"></A>
+<A NAME="IDX187"></A>
<DT><CODE>undo (C-_ or C-x C-u)</CODE>
-<DD><A NAME="IDX186"></A>
+<DD><A NAME="IDX188"></A>
Incremental undo, separately remembered for each line.
<P>
-<A NAME="IDX187"></A>
+<A NAME="IDX189"></A>
<DT><CODE>revert-line (M-r)</CODE>
-<DD><A NAME="IDX188"></A>
+<DD><A NAME="IDX190"></A>
Undo all changes made to this line. This is like executing the <CODE>undo</CODE>
command enough times to get back to the beginning.
<P>
-<A NAME="IDX189"></A>
+<A NAME="IDX191"></A>
<DT><CODE>tilde-expand (M-~)</CODE>
-<DD><A NAME="IDX190"></A>
+<DD><A NAME="IDX192"></A>
Perform tilde expansion on the current word.
<P>
-<A NAME="IDX191"></A>
+<A NAME="IDX193"></A>
<DT><CODE>set-mark (C-@)</CODE>
-<DD><A NAME="IDX192"></A>
+<DD><A NAME="IDX194"></A>
Set the mark to the point. If a
numeric argument is supplied, the mark is set to that position.
<P>
-<A NAME="IDX193"></A>
+<A NAME="IDX195"></A>
<DT><CODE>exchange-point-and-mark (C-x C-x)</CODE>
-<DD><A NAME="IDX194"></A>
+<DD><A NAME="IDX196"></A>
Swap the point with the mark. The current cursor position is set to
the saved position, and the old cursor position is saved as the mark.
<P>
-<A NAME="IDX195"></A>
+<A NAME="IDX197"></A>
<DT><CODE>character-search (C-])</CODE>
-<DD><A NAME="IDX196"></A>
+<DD><A NAME="IDX198"></A>
A character is read and point is moved to the next occurrence of that
character. A negative count searches for previous occurrences.
<P>
-<A NAME="IDX197"></A>
+<A NAME="IDX199"></A>
<DT><CODE>character-search-backward (M-C-])</CODE>
-<DD><A NAME="IDX198"></A>
+<DD><A NAME="IDX200"></A>
A character is read and point is moved to the previous occurrence
of that character. A negative count searches for subsequent
occurrences.
<P>
-<A NAME="IDX199"></A>
+<A NAME="IDX201"></A>
<DT><CODE>skip-csi-sequence ()</CODE>
-<DD><A NAME="IDX200"></A>
+<DD><A NAME="IDX202"></A>
Read enough characters to consume a multi-key sequence such as those
defined for keys like Home and End. Such sequences begin with a
Control Sequence Indicator (CSI), usually ESC-[. If this sequence is
@@ -2209,9 +2220,9 @@ stray characters into the editing buffer. This is unbound by default,
but usually bound to ESC-[.
<P>
-<A NAME="IDX201"></A>
+<A NAME="IDX203"></A>
<DT><CODE>insert-comment (M-#)</CODE>
-<DD><A NAME="IDX202"></A>
+<DD><A NAME="IDX204"></A>
Without a numeric argument, the value of the <CODE>comment-begin</CODE>
variable is inserted at the beginning of the current line.
If a numeric argument is supplied, this command acts as a toggle: if
@@ -2222,43 +2233,43 @@ the line.
In either case, the line is accepted as if a newline had been typed.
<P>
-<A NAME="IDX203"></A>
+<A NAME="IDX205"></A>
<DT><CODE>dump-functions ()</CODE>
-<DD><A NAME="IDX204"></A>
+<DD><A NAME="IDX206"></A>
Print all of the functions and their key bindings to the
Readline output stream. If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
of an <VAR>inputrc</VAR> file. This command is unbound by default.
<P>
-<A NAME="IDX205"></A>
+<A NAME="IDX207"></A>
<DT><CODE>dump-variables ()</CODE>
-<DD><A NAME="IDX206"></A>
+<DD><A NAME="IDX208"></A>
Print all of the settable variables and their values to the
Readline output stream. If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
of an <VAR>inputrc</VAR> file. This command is unbound by default.
<P>
-<A NAME="IDX207"></A>
+<A NAME="IDX209"></A>
<DT><CODE>dump-macros ()</CODE>
-<DD><A NAME="IDX208"></A>
+<DD><A NAME="IDX210"></A>
Print all of the Readline key sequences bound to macros and the
strings they output. If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
of an <VAR>inputrc</VAR> file. This command is unbound by default.
<P>
-<A NAME="IDX209"></A>
+<A NAME="IDX211"></A>
<DT><CODE>emacs-editing-mode (C-e)</CODE>
-<DD><A NAME="IDX210"></A>
+<DD><A NAME="IDX212"></A>
When in <CODE>vi</CODE> command mode, this causes a switch to <CODE>emacs</CODE>
editing mode.
<P>
-<A NAME="IDX211"></A>
+<A NAME="IDX213"></A>
<DT><CODE>vi-editing-mode (M-C-j)</CODE>
-<DD><A NAME="IDX212"></A>
+<DD><A NAME="IDX214"></A>
When in <CODE>emacs</CODE> editing mode, this causes a switch to <CODE>vi</CODE>
editing mode.
<P>
@@ -2393,8 +2404,8 @@ the simplest way possible, perhaps to replace calls in your code to
<CODE>gets()</CODE> or <CODE>fgets()</CODE>.
</P><P>
-<A NAME="IDX213"></A>
-<A NAME="IDX214"></A>
+<A NAME="IDX215"></A>
+<A NAME="IDX216"></A>
</P><P>
The function <CODE>readline()</CODE> prints a prompt <VAR>prompt</VAR>
@@ -2717,7 +2728,7 @@ command functions.
These variables are available to function writers.
</P><P>
-<A NAME="IDX215"></A>
+<A NAME="IDX217"></A>
<DL>
<DT><U>Variable:</U> char * <B>rl_line_buffer</B>
<DD>This is the line gathered so far. You are welcome to modify the
@@ -2727,7 +2738,7 @@ the memory allocated to <CODE>rl_line_buffer</CODE>.
</DL>
</P><P>
-<A NAME="IDX216"></A>
+<A NAME="IDX218"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_point</B>
<DD>The offset of the current cursor position in <CODE>rl_line_buffer</CODE>
@@ -2735,7 +2746,7 @@ the memory allocated to <CODE>rl_line_buffer</CODE>.
</DL>
</P><P>
-<A NAME="IDX217"></A>
+<A NAME="IDX219"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_end</B>
<DD>The number of characters present in <CODE>rl_line_buffer</CODE>. When
@@ -2744,7 +2755,7 @@ the memory allocated to <CODE>rl_line_buffer</CODE>.
</DL>
</P><P>
-<A NAME="IDX218"></A>
+<A NAME="IDX220"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_mark</B>
<DD>The <VAR>mark</VAR> (saved position) in the current line. If set, the mark
@@ -2752,7 +2763,7 @@ and point define a <EM>region</EM>.
</DL>
</P><P>
-<A NAME="IDX219"></A>
+<A NAME="IDX221"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_done</B>
<DD>Setting this to a non-zero value causes Readline to return the current
@@ -2760,7 +2771,7 @@ line immediately.
</DL>
</P><P>
-<A NAME="IDX220"></A>
+<A NAME="IDX222"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_num_chars_to_read</B>
<DD>Setting this to a positive value before calling <CODE>readline()</CODE> causes
@@ -2769,7 +2780,7 @@ than reading up to a character bound to <CODE>accept-line</CODE>.
</DL>
</P><P>
-<A NAME="IDX221"></A>
+<A NAME="IDX223"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_pending_input</B>
<DD>Setting this to a value makes it the next keystroke read. This is a
@@ -2777,7 +2788,7 @@ way to stuff a single character into the input stream.
</DL>
</P><P>
-<A NAME="IDX222"></A>
+<A NAME="IDX224"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_dispatching</B>
<DD>Set to a non-zero value if a function is being called from a key binding;
@@ -2786,7 +2797,7 @@ they were called directly or by Readline's dispatching mechanism.
</DL>
</P><P>
-<A NAME="IDX223"></A>
+<A NAME="IDX225"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_erase_empty_line</B>
<DD>Setting this to a non-zero value causes Readline to completely erase
@@ -2796,7 +2807,7 @@ the beginning of the newly-blank line.
</DL>
</P><P>
-<A NAME="IDX224"></A>
+<A NAME="IDX226"></A>
<DL>
<DT><U>Variable:</U> char * <B>rl_prompt</B>
<DD>The prompt Readline uses. This is set from the argument to
@@ -2806,7 +2817,7 @@ be used to modify the prompt string after calling <CODE>readline()</CODE>.
</DL>
</P><P>
-<A NAME="IDX225"></A>
+<A NAME="IDX227"></A>
<DL>
<DT><U>Variable:</U> char * <B>rl_display_prompt</B>
<DD>The string displayed as the prompt. This is usually identical to
@@ -2815,7 +2826,7 @@ use the prompt string as a message area, such as incremental search.
</DL>
</P><P>
-<A NAME="IDX226"></A>
+<A NAME="IDX228"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_already_prompted</B>
<DD>If an application wishes to display the prompt itself, rather than have
@@ -2828,14 +2839,14 @@ never sets it.
</DL>
</P><P>
-<A NAME="IDX227"></A>
+<A NAME="IDX229"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_library_version</B>
<DD>The version number of this revision of the library.
</DL>
</P><P>
-<A NAME="IDX228"></A>
+<A NAME="IDX230"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_readline_version</B>
<DD>An integer encoding the current version of the library. The encoding is
@@ -2846,7 +2857,7 @@ value 0x0402.
</DL>
</P><P>
-<A NAME="IDX229"></A>
+<A NAME="IDX231"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_gnu_readline_p</B>
<DD>Always set to 1, denoting that this is GNU readline rather than some
@@ -2854,7 +2865,7 @@ emulation.
</DL>
</P><P>
-<A NAME="IDX230"></A>
+<A NAME="IDX232"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_terminal_name</B>
<DD>The terminal type, used for initialization. If not set by the application,
@@ -2863,7 +2874,7 @@ the first time it is called.
</DL>
</P><P>
-<A NAME="IDX231"></A>
+<A NAME="IDX233"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_readline_name</B>
<DD>This variable is set to a unique name by each application using Readline.
@@ -2872,7 +2883,7 @@ The value allows conditional parsing of the inputrc file
</DL>
</P><P>
-<A NAME="IDX232"></A>
+<A NAME="IDX234"></A>
<DL>
<DT><U>Variable:</U> FILE * <B>rl_instream</B>
<DD>The stdio stream from which Readline reads input.
@@ -2880,7 +2891,7 @@ If <CODE>NULL</CODE>, Readline defaults to <VAR>stdin</VAR>.
</DL>
</P><P>
-<A NAME="IDX233"></A>
+<A NAME="IDX235"></A>
<DL>
<DT><U>Variable:</U> FILE * <B>rl_outstream</B>
<DD>The stdio stream to which Readline performs output.
@@ -2888,7 +2899,7 @@ If <CODE>NULL</CODE>, Readline defaults to <VAR>stdout</VAR>.
</DL>
</P><P>
-<A NAME="IDX234"></A>
+<A NAME="IDX236"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_prefer_env_winsize</B>
<DD>If non-zero, Readline gives values found in the <CODE>LINES</CODE> and
@@ -2897,7 +2908,7 @@ from the kernel when computing the screen dimensions.
</DL>
</P><P>
-<A NAME="IDX235"></A>
+<A NAME="IDX237"></A>
<DL>
<DT><U>Variable:</U> rl_command_func_t * <B>rl_last_func</B>
<DD>The address of the last command function Readline executed. May be used to
@@ -2906,7 +2917,7 @@ example.
</DL>
</P><P>
-<A NAME="IDX236"></A>
+<A NAME="IDX238"></A>
<DL>
<DT><U>Variable:</U> rl_hook_func_t * <B>rl_startup_hook</B>
<DD>If non-zero, this is the address of a function to call just
@@ -2914,7 +2925,7 @@ before <CODE>readline</CODE> prints the first prompt.
</DL>
</P><P>
-<A NAME="IDX237"></A>
+<A NAME="IDX239"></A>
<DL>
<DT><U>Variable:</U> rl_hook_func_t * <B>rl_pre_input_hook</B>
<DD>If non-zero, this is the address of a function to call after
@@ -2923,7 +2934,7 @@ starts reading input characters.
</DL>
</P><P>
-<A NAME="IDX238"></A>
+<A NAME="IDX240"></A>
<DL>
<DT><U>Variable:</U> rl_hook_func_t * <B>rl_event_hook</B>
<DD>If non-zero, this is the address of a function to call periodically
@@ -2933,7 +2944,7 @@ is no keyboard input.
</DL>
</P><P>
-<A NAME="IDX239"></A>
+<A NAME="IDX241"></A>
<DL>
<DT><U>Variable:</U> rl_getc_func_t * <B>rl_getc_function</B>
<DD>If non-zero, Readline will call indirectly through this pointer
@@ -2945,7 +2956,7 @@ setting <VAR>rl_input_available_hook</VAR> as well.
</DL>
</P><P>
-<A NAME="IDX240"></A>
+<A NAME="IDX242"></A>
<DL>
<DT><U>Variable:</U> rl_hook_func_t * <B>rl_signal_event_hook</B>
<DD>If non-zero, this is the address of a function to call if a read system
@@ -2953,7 +2964,7 @@ call is interrupted when Readline is reading terminal input.
</DL>
</P><P>
-<A NAME="IDX241"></A>
+<A NAME="IDX243"></A>
<DL>
<DT><U>Variable:</U> rl_hook_func_t * <B>rl_input_available_hook</B>
<DD>If non-zero, Readline will use this function's return value when it needs
@@ -2978,7 +2989,7 @@ setting <VAR>rl_input_available_hook</VAR> as well.
</DL>
</P><P>
-<A NAME="IDX242"></A>
+<A NAME="IDX244"></A>
<DL>
<DT><U>Variable:</U> rl_voidfunc_t * <B>rl_redisplay_function</B>
<DD>If non-zero, Readline will call indirectly through this pointer
@@ -2988,7 +2999,7 @@ redisplay function (see section <A HREF="readline.html#SEC35">2.4.6 Redisplay</A
</DL>
</P><P>
-<A NAME="IDX243"></A>
+<A NAME="IDX245"></A>
<DL>
<DT><U>Variable:</U> rl_vintfunc_t * <B>rl_prep_term_function</B>
<DD>If non-zero, Readline will call indirectly through this pointer
@@ -2999,7 +3010,7 @@ By default, this is set to <CODE>rl_prep_terminal</CODE>
</DL>
</P><P>
-<A NAME="IDX244"></A>
+<A NAME="IDX246"></A>
<DL>
<DT><U>Variable:</U> rl_voidfunc_t * <B>rl_deprep_term_function</B>
<DD>If non-zero, Readline will call indirectly through this pointer
@@ -3010,7 +3021,7 @@ By default, this is set to <CODE>rl_deprep_terminal</CODE>
</DL>
</P><P>
-<A NAME="IDX245"></A>
+<A NAME="IDX247"></A>
<DL>
<DT><U>Variable:</U> Keymap <B>rl_executing_keymap</B>
<DD>This variable is set to the keymap (see section <A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A>) in which the
@@ -3018,7 +3029,7 @@ currently executing readline function was found.
</DL>
</P><P>
-<A NAME="IDX246"></A>
+<A NAME="IDX248"></A>
<DL>
<DT><U>Variable:</U> Keymap <B>rl_binding_keymap</B>
<DD>This variable is set to the keymap (see section <A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A>) in which the
@@ -3026,21 +3037,21 @@ last key binding occurred.
</DL>
</P><P>
-<A NAME="IDX247"></A>
+<A NAME="IDX249"></A>
<DL>
<DT><U>Variable:</U> char * <B>rl_executing_macro</B>
<DD>This variable is set to the text of any currently-executing macro.
</DL>
</P><P>
-<A NAME="IDX248"></A>
+<A NAME="IDX250"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_executing_key</B>
<DD>The key that caused the dispatch to the currently-executing Readline function.
</DL>
</P><P>
-<A NAME="IDX249"></A>
+<A NAME="IDX251"></A>
<DL>
<DT><U>Variable:</U> char * <B>rl_executing_keyseq</B>
<DD>The full key sequence that caused the dispatch to the currently-executing
@@ -3048,14 +3059,14 @@ Readline function.
</DL>
</P><P>
-<A NAME="IDX250"></A>
+<A NAME="IDX252"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_key_sequence_length</B>
<DD>The number of characters in <VAR>rl_executing_keyseq</VAR>.
</DL>
</P><P>
-<A NAME="IDX251"></A>
+<A NAME="IDX253"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_readline_state</B>
<DD>A variable with bit values that encapsulate the current Readline state.
@@ -3125,7 +3136,7 @@ and is about to return the line to the caller.
</DL>
</P><P>
-<A NAME="IDX252"></A>
+<A NAME="IDX254"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_explicit_arg</B>
<DD>Set to a non-zero value if an explicit numeric argument was specified by
@@ -3133,7 +3144,7 @@ the user. Only valid in a bindable command function.
</DL>
</P><P>
-<A NAME="IDX253"></A>
+<A NAME="IDX255"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_numeric_arg</B>
<DD>Set to the value of any numeric argument explicitly specified by the user
@@ -3142,7 +3153,7 @@ command function.
</DL>
</P><P>
-<A NAME="IDX254"></A>
+<A NAME="IDX256"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_editing_mode</B>
<DD>Set to a value denoting Readline's current editing mode. A value of
@@ -3221,7 +3232,7 @@ programmer, should bind the functions you write to descriptive names as
well. Readline provides a function for doing that:
</P><P>
-<A NAME="IDX255"></A>
+<A NAME="IDX257"></A>
<DL>
<DT><U>Function:</U> int <B>rl_add_defun</B> <I>(const char *name, rl_command_func_t *function, int key)</I>
<DD>Add <VAR>name</VAR> to the list of named functions. Make <VAR>function</VAR> be
@@ -3261,7 +3272,7 @@ get run. You can make your own keymaps, copy existing keymaps, and tell
Readline which keymap to use.
</P><P>
-<A NAME="IDX256"></A>
+<A NAME="IDX258"></A>
<DL>
<DT><U>Function:</U> Keymap <B>rl_make_bare_keymap</B> <I>(void)</I>
<DD>Returns a new, empty keymap. The space for the keymap is allocated with
@@ -3270,14 +3281,14 @@ Readline which keymap to use.
</DL>
</P><P>
-<A NAME="IDX257"></A>
+<A NAME="IDX259"></A>
<DL>
<DT><U>Function:</U> Keymap <B>rl_copy_keymap</B> <I>(Keymap map)</I>
<DD>Return a new keymap which is a copy of <VAR>map</VAR>.
</DL>
</P><P>
-<A NAME="IDX258"></A>
+<A NAME="IDX260"></A>
<DL>
<DT><U>Function:</U> Keymap <B>rl_make_keymap</B> <I>(void)</I>
<DD>Return a new keymap with the printing characters bound to rl_insert,
@@ -3286,7 +3297,7 @@ the Meta digits bound to produce numeric arguments.
</DL>
</P><P>
-<A NAME="IDX259"></A>
+<A NAME="IDX261"></A>
<DL>
<DT><U>Function:</U> void <B>rl_discard_keymap</B> <I>(Keymap keymap)</I>
<DD>Free the storage associated with the data in <VAR>keymap</VAR>.
@@ -3294,7 +3305,7 @@ The caller should free <VAR>keymap</VAR>.
</DL>
</P><P>
-<A NAME="IDX260"></A>
+<A NAME="IDX262"></A>
<DL>
<DT><U>Function:</U> void <B>rl_free_keymap</B> <I>(Keymap keymap)</I>
<DD>Free all storage associated with <VAR>keymap</VAR>. This calls
@@ -3302,7 +3313,7 @@ The caller should free <VAR>keymap</VAR>.
</DL>
</P><P>
-<A NAME="IDX261"></A>
+<A NAME="IDX263"></A>
<DL>
<DT><U>Function:</U> int <B>rl_empty_keymap</B> <I>(Keymap keymap)</I>
<DD>Return non-zero if there are no keys bound to functions in <VAR>keymap</VAR>;
@@ -3314,21 +3325,21 @@ Readline has several internal keymaps. These functions allow you to
change which keymap is active.
</P><P>
-<A NAME="IDX262"></A>
+<A NAME="IDX264"></A>
<DL>
<DT><U>Function:</U> Keymap <B>rl_get_keymap</B> <I>(void)</I>
<DD>Returns the currently active keymap.
</DL>
</P><P>
-<A NAME="IDX263"></A>
+<A NAME="IDX265"></A>
<DL>
<DT><U>Function:</U> void <B>rl_set_keymap</B> <I>(Keymap keymap)</I>
<DD>Makes <VAR>keymap</VAR> the currently active keymap.
</DL>
</P><P>
-<A NAME="IDX264"></A>
+<A NAME="IDX266"></A>
<DL>
<DT><U>Function:</U> Keymap <B>rl_get_keymap_by_name</B> <I>(const char *name)</I>
<DD>Return the keymap matching <VAR>name</VAR>. <VAR>name</VAR> is one which would
@@ -3336,7 +3347,7 @@ be supplied in a <CODE>set keymap</CODE> inputrc line (see section <A HREF="read
</DL>
</P><P>
-<A NAME="IDX265"></A>
+<A NAME="IDX267"></A>
<DL>
<DT><U>Function:</U> char * <B>rl_get_keymap_name</B> <I>(Keymap keymap)</I>
<DD>Return the name matching <VAR>keymap</VAR>. <VAR>name</VAR> is one which would
@@ -3344,7 +3355,7 @@ be supplied in a <CODE>set keymap</CODE> inputrc line (see section <A HREF="read
</DL>
</P><P>
-<A NAME="IDX266"></A>
+<A NAME="IDX268"></A>
<DL>
<DT><U>Function:</U> int <B>rl_set_keymap_name</B> <I>(const char *name, Keymap keymap)</I>
<DD>Set the name of <VAR>keymap</VAR>. This name will then be "registered" and
@@ -3402,7 +3413,7 @@ initialization function assigned to the <CODE>rl_startup_hook</CODE> variable
These functions manage key bindings.
</P><P>
-<A NAME="IDX267"></A>
+<A NAME="IDX269"></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.
@@ -3410,7 +3421,7 @@ Returns non-zero in the case of an invalid <VAR>key</VAR>.
</DL>
</P><P>
-<A NAME="IDX268"></A>
+<A NAME="IDX270"></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>.
@@ -3418,7 +3429,7 @@ Returns non-zero in the case of an invalid <VAR>key</VAR>.
</DL>
</P><P>
-<A NAME="IDX269"></A>
+<A NAME="IDX271"></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
@@ -3428,7 +3439,7 @@ already bound.
</DL>
</P><P>
-<A NAME="IDX270"></A>
+<A NAME="IDX272"></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>.
@@ -3437,7 +3448,7 @@ already bound.
</DL>
</P><P>
-<A NAME="IDX271"></A>
+<A NAME="IDX273"></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.
@@ -3445,7 +3456,7 @@ Returns non-zero in case of error.
</DL>
</P><P>
-<A NAME="IDX272"></A>
+<A NAME="IDX274"></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>.
@@ -3453,21 +3464,21 @@ Returns non-zero in case of error.
</DL>
</P><P>
-<A NAME="IDX273"></A>
+<A NAME="IDX275"></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="IDX274"></A>
+<A NAME="IDX276"></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="IDX275"></A>
+<A NAME="IDX277"></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
@@ -3477,7 +3488,7 @@ The return value is non-zero if <VAR>keyseq</VAR> is invalid.
</DL>
</P><P>
-<A NAME="IDX276"></A>
+<A NAME="IDX278"></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
@@ -3487,14 +3498,14 @@ The return value is non-zero if <VAR>keyseq</VAR> is invalid.
</DL>
</P><P>
-<A NAME="IDX277"></A>
+<A NAME="IDX279"></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="IDX278"></A>
+<A NAME="IDX280"></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
@@ -3504,7 +3515,7 @@ already bound.
</DL>
</P><P>
-<A NAME="IDX279"></A>
+<A NAME="IDX281"></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>.
@@ -3513,7 +3524,7 @@ already bound.
</DL>
</P><P>
-<A NAME="IDX280"></A>
+<A NAME="IDX282"></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
@@ -3524,7 +3535,7 @@ necessary. The initial keymap in which to do bindings is <VAR>map</VAR>.
</DL>
</P><P>
-<A NAME="IDX281"></A>
+<A NAME="IDX283"></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
@@ -3533,7 +3544,7 @@ perform any key bindings and variable assignments found
</DL>
</P><P>
-<A NAME="IDX282"></A>
+<A NAME="IDX284"></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>
@@ -3564,14 +3575,14 @@ 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="IDX283"></A>
+<A NAME="IDX285"></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="IDX284"></A>
+<A NAME="IDX286"></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>.
@@ -3583,7 +3594,7 @@ can include NUL.
</DL>
</P><P>
-<A NAME="IDX285"></A>
+<A NAME="IDX287"></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>
<DD>Return the function invoked by <VAR>keyseq</VAR> of length <VAR>len</VAR>
@@ -3594,7 +3605,7 @@ can include NUL.
</DL>
</P><P>
-<A NAME="IDX286"></A>
+<A NAME="IDX288"></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
@@ -3602,7 +3613,7 @@ invoke <VAR>function</VAR> in the current keymap.
</DL>
</P><P>
-<A NAME="IDX287"></A>
+<A NAME="IDX289"></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
@@ -3610,7 +3621,7 @@ invoke <VAR>function</VAR> in the keymap <VAR>map</VAR>.
</DL>
</P><P>
-<A NAME="IDX288"></A>
+<A NAME="IDX290"></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
@@ -3620,14 +3631,14 @@ the list is formatted in such a way that it can be made part of an
</DL>
</P><P>
-<A NAME="IDX289"></A>
+<A NAME="IDX291"></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="IDX290"></A>
+<A NAME="IDX292"></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
@@ -3637,7 +3648,7 @@ should free the array, but not the pointers, using <CODE>free</CODE> or
</DL>
</P><P>
-<A NAME="IDX291"></A>
+<A NAME="IDX293"></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
@@ -3692,7 +3703,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="IDX292"></A>
+<A NAME="IDX294"></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
@@ -3702,7 +3713,7 @@ information usually comes from calls to <CODE>rl_insert_text()</CODE> and
</DL>
</P><P>
-<A NAME="IDX293"></A>
+<A NAME="IDX295"></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
@@ -3711,7 +3722,7 @@ for each call to <CODE>rl_begin_undo_group()</CODE>.
</DL>
</P><P>
-<A NAME="IDX294"></A>
+<A NAME="IDX296"></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
@@ -3719,14 +3730,14 @@ text runs from <VAR>start</VAR> to <VAR>end</VAR>, and encompasses <VAR>text</VA
</DL>
</P><P>
-<A NAME="IDX295"></A>
+<A NAME="IDX297"></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="IDX296"></A>
+<A NAME="IDX298"></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
@@ -3740,7 +3751,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="IDX297"></A>
+<A NAME="IDX299"></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
@@ -3767,7 +3778,7 @@ that text.
<!--docid::SEC35::-->
<P>
-<A NAME="IDX298"></A>
+<A NAME="IDX300"></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
@@ -3775,7 +3786,7 @@ of <CODE>rl_line_buffer</CODE>.
</DL>
</P><P>
-<A NAME="IDX299"></A>
+<A NAME="IDX301"></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
@@ -3783,7 +3794,7 @@ Readline thinks the screen display is correct.
</DL>
</P><P>
-<A NAME="IDX300"></A>
+<A NAME="IDX302"></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,
@@ -3791,7 +3802,7 @@ usually after outputting a newline.
</DL>
</P><P>
-<A NAME="IDX301"></A>
+<A NAME="IDX303"></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
@@ -3803,14 +3814,14 @@ It should be used after setting <VAR>rl_already_prompted</VAR>.
</DL>
</P><P>
-<A NAME="IDX302"></A>
+<A NAME="IDX304"></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="IDX303"></A>
+<A NAME="IDX305"></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
@@ -3818,14 +3829,14 @@ starting on a new line.
</DL>
</P><P>
-<A NAME="IDX304"></A>
+<A NAME="IDX306"></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="IDX305"></A>
+<A NAME="IDX307"></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>.
@@ -3836,7 +3847,7 @@ redisplay.
</DL>
</P><P>
-<A NAME="IDX306"></A>
+<A NAME="IDX308"></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>,
@@ -3849,7 +3860,7 @@ before calling this function.
</DL>
</P><P>
-<A NAME="IDX307"></A>
+<A NAME="IDX309"></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
@@ -3858,7 +3869,7 @@ call <CODE>rl_restore_prompt</CODE> before calling this function.
</DL>
</P><P>
-<A NAME="IDX308"></A>
+<A NAME="IDX310"></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
@@ -3866,7 +3877,7 @@ displaying a new message in the message area with <CODE>rl_message()</CODE>.
</DL>
</P><P>
-<A NAME="IDX309"></A>
+<A NAME="IDX311"></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
@@ -3877,7 +3888,7 @@ corresponding call to <CODE>rl_clear_message</CODE>.
</DL>
</P><P>
-<A NAME="IDX310"></A>
+<A NAME="IDX312"></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
@@ -3895,7 +3906,7 @@ be used to embed terminal-specific escape sequences in prompts.
</DL>
</P><P>
-<A NAME="IDX311"></A>
+<A NAME="IDX313"></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
@@ -3922,7 +3933,7 @@ to the result.
<!--docid::SEC36::-->
<P>
-<A NAME="IDX312"></A>
+<A NAME="IDX314"></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.
@@ -3930,7 +3941,7 @@ Returns the number of characters inserted.
</DL>
</P><P>
-<A NAME="IDX313"></A>
+<A NAME="IDX315"></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.
@@ -3938,7 +3949,7 @@ Returns the number of characters deleted.
</DL>
</P><P>
-<A NAME="IDX314"></A>
+<A NAME="IDX316"></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
@@ -3946,7 +3957,7 @@ the current line.
</DL>
</P><P>
-<A NAME="IDX315"></A>
+<A NAME="IDX317"></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
@@ -3958,7 +3969,7 @@ not a kill, a new kill ring slot is used.
</DL>
</P><P>
-<A NAME="IDX316"></A>
+<A NAME="IDX318"></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
@@ -3985,7 +3996,7 @@ by a key bound to a macro. Not especially useful; use
<!--docid::SEC37::-->
<P>
-<A NAME="IDX317"></A>
+<A NAME="IDX319"></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.
@@ -3997,7 +4008,7 @@ the <CODE>rl_event_hook</CODE> variable.
</DL>
</P><P>
-<A NAME="IDX318"></A>
+<A NAME="IDX320"></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
@@ -4005,7 +4016,7 @@ be the keyboard.
</DL>
</P><P>
-<A NAME="IDX319"></A>
+<A NAME="IDX321"></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"
@@ -4016,7 +4027,7 @@ before Readline attempts to read characters from the terminal with
</DL>
</P><P>
-<A NAME="IDX320"></A>
+<A NAME="IDX322"></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>
@@ -4024,7 +4035,7 @@ is called. This sets <VAR>rl_pending_input</VAR>.
</DL>
</P><P>
-<A NAME="IDX321"></A>
+<A NAME="IDX323"></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
@@ -4033,7 +4044,7 @@ pending input has not already been read with <CODE>rl_read_key()</CODE>.
</DL>
</P><P>
-<A NAME="IDX322"></A>
+<A NAME="IDX324"></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
@@ -4063,7 +4074,7 @@ Returns the old timeout value.
<!--docid::SEC38::-->
<P>
-<A NAME="IDX323"></A>
+<A NAME="IDX325"></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>
@@ -4073,7 +4084,7 @@ read eight-bit input.
</DL>
</P><P>
-<A NAME="IDX324"></A>
+<A NAME="IDX326"></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
@@ -4082,7 +4093,7 @@ the state in which it was before the most recent call to
</DL>
</P><P>
-<A NAME="IDX325"></A>
+<A NAME="IDX327"></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
@@ -4091,7 +4102,7 @@ The bindings are performed in <VAR>kmap</VAR>.
</DL>
</P><P>
-<A NAME="IDX326"></A>
+<A NAME="IDX328"></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
@@ -4100,7 +4111,7 @@ The bindings are performed in <VAR>kmap</VAR>.
</DL>
</P><P>
-<A NAME="IDX327"></A>
+<A NAME="IDX329"></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
@@ -4111,7 +4122,7 @@ This function returns the previous value.
</DL>
</P><P>
-<A NAME="IDX328"></A>
+<A NAME="IDX330"></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
@@ -4139,7 +4150,7 @@ environment variable is used.
<!--docid::SEC39::-->
<P>
-<A NAME="IDX329"></A>
+<A NAME="IDX331"></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>.
@@ -4149,7 +4160,7 @@ The caller is responsible for allocating the structure.
</DL>
</P><P>
-<A NAME="IDX330"></A>
+<A NAME="IDX332"></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
@@ -4160,7 +4171,7 @@ The caller is responsible for freeing the structure.
</DL>
</P><P>
-<A NAME="IDX331"></A>
+<A NAME="IDX333"></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
@@ -4168,7 +4179,7 @@ allocated by <CODE>malloc</CODE>.
</DL>
</P><P>
-<A NAME="IDX332"></A>
+<A NAME="IDX334"></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>.
@@ -4178,7 +4189,7 @@ current line is cleared.
</DL>
</P><P>
-<A NAME="IDX333"></A>
+<A NAME="IDX335"></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>
@@ -4186,7 +4197,7 @@ characters, possibly reallocating it if necessary.
</DL>
</P><P>
-<A NAME="IDX334"></A>
+<A NAME="IDX336"></A>
<DL>
<DT><U>Function:</U> int <B>rl_initialize</B> <I>(void)</I>
<DD>Initialize or re-initialize Readline's internal state.
@@ -4195,21 +4206,21 @@ reading any input.
</DL>
</P><P>
-<A NAME="IDX335"></A>
+<A NAME="IDX337"></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="IDX336"></A>
+<A NAME="IDX338"></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="IDX337"></A>
+<A NAME="IDX339"></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
@@ -4229,28 +4240,28 @@ The following are implemented as macros, defined in <CODE>chardefs.h</CODE>.
Applications should refrain from using them.
</P><P>
-<A NAME="IDX338"></A>
+<A NAME="IDX340"></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="IDX339"></A>
+<A NAME="IDX341"></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="IDX340"></A>
+<A NAME="IDX342"></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="IDX341"></A>
+<A NAME="IDX343"></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
@@ -4258,7 +4269,7 @@ uppercase character.
</DL>
</P><P>
-<A NAME="IDX342"></A>
+<A NAME="IDX344"></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
@@ -4266,7 +4277,7 @@ lowercase character.
</DL>
</P><P>
-<A NAME="IDX343"></A>
+<A NAME="IDX345"></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.
@@ -4291,7 +4302,7 @@ lowercase character.
<!--docid::SEC40::-->
<P>
-<A NAME="IDX344"></A>
+<A NAME="IDX346"></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>.
@@ -4301,7 +4312,7 @@ use <CODE>rl_generic_bind()</CODE> instead.
</DL>
</P><P>
-<A NAME="IDX345"></A>
+<A NAME="IDX347"></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
@@ -4311,7 +4322,7 @@ that it can be made part of an <CODE>inputrc</CODE> file and re-read.
</DL>
</P><P>
-<A NAME="IDX346"></A>
+<A NAME="IDX348"></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>.
@@ -4321,7 +4332,7 @@ file (see section <A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax<
</DL>
</P><P>
-<A NAME="IDX347"></A>
+<A NAME="IDX349"></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>.
@@ -4329,7 +4340,7 @@ For boolean variables, this string is either <SAMP>`on'</SAMP> or <SAMP>`off'</S
</DL>
</P><P>
-<A NAME="IDX348"></A>
+<A NAME="IDX350"></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
@@ -4339,7 +4350,7 @@ that it can be made part of an <CODE>inputrc</CODE> file and re-read.
</DL>
</P><P>
-<A NAME="IDX349"></A>
+<A NAME="IDX351"></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
@@ -4347,7 +4358,7 @@ a balancing character when <CODE>blink-matching-paren</CODE> has been enabled.
</DL>
</P><P>
-<A NAME="IDX350"></A>
+<A NAME="IDX352"></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>.
@@ -4359,7 +4370,7 @@ values for only those capabilities Readline uses.
</DL>
</P><P>
-<A NAME="IDX351"></A>
+<A NAME="IDX353"></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
@@ -4395,7 +4406,7 @@ also be invoked as a `callback' function from an event loop. There
are functions available to make this easy.
</P><P>
-<A NAME="IDX352"></A>
+<A NAME="IDX354"></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
@@ -4408,7 +4419,7 @@ line when it it finished with it.
</DL>
</P><P>
-<A NAME="IDX353"></A>
+<A NAME="IDX355"></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
@@ -4428,7 +4439,7 @@ the terminal settings are modified for Readline's use again.
</DL>
</P><P>
-<A NAME="IDX354"></A>
+<A NAME="IDX356"></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
@@ -4439,7 +4450,7 @@ calls this when appropriate.
</DL>
</P><P>
-<A NAME="IDX355"></A>
+<A NAME="IDX357"></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.
@@ -4758,7 +4769,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="IDX356"></A>
+<A NAME="IDX358"></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
@@ -4770,7 +4781,7 @@ The default value of <CODE>rl_catch_signals</CODE> is 1.
</DL>
</P><P>
-<A NAME="IDX357"></A>
+<A NAME="IDX359"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_catch_sigwinch</B>
<DD>If this variable is set to a non-zero value,
@@ -4781,7 +4792,7 @@ The default value of <CODE>rl_catch_sigwinch</CODE> is 1.
</DL>
</P><P>
-<A NAME="IDX358"></A>
+<A NAME="IDX360"></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
@@ -4794,7 +4805,7 @@ The default value of <CODE>rl_persistent_signal_handlers</CODE> is 0.
</DL>
</P><P>
-<A NAME="IDX359"></A>
+<A NAME="IDX361"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_change_environment</B>
<DD>If this variable is set to a non-zero value,
@@ -4814,7 +4825,7 @@ Readline provides convenience functions to do the necessary terminal
and internal state cleanup upon receipt of a signal.
</P><P>
-<A NAME="IDX360"></A>
+<A NAME="IDX362"></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
@@ -4822,7 +4833,7 @@ has not yet handled, or 0 if there is no pending signal.
</DL>
</P><P>
-<A NAME="IDX361"></A>
+<A NAME="IDX363"></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
@@ -4832,7 +4843,7 @@ all signals, depending on the values of <CODE>rl_catch_signals</CODE> and
</DL>
</P><P>
-<A NAME="IDX362"></A>
+<A NAME="IDX364"></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
@@ -4844,7 +4855,7 @@ current input line.
</DL>
</P><P>
-<A NAME="IDX363"></A>
+<A NAME="IDX365"></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
@@ -4861,7 +4872,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="IDX364"></A>
+<A NAME="IDX366"></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
@@ -4876,7 +4887,7 @@ Readline to update its idea of the terminal size when it receives
a <CODE>SIGWINCH</CODE>.
</P><P>
-<A NAME="IDX365"></A>
+<A NAME="IDX367"></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
@@ -4886,14 +4897,14 @@ function with <VAR>sig</VAR> set to <CODE>SIGINT</CODE>, <CODE>SIGQUIT</CODE>, o
</DL>
</P><P>
-<A NAME="IDX366"></A>
+<A NAME="IDX368"></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="IDX367"></A>
+<A NAME="IDX369"></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
@@ -4901,7 +4912,7 @@ function with <VAR>sig</VAR> set to <CODE>SIGINT</CODE>, <CODE>SIGQUIT</CODE>, o
or equal to 0, Readline's idea of that terminal dimension is unchanged.
This is intended to tell Readline the physical dimensions of the terminal,
and is used internally to calculate the maximum number of characters that
-may appear on the screen.
+may appear on a single line and on the screen.
</DL>
</P><P>
@@ -4910,7 +4921,7 @@ is still interested in the screen dimensions, it may query Readline's idea
of the screen size.
</P><P>
-<A NAME="IDX368"></A>
+<A NAME="IDX370"></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
@@ -4918,7 +4929,7 @@ variables pointed to by the arguments.
</DL>
</P><P>
-<A NAME="IDX369"></A>
+<A NAME="IDX371"></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.
@@ -4928,7 +4939,7 @@ variables pointed to by the arguments.
The following functions install and remove Readline's signal handlers.
</P><P>
-<A NAME="IDX370"></A>
+<A NAME="IDX372"></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>,
@@ -4938,7 +4949,7 @@ The following functions install and remove Readline's signal handlers.
</DL>
</P><P>
-<A NAME="IDX371"></A>
+<A NAME="IDX373"></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
@@ -5051,7 +5062,7 @@ Such a generator function is referred to as an
</OL>
<P>
-<A NAME="IDX372"></A>
+<A NAME="IDX374"></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
@@ -5060,7 +5071,7 @@ that does the initial simple matching selection algorithm (see
</DL>
</P><P>
-<A NAME="IDX373"></A>
+<A NAME="IDX375"></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
@@ -5096,7 +5107,7 @@ Here is the complete list of callable completion functions present in
Readline.
</P><P>
-<A NAME="IDX374"></A>
+<A NAME="IDX376"></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
@@ -5110,7 +5121,7 @@ a common prefix.
</DL>
</P><P>
-<A NAME="IDX375"></A>
+<A NAME="IDX377"></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
@@ -5122,7 +5133,7 @@ argument depending on <VAR>invoking_key</VAR>.
</DL>
</P><P>
-<A NAME="IDX376"></A>
+<A NAME="IDX378"></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
@@ -5131,7 +5142,7 @@ argument depending on <VAR>invoking_key</VAR>.
</DL>
</P><P>
-<A NAME="IDX377"></A>
+<A NAME="IDX379"></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
@@ -5140,7 +5151,7 @@ This calls <CODE>rl_complete_internal()</CODE> with an argument of <SAMP>`*'</SA
</DL>
</P><P>
-<A NAME="IDX378"></A>
+<A NAME="IDX380"></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>
@@ -5152,7 +5163,7 @@ the same interface as <CODE>rl_complete()</CODE>.
</DL>
</P><P>
-<A NAME="IDX379"></A>
+<A NAME="IDX381"></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
@@ -5170,7 +5181,7 @@ when there are no more matches.
</DL>
</P><P>
-<A NAME="IDX380"></A>
+<A NAME="IDX382"></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.
@@ -5181,7 +5192,7 @@ Readline functions).
</DL>
</P><P>
-<A NAME="IDX381"></A>
+<A NAME="IDX383"></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
@@ -5209,7 +5220,7 @@ for subsequent calls.
<!--docid::SEC48::-->
<P>
-<A NAME="IDX382"></A>
+<A NAME="IDX384"></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>.
@@ -5218,7 +5229,7 @@ the default filename completer.
</DL>
</P><P>
-<A NAME="IDX383"></A>
+<A NAME="IDX385"></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.
@@ -5235,7 +5246,7 @@ completion even if this function returns no matches.
</DL>
</P><P>
-<A NAME="IDX384"></A>
+<A NAME="IDX386"></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
@@ -5252,7 +5263,7 @@ to reset this character.
</DL>
</P><P>
-<A NAME="IDX385"></A>
+<A NAME="IDX387"></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
@@ -5265,7 +5276,7 @@ that delimits the filename (usually <SAMP>`''</SAMP> or <SAMP>`"'</SAMP>). If
</DL>
</P><P>
-<A NAME="IDX386"></A>
+<A NAME="IDX388"></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
@@ -5278,7 +5289,7 @@ used to break words for the completer.
</DL>
</P><P>
-<A NAME="IDX387"></A>
+<A NAME="IDX389"></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
@@ -5291,7 +5302,7 @@ from the array must be freed.
</DL>
</P><P>
-<A NAME="IDX388"></A>
+<A NAME="IDX390"></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
@@ -5314,7 +5325,7 @@ The function should not modify the directory argument if it returns 0.
</DL>
</P><P>
-<A NAME="IDX389"></A>
+<A NAME="IDX391"></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
@@ -5334,7 +5345,7 @@ The function should not modify the directory argument if it returns 0.
</DL>
</P><P>
-<A NAME="IDX390"></A>
+<A NAME="IDX392"></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
@@ -5350,7 +5361,7 @@ The function should not modify the directory argument if it returns 0.
</DL>
</P><P>
-<A NAME="IDX391"></A>
+<A NAME="IDX393"></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
@@ -5369,7 +5380,7 @@ allocated string.
</DL>
</P><P>
-<A NAME="IDX392"></A>
+<A NAME="IDX394"></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
@@ -5386,7 +5397,7 @@ You may call that function from this hook.
</DL>
</P><P>
-<A NAME="IDX393"></A>
+<A NAME="IDX395"></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
@@ -5396,14 +5407,14 @@ which break words for completion in Bash:
</DL>
</P><P>
-<A NAME="IDX394"></A>
+<A NAME="IDX396"></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="IDX395"></A>
+<A NAME="IDX397"></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
@@ -5412,7 +5423,7 @@ which break words for completion in Bash:
</DL>
</P><P>
-<A NAME="IDX396"></A>
+<A NAME="IDX398"></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
@@ -5424,7 +5435,7 @@ returns <CODE>NULL</CODE>, <CODE>rl_completer_word_break_characters</CODE> is us
</DL>
</P><P>
-<A NAME="IDX397"></A>
+<A NAME="IDX399"></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.
@@ -5434,7 +5445,7 @@ unless they also appear within this list.
</DL>
</P><P>
-<A NAME="IDX398"></A>
+<A NAME="IDX400"></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
@@ -5442,7 +5453,7 @@ when they appear in a completed filename. The default is the null string.
</DL>
</P><P>
-<A NAME="IDX399"></A>
+<A NAME="IDX401"></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
@@ -5453,7 +5464,7 @@ shell variables and hostnames.
</DL>
</P><P>
-<A NAME="IDX400"></A>
+<A NAME="IDX402"></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
@@ -5463,7 +5474,7 @@ indicates that Readline should never ask the user.
</DL>
</P><P>
-<A NAME="IDX401"></A>
+<A NAME="IDX403"></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
@@ -5478,7 +5489,7 @@ is called, and may only be changed within such a function.
</DL>
</P><P>
-<A NAME="IDX402"></A>
+<A NAME="IDX404"></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
@@ -5488,7 +5499,7 @@ is called, and may only be changed within such a function.
</DL>
</P><P>
-<A NAME="IDX403"></A>
+<A NAME="IDX405"></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
@@ -5498,7 +5509,7 @@ This is set before any application-specific completion function is called.
</DL>
</P><P>
-<A NAME="IDX404"></A>
+<A NAME="IDX406"></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
@@ -5508,7 +5519,7 @@ is called, and may only be changed within such a function.
</DL>
</P><P>
-<A NAME="IDX405"></A>
+<A NAME="IDX407"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_found_quote</B>
<DD>When Readline is completing quoted text, it sets this variable
@@ -5518,7 +5529,7 @@ This is set before any application-specific completion function is called.
</DL>
</P><P>
-<A NAME="IDX406"></A>
+<A NAME="IDX408"></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
@@ -5533,7 +5544,7 @@ function modifies the value, the user's preferences are honored.
</DL>
</P><P>
-<A NAME="IDX407"></A>
+<A NAME="IDX409"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_ignore_completion_duplicates</B>
<DD>If non-zero, then duplicates in the matches are removed.
@@ -5541,7 +5552,7 @@ The default is 1.
</DL>
</P><P>
-<A NAME="IDX408"></A>
+<A NAME="IDX410"></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
@@ -5555,7 +5566,7 @@ characters in <CODE>rl_filename_quote_characters</CODE> and
</DL>
</P><P>
-<A NAME="IDX409"></A>
+<A NAME="IDX411"></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
@@ -5569,7 +5580,7 @@ by <CODE>rl_filename_quoting_function</CODE>.
</DL>
</P><P>
-<A NAME="IDX410"></A>
+<A NAME="IDX412"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_attempted_completion_over</B>
<DD>If an application-specific completion function assigned to
@@ -5580,7 +5591,7 @@ It should be set only by an application's completion function.
</DL>
</P><P>
-<A NAME="IDX411"></A>
+<A NAME="IDX413"></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
@@ -5592,7 +5603,7 @@ matches.
</DL>
</P><P>
-<A NAME="IDX412"></A>
+<A NAME="IDX414"></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
@@ -5604,7 +5615,7 @@ the same interface as <CODE>rl_complete()</CODE>.
</DL>
</P><P>
-<A NAME="IDX413"></A>
+<A NAME="IDX415"></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
@@ -5614,7 +5625,7 @@ function is called.
</DL>
</P><P>
-<A NAME="IDX414"></A>
+<A NAME="IDX416"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_inhibit_completion</B>
<DD>If this variable is non-zero, completion is inhibited. The completion
@@ -6761,7 +6772,7 @@ to permit their use in free software.
<TR><TD></TD><TD valign=top><A HREF="readline.html#SEC4">notation, readline</A></TD><TD valign=top><A HREF="readline.html#SEC4">1.2.1 Readline Bare Essentials</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_R"></A>R</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX214">readline, function</A></TD><TD valign=top><A HREF="readline.html#SEC24">2.1 Basic Behavior</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX216">readline, function</A></TD><TD valign=top><A HREF="readline.html#SEC24">2.1 Basic Behavior</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_V"></A>V</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX4">variables, readline</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
@@ -6853,16 +6864,16 @@ 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#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></TD><TD valign=top><A HREF="readline.html#IDX342"><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#IDX345"><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#IDX341"><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#IDX344"><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#IDX343"><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#IDX340"><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>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX180"><CODE>abort (C-g)</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#IDX181"><CODE>abort (C-g)</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#IDX182"><CODE>abort (C-g)</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#IDX65"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX66"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
@@ -6888,73 +6899,73 @@ to permit their use in free software.
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX110"><CODE>bracketed-paste-begin ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_C"></A>C</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX173"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX174"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX175"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX176"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX119"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX120"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX195"><CODE>character-search (C-])</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#IDX196"><CODE>character-search (C-])</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#IDX197"><CODE>character-search-backward (M-C-])</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#IDX198"><CODE>character-search-backward (M-C-])</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#IDX197"><CODE>character-search (C-])</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#IDX198"><CODE>character-search (C-])</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#IDX199"><CODE>character-search-backward (M-C-])</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#IDX200"><CODE>character-search-backward (M-C-])</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#IDX61"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX62"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX8">colored-completion-prefix</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX9">colored-stats</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX10">comment-begin</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX157"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX158"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX159"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX160"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX11">completion-display-width</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX12">completion-ignore-case</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX13">completion-map-case</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX14">completion-prefix-display-length</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX15">completion-query-items</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX16">convert-meta</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX145"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX146"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX147"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX148"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX143"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX144"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX147"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX148"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX149"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX150"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX145"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX146"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_D"></A>D</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX97"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX98"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX167"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX168"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX139"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX140"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX153"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC18">1.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX154"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC18">1.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX169"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX170"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX141"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX142"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX155"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC18">1.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX156"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC18">1.4.5 Specifying Numeric Arguments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX17">disable-completion</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX181"><CODE>do-lowercase-version (M-A, M-B, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</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#IDX182"><CODE>do-lowercase-version (M-A, M-B, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</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#IDX183"><CODE>do-lowercase-version (M-A, M-B, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</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#IDX184"><CODE>do-lowercase-version (M-A, M-B, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</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#IDX117"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX118"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX203"><CODE>dump-functions ()</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#IDX204"><CODE>dump-functions ()</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#IDX207"><CODE>dump-macros ()</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#IDX208"><CODE>dump-macros ()</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#IDX205"><CODE>dump-variables ()</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#IDX206"><CODE>dump-variables ()</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#IDX205"><CODE>dump-functions ()</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#IDX206"><CODE>dump-functions ()</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#IDX209"><CODE>dump-macros ()</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#IDX210"><CODE>dump-macros ()</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#IDX207"><CODE>dump-variables ()</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#IDX208"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_E"></A>E</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX18">echo-control-characters</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX19">editing-mode</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX209"><CODE>emacs-editing-mode (C-e)</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#IDX210"><CODE>emacs-editing-mode (C-e)</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#IDX211"><CODE>emacs-editing-mode (C-e)</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#IDX212"><CODE>emacs-editing-mode (C-e)</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#IDX20">emacs-mode-string</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX21">enable-bracketed-paste</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX22">enable-keypad</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX171"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX172"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX173"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX174"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX95"><CODE><I>end-of-file</I> (usually C-d)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX96"><CODE><I>end-of-file</I> (usually C-d)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX73"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX74"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX47"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX48"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX193"><CODE>exchange-point-and-mark (C-x C-x)</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#IDX194"><CODE>exchange-point-and-mark (C-x C-x)</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#IDX195"><CODE>exchange-point-and-mark (C-x C-x)</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#IDX196"><CODE>exchange-point-and-mark (C-x C-x)</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#IDX23">expand-tilde</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_F"></A>F</TH><TD></TD><TD></TD></TR>
@@ -6982,18 +6993,18 @@ to permit their use in free software.
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_I"></A>I</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX27">input-meta</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX201"><CODE>insert-comment (M-#)</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#IDX202"><CODE>insert-comment (M-#)</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#IDX161"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX162"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX203"><CODE>insert-comment (M-#)</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#IDX204"><CODE>insert-comment (M-#)</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#IDX163"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX164"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX29">isearch-terminators</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_K"></A>K</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX30">keymap</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX123"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX124"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX141"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX142"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX143"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX144"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX129"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX130"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX131"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
@@ -7003,10 +7014,10 @@ to permit their use in free software.
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX31">mark-modified-lines</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX32">mark-symlinked-directories</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX33">match-hidden-files</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX163"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX164"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX165"><CODE>menu-complete-backward ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX166"><CODE>menu-complete-backward ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX165"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX166"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX167"><CODE>menu-complete-backward ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX168"><CODE>menu-complete-backward ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX34">menu-complete-display-prefix</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX28">meta-flag</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
@@ -7027,281 +7038,283 @@ to permit their use in free software.
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_P"></A>P</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX36">page-completions</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX159"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX160"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX183"><CODE>prefix-meta (<KBD>ESC</KBD>)</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#IDX184"><CODE>prefix-meta (<KBD>ESC</KBD>)</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#IDX161"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX162"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX185"><CODE>prefix-meta (<KBD>ESC</KBD>)</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#IDX186"><CODE>prefix-meta (<KBD>ESC</KBD>)</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#IDX67"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX68"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX57"><CODE>previous-screen-line ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX58"><CODE>previous-screen-line ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX175"><CODE>print-last-kbd-macro ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX176"><CODE>print-last-kbd-macro ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX177"><CODE>print-last-kbd-macro ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX178"><CODE>print-last-kbd-macro ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_Q"></A>Q</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX103"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX104"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_R"></A>R</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX177"><CODE>re-read-init-file (C-x C-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#IDX178"><CODE>re-read-init-file (C-x C-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#IDX213"><CODE>readline</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC24">2.1 Basic Behavior</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX179"><CODE>re-read-init-file (C-x C-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#IDX180"><CODE>re-read-init-file (C-x C-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#IDX215"><CODE>readline</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC24">2.1 Basic Behavior</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX63"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX64"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX75"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX76"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX37">revert-all-at-newline</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#IDX266"><CODE>rl_set_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#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#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#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#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></TD><TD valign=top><A HREF="readline.html#IDX189"><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#IDX190"><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#IDX257"><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#IDX293"><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#IDX296"><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#IDX338"><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#IDX228">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#IDX385">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#IDX412">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#IDX396">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#IDX395">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#IDX294"><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#IDX269"><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#IDX271"><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#IDX272"><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#IDX270"><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#IDX277"><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#IDX280"><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#IDX281"><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#IDX278"><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#IDX248">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#IDX354"><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#IDX357"><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#IDX355"><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#IDX356"><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#IDX358">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#IDX359">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#IDX361">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#IDX388">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#IDX366"><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#IDX363"><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#IDX353"><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#IDX309"><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#IDX323"><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#IDX373"><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#IDX304"><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#IDX374"><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#IDX377"><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#IDX376"><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#IDX399">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#IDX397">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#IDX403">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#IDX394">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#IDX375">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#IDX384">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#IDX407">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#IDX415">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#IDX408">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#IDX381"><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#IDX380"><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#IDX402">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#IDX405">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#IDX404">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#IDX406">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#IDX414">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#IDX398">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#IDX259"><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#IDX316"><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#IDX306"><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#IDX315"><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#IDX246">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#IDX326"><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#IDX337"><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#IDX390">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#IDX391">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#IDX261"><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#IDX224">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#IDX339"><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#IDX227">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#IDX298"><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#IDX221">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#IDX367"><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#IDX256">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#IDX263"><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#IDX219">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#IDX295"><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#IDX225">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#IDX240">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#IDX322"><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#IDX250">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#IDX247">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#IDX251">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#IDX249">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#IDX312"><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#IDX254">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#IDX335"><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#IDX410">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#IDX382"><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#IDX387">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#IDX400">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#IDX411">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#IDX386">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#IDX393">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#IDX392">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#IDX301"><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#IDX333"><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#IDX262"><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#IDX364"><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#IDX297"><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#IDX290"><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#IDX286"><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#IDX287"><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#IDX292"><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#IDX282"><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#IDX264"><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#IDX266"><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#IDX267"><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#IDX370"><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#IDX352"><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#IDX320"><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#IDX241">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#IDX231">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#IDX409">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#IDX389">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#IDX416">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#IDX336"><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#IDX243">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#IDX379"><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#IDX314"><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#IDX234">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#IDX288"><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#IDX289"><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#IDX252">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#IDX317"><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#IDX237">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#IDX229">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#IDX217">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#IDX291"><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#IDX346"><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#IDX347"><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#IDX258"><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#IDX260"><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#IDX220">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#IDX308"><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#IDX299"><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#IDX285"><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#IDX222">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#IDX255">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#IDX302"><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#IDX303"><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#IDX235">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#IDX283"><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#IDX223">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#IDX362"><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#IDX360">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#IDX218">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#IDX378"><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#IDX239">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#IDX236">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#IDX245">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#IDX325"><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#IDX226">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#IDX318"><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#IDX284"><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#IDX319"><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#IDX233">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#IDX253">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#IDX230">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#IDX300"><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#IDX244">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#IDX334"><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#IDX365"><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#IDX305"><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#IDX371"><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#IDX330"><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#IDX368"><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#IDX311"><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#IDX332"><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#IDX310"><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#IDX331"><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#IDX279"><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#IDX324"><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#IDX265"><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#IDX268"><CODE>rl_set_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#IDX351"><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#IDX313"><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#IDX369"><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#IDX372"><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#IDX307"><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#IDX242">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#IDX413">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#IDX401">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#IDX238">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#IDX321"><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#IDX232">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#IDX327"><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#IDX329"><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#IDX328"><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#IDX276"><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#IDX275"><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#IDX273"><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#IDX274"><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#IDX383"><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#IDX348"><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#IDX350"><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#IDX349"><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>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX108"><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>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX191"><CODE>set-mark (C-@)</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#IDX192"><CODE>set-mark (C-@)</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#IDX193"><CODE>set-mark (C-@)</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#IDX194"><CODE>set-mark (C-@)</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#IDX135"><CODE>shell-transpose-words (M-C-t)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX136"><CODE>shell-transpose-words (M-C-t)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX38">show-all-if-ambiguous</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX39">show-all-if-unmodified</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX40">show-mode-in-prompt</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX41">skip-completed-text</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX199"><CODE>skip-csi-sequence ()</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#IDX200"><CODE>skip-csi-sequence ()</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#IDX169"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX170"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX201"><CODE>skip-csi-sequence ()</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#IDX202"><CODE>skip-csi-sequence ()</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#IDX171"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX172"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_T"></A>T</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX105"><CODE>tab-insert (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX106"><CODE>tab-insert (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX189"><CODE>tilde-expand (M-~)</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#IDX190"><CODE>tilde-expand (M-~)</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#IDX191"><CODE>tilde-expand (M-~)</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#IDX192"><CODE>tilde-expand (M-~)</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#IDX111"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX112"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX113"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX114"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_U"></A>U</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX185"><CODE>undo (C-_ or C-x C-u)</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#IDX186"><CODE>undo (C-_ or C-x C-u)</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#IDX155"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC18">1.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX156"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC18">1.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX137"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX138"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX187"><CODE>undo (C-_ or C-x C-u)</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>undo (C-_ or C-x C-u)</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#IDX157"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC18">1.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX158"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC18">1.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX139"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX140"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX127"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX128"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX135"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX136"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX137"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX138"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX115"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX116"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_V"></A>V</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX42">vi-cmd-mode-string</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX211"><CODE>vi-editing-mode (M-C-j)</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#IDX212"><CODE>vi-editing-mode (M-C-j)</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#IDX213"><CODE>vi-editing-mode (M-C-j)</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#IDX214"><CODE>vi-editing-mode (M-C-j)</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#IDX43">vi-ins-mode-string</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX44">visible-stats</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_Y"></A>Y</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX149"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX150"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX151"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX152"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX93"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX94"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX91"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX92"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX151"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX152"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX153"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX154"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="readline.html#fn__" style="text-decoration:none"><b>_</b></A>
&nbsp;
@@ -7510,7 +7523,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</I> on <I>April, 17 2019</I>
+This document was generated by <I>Chet Ramey</I> on <I>November, 20 2019</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
@@ -7672,7 +7685,7 @@ the following structure:
<BR>
<FONT SIZE="-1">
This document was generated
-by <I>chet</I> on <I>April, 17 2019</I>
+by <I>Chet Ramey</I> on <I>November, 20 2019</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 86d2c74..69e6b57 100644
--- a/doc/readline.info
+++ b/doc/readline.info
@@ -1,6 +1,6 @@
-This is readline.info, produced by makeinfo version 6.5 from rlman.texi.
+This is readline.info, produced by makeinfo version 6.7 from rlman.texi.
-This manual describes the GNU Readline Library (version 8.0, 6 March
+This manual describes the GNU Readline Library (version 8.0, 15 November
2019), a library which aids in the consistency of user interface across
discrete programs which provide a command line interface.
@@ -1237,6 +1237,13 @@ File: readline.info, Node: Commands For Killing, Next: Numeric Arguments, Pre
Kill the word behind point. Word boundaries are the same as
'backward-word'.
+'shell-transpose-words (M-C-t)'
+ Drag the word before point past the word after point, moving point
+ past that word as well. If the insertion point is at the end of
+ the line, this transposes the last two words on the line. Word
+ boundaries are the same as 'shell-forward-word' and
+ 'shell-backward-word'.
+
'unix-word-rubout (C-w)'
Kill the word behind point, using white space as a word boundary.
The killed text is saved on the kill-ring.
@@ -3108,7 +3115,7 @@ to update its idea of the terminal size when it receives a 'SIGWINCH'.
Readline's idea of that terminal dimension is unchanged. This is
intended to tell Readline the physical dimensions of the terminal,
and is used internally to calculate the maximum number of
- characters that may appear on the screen.
+ characters that may appear on a single line and on the screen.
If an application does not want to install a 'SIGWINCH' handler, but
is still interested in the screen dimensions, it may query Readline's
@@ -4624,16 +4631,16 @@ Function and Variable Index
* convert-meta: Readline Init File Syntax.
(line 105)
* copy-backward-word (): Commands For Killing.
- (line 49)
+ (line 56)
* copy-forward-word (): Commands For Killing.
- (line 54)
+ (line 61)
* copy-region-as-kill (): Commands For Killing.
- (line 45)
+ (line 52)
* delete-char (C-d): Commands For Text. (line 12)
* delete-char-or-list (): Commands For Completion.
(line 39)
* delete-horizontal-space (): Commands For Killing.
- (line 37)
+ (line 44)
* digit-argument (M-0, M-1, ... M--): Numeric Arguments. (line 6)
* disable-completion: Readline Init File Syntax.
(line 113)
@@ -4699,7 +4706,7 @@ Function and Variable Index
* kill-line (C-k): Commands For Killing.
(line 6)
* kill-region (): Commands For Killing.
- (line 41)
+ (line 48)
* kill-whole-line (): Commands For Killing.
(line 15)
* kill-word (M-d): Commands For Killing.
@@ -5022,6 +5029,8 @@ Function and Variable Index
* self-insert (a, b, A, 1, !, ...): Commands For Text. (line 33)
* set-mark (C-@): Miscellaneous Commands.
(line 33)
+* shell-transpose-words (M-C-t): Commands For Killing.
+ (line 28)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 273)
* show-all-if-unmodified: Readline Init File Syntax.
@@ -5042,11 +5051,11 @@ Function and Variable Index
(line 23)
* universal-argument (): Numeric Arguments. (line 10)
* unix-filename-rubout (): Commands For Killing.
- (line 32)
+ (line 39)
* unix-line-discard (C-u): Commands For Killing.
(line 12)
* unix-word-rubout (C-w): Commands For Killing.
- (line 28)
+ (line 35)
* upcase-word (M-u): Commands For Text. (line 56)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 307)
@@ -5057,69 +5066,74 @@ Function and Variable Index
* visible-stats: Readline Init File Syntax.
(line 329)
* yank (C-y): Commands For Killing.
- (line 59)
+ (line 66)
* yank-last-arg (M-. or M-_): Commands For History.
(line 79)
* yank-nth-arg (M-C-y): Commands For History.
(line 70)
* yank-pop (M-y): Commands For Killing.
- (line 62)
+ (line 69)

Tag Table:
-Node: Top861
-Node: Command Line Editing1586
-Node: Introduction and Notation2238
-Node: Readline Interaction3862
-Node: Readline Bare Essentials5054
-Node: Readline Movement Commands6838
-Node: Readline Killing Commands7799
-Node: Readline Arguments9718
-Node: Searching10763
-Node: Readline Init File12916
-Node: Readline Init File Syntax14070
-Node: Conditional Init Constructs34229
-Node: Sample Init File38426
-Node: Bindable Readline Commands41544
-Node: Commands For Moving42599
-Node: Commands For History44166
-Node: Commands For Text48431
-Node: Commands For Killing51873
-Node: Numeric Arguments54040
-Node: Commands For Completion55180
-Node: Keyboard Macros57149
-Node: Miscellaneous Commands57837
-Node: Readline vi Mode61759
-Node: Programming with GNU Readline63576
-Node: Basic Behavior64562
-Node: Custom Functions68245
-Node: Readline Typedefs69728
-Node: Function Writing71362
-Node: Readline Variables72676
-Node: Readline Convenience Functions85348
-Node: Function Naming86420
-Node: Keymaps87682
-Node: Binding Keys90761
-Node: Associating Function Names and Bindings95309
-Node: Allowing Undoing98088
-Node: Redisplay100638
-Node: Modifying Text104662
-Node: Character Input105909
-Node: Terminal Management107807
-Node: Utility Functions109630
-Node: Miscellaneous Functions112958
-Node: Alternate Interface115547
-Node: A Readline Example118289
-Node: Alternate Interface Example120228
-Node: Readline Signal Handling123760
-Node: Custom Completers132998
-Node: How Completing Works133718
-Node: Completion Functions137025
-Node: Completion Variables140599
-Node: A Short Completion Example156390
-Node: GNU Free Documentation License169169
-Node: Concept Index194343
-Node: Function and Variable Index195864
+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 Constructs34233
+Node: Sample Init File38430
+Node: Bindable Readline Commands41548
+Node: Commands For Moving42603
+Node: Commands For History44170
+Node: Commands For Text48435
+Node: Commands For Killing51877
+Node: Numeric Arguments54373
+Node: Commands For Completion55513
+Node: Keyboard Macros57482
+Node: Miscellaneous Commands58170
+Node: Readline vi Mode62092
+Node: Programming with GNU Readline63909
+Node: Basic Behavior64895
+Node: Custom Functions68578
+Node: Readline Typedefs70061
+Node: Function Writing71695
+Node: Readline Variables73009
+Node: Readline Convenience Functions85681
+Node: Function Naming86753
+Node: Keymaps88015
+Node: Binding Keys91094
+Node: Associating Function Names and Bindings95642
+Node: Allowing Undoing98421
+Node: Redisplay100971
+Node: Modifying Text104995
+Node: Character Input106242
+Node: Terminal Management108140
+Node: Utility Functions109963
+Node: Miscellaneous Functions113291
+Node: Alternate Interface115880
+Node: A Readline Example118622
+Node: Alternate Interface Example120561
+Node: Readline Signal Handling124093
+Node: Custom Completers133352
+Node: How Completing Works134072
+Node: Completion Functions137379
+Node: Completion Variables140953
+Node: A Short Completion Example156744
+Node: GNU Free Documentation License169523
+Node: Concept Index194697
+Node: Function and Variable Index196218

End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git a/doc/readline.pdf b/doc/readline.pdf
index 5e4cfd8..de38be5 100644
--- a/doc/readline.pdf
+++ b/doc/readline.pdf
Binary files differ
diff --git a/doc/readline.ps b/doc/readline.ps
index 8a99c8f..98c35cd 100644
--- a/doc/readline.ps
+++ b/doc/readline.ps
@@ -1,8 +1,8 @@
%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software
+%%Creator: dvips(k) 5.999 Copyright 2019 Radical Eye Software
%%Title: readline.dvi
-%%CreationDate: Wed Apr 17 13:02:34 2019
-%%Pages: 81
+%%CreationDate: Wed Nov 20 14:49:29 2019
+%%Pages: 82
%%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 2019.04.17:0902
+%DVIPSSource: TeX output 2019.11.20:0949
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -6674,28 +6674,30 @@ ifelse
%%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(8.0,)i(for)e
-Fs(Readline)e(Library)h Ft(V)-8 b(ersion)31 b(8.0.)3285
-1623 y(Marc)m(h)g(2019)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
+Fs(Readline)e(Library)h Ft(V)-8 b(ersion)31 b(8.0.)3139
+1623 y(No)m(v)m(em)m(b)s(er)g(2019)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)37 b(man)m(ual)h(describ)s(es)
-f(the)h(GNU)g(Readline)g(Library)f(\(v)m(ersion)h(8.0,)j(6)d(Marc)m(h)h
-(2019\),)i(a)d(library)150 4523 y(whic)m(h)h(aids)g(in)g(the)g
-(consistency)h(of)g(user)e(in)m(terface)j(across)f(discrete)g(programs)
-e(whic)m(h)h(pro)m(vide)h(a)150 4633 y(command)30 b(line)h(in)m
-(terface.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577
-4767 y Fq(\015)f Ft(1988{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 Ft(This)22 b(man)m(ual)h(describ)s(es)
+g(the)g(GNU)g(Readline)h(Library)e(\(v)m(ersion)i(8.0,)h(15)f(No)m(v)m
+(em)m(b)s(er)g(2019\),)j(a)c(library)150 4523 y(whic)m(h)39
+b(aids)g(in)g(the)g(consistency)h(of)g(user)e(in)m(terface)j(across)f
+(discrete)g(programs)e(whic)m(h)h(pro)m(vide)h(a)150
+4633 y(command)30 b(line)h(in)m(terface.)150 4767 y(Cop)m(yrigh)m(t)602
+4764 y(c)577 4767 y Fq(\015)f Ft(1988{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
@@ -6758,14 +6760,14 @@ h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)26 b Ft(19)399 2540 y(1.4.5)93
b(Sp)s(ecifying)30 b(Numeric)g(Argumen)m(ts)e Fn(:)15
b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)41 b Ft(20)399 2649
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)41 b Ft(21)399 2649
y(1.4.6)93 b(Letting)31 b(Readline)g(T)m(yp)s(e)f(F)-8
b(or)31 b(Y)-8 b(ou)22 b Fn(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)35
b Ft(21)399 2759 y(1.4.7)93 b(Keyb)s(oard)29 b(Macros)11
b Fn(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)24 b Ft(21)399 2868 y(1.4.8)93
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)24 b Ft(22)399 2868 y(1.4.8)93
b(Some)30 b(Miscellaneous)j(Commands)16 b Fn(:)e(:)h(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)29 b Ft(22)275 2978 y(1.5)92 b(Readline)31
@@ -6774,105 +6776,105 @@ b(vi)f(Mo)s(de)10 b Fn(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)23
b Ft(23)150 3229 y Fr(2)135 b(Programming)46 b(with)f(GNU)g(Readline)37
b Fo(:)19 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)48
-b Fr(24)275 3366 y Ft(2.1)92 b(Basic)31 b(Beha)m(vior)23
+b Fr(25)275 3366 y Ft(2.1)92 b(Basic)31 b(Beha)m(vior)23
b Fn(:)17 b(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)36
-b Ft(24)275 3475 y(2.2)92 b(Custom)29 b(F)-8 b(unctions)19
+b Ft(25)275 3475 y(2.2)92 b(Custom)29 b(F)-8 b(unctions)19
b Fn(:)d(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)32 b Ft(25)399
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)32 b Ft(26)399
3585 y(2.2.1)93 b(Readline)31 b(T)m(yp)s(edefs)17 b Fn(:)e(:)g(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)30 b Ft(26)399 3694 y(2.2.2)93 b(W)-8 b(riting)31
+(:)30 b Ft(27)399 3694 y(2.2.2)93 b(W)-8 b(riting)31
b(a)g(New)g(F)-8 b(unction)24 b Fn(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)37 b Ft(26)275 3804 y(2.3)92
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)37 b Ft(27)275 3804 y(2.3)92
b(Readline)31 b(V)-8 b(ariables)11 b Fn(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)h(:)f(:)24 b Ft(27)275 3914 y(2.4)92 b(Readline)31
+(:)h(:)f(:)24 b Ft(28)275 3914 y(2.4)92 b(Readline)31
b(Con)m(v)m(enience)g(F)-8 b(unctions)22 b Fn(:)16 b(:)g(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)35 b Ft(32)399 4023 y(2.4.1)93
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)35 b Ft(33)399 4023 y(2.4.1)93
b(Naming)31 b(a)g(F)-8 b(unction)21 b Fn(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)34
-b Ft(32)399 4133 y(2.4.2)93 b(Selecting)32 b(a)e(Keymap)9
+b Ft(33)399 4133 y(2.4.2)93 b(Selecting)32 b(a)e(Keymap)9
b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)22 b Ft(33)399 4242 y(2.4.3)93 b(Binding)30
+f(:)h(:)f(:)g(:)h(:)22 b Ft(34)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(34)399 4352 y(2.4.4)93 b(Asso)s(ciating)32 b(F)-8
+b Ft(35)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
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39 b Ft(36)399
4462 y(2.4.5)93 b(Allo)m(wing)32 b(Undoing)26 b Fn(:)16
b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)40 b Ft(36)399 4571 y(2.4.6)93 b(Redispla)m(y)10
+f(:)g(:)h(:)f(:)40 b Ft(37)399 4571 y(2.4.6)93 b(Redispla)m(y)10
b Fn(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)23
-b Ft(37)399 4681 y(2.4.7)93 b(Mo)s(difying)30 b(T)-8
+b Ft(38)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(39)399
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)28 b Ft(40)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
+(:)g(:)35 b Ft(40)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(40)399 5010 y(2.4.10)93
+g(:)h(:)f(:)h(:)f(:)g(:)30 b Ft(41)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 Ft(41)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(42)399 5229 y(2.4.12)93 b(Alternate)32
+f(:)h(:)f(:)36 b Ft(43)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(43)399 5338
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)38 b Ft(44)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
-b Ft(43)p eop end
+b Ft(44)p eop end
%%Page: -2 4
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(45)275 193 y(2.5)92 b(Readline)31
+f(:)g(:)h(:)f(:)h(:)31 b Ft(46)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
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)31 b Ft(48)275 302
y(2.6)92 b(Custom)29 b(Completers)e Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)40 b Ft(50)399 412 y(2.6.1)93 b(Ho)m(w)31 b(Completing)g(W)-8
+(:)40 b Ft(51)399 412 y(2.6.1)93 b(Ho)m(w)31 b(Completing)g(W)-8
b(orks)11 b Fn(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)24 b Ft(50)399 521 y(2.6.2)93 b(Completion)31
+g(:)h(:)f(:)h(:)24 b Ft(51)399 521 y(2.6.2)93 b(Completion)31
b(F)-8 b(unctions)28 b Fn(:)15 b(:)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(:)40 b Ft(51)399 631 y(2.6.3)93
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)40 b Ft(52)399 631 y(2.6.3)93
b(Completion)31 b(V)-8 b(ariables)18 b Fn(:)e(:)g(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)31 b
-Ft(52)399 741 y(2.6.4)93 b(A)30 b(Short)g(Completion)h(Example)15
+Ft(53)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(57)150 991 y Fr(App)t(endix)44 b(A)119 b(GNU)39 b(F)-11
+Ft(58)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(66)150 1269 y(Concept)45 b(Index)36 b Fo(:)19
+b(:)32 b Fr(67)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(74)150 1548 y(F)-11 b(unction)44 b(and)h(V)-11
+h(:)49 b Fr(75)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(75)p
+f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fr(76)p
eop end
%%Page: 1 5
TeXDict begin 1 4 bop 3705 -116 a Ft(1)150 299 y Fp(1)80
@@ -8109,269 +8111,280 @@ TeXDict begin 20 23 bop 150 -116 a Ft(Chapter)30 b(1:)41
b(Command)29 b(Line)i(Editing)2107 b(20)150 299 y Fs
(backward-kill-line)25 b(\(C-x)30 b(Rubout\))630 408
y Ft(Kill)h(bac)m(kw)m(ard)g(from)e(the)i(cursor)f(to)h(the)f(b)s
-(eginning)g(of)h(the)f(curren)m(t)g(line.)150 566 y Fs
-(unix-line-discard)c(\(C-u\))630 675 y Ft(Kill)31 b(bac)m(kw)m(ard)g
+(eginning)g(of)h(the)f(curren)m(t)g(line.)150 564 y Fs
+(unix-line-discard)c(\(C-u\))630 673 y Ft(Kill)31 b(bac)m(kw)m(ard)g
(from)e(the)i(cursor)f(to)h(the)f(b)s(eginning)g(of)h(the)f(curren)m(t)
-g(line.)150 832 y Fs(kill-whole-line)c(\(\))630 942 y
+g(line.)150 828 y Fs(kill-whole-line)c(\(\))630 938 y
Ft(Kill)37 b(all)g(c)m(haracters)h(on)f(the)f(curren)m(t)h(line,)h(no)f
(matter)g(where)f(p)s(oin)m(t)h(is.)59 b(By)36 b(default,)630
-1052 y(this)30 b(is)h(un)m(b)s(ound.)150 1209 y Fs(kill-word)d(\(M-d\))
-630 1318 y Ft(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
+1047 y(this)30 b(is)h(un)m(b)s(ound.)150 1203 y Fs(kill-word)d(\(M-d\))
+630 1312 y Ft(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
(curren)m(t)h(w)m(ord,)f(or)g(if)h(b)s(et)m(w)m(een)g(w)m(ords,)f(to)h
-(the)g(end)630 1428 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
+(the)g(end)630 1422 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
b(ord)31 b(b)s(oundaries)e(are)h(the)h(same)g(as)f Fs(forward-word)p
-Ft(.)150 1585 y Fs(backward-kill-word)25 b(\(M-DEL\))630
-1695 y Ft(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40
+Ft(.)150 1577 y Fs(backward-kill-word)25 b(\(M-DEL\))630
+1686 y Ft(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40
b(W)-8 b(ord)29 b(b)s(oundaries)f(are)h(the)g(same)g(as)g
-Fs(backward-word)p Ft(.)150 1852 y Fs(unix-word-rubout)d(\(C-w\))630
-1961 y Ft(Kill)32 b(the)g(w)m(ord)f(b)s(ehind)f(p)s(oin)m(t,)i(using)f
-(white)h(space)g(as)g(a)g(w)m(ord)f(b)s(oundary)-8 b(.)43
-b(The)31 b(killed)630 2071 y(text)g(is)g(sa)m(v)m(ed)g(on)g(the)f
-(kill-ring.)150 2228 y Fs(unix-filename-rubout)25 b(\(\))630
-2338 y Ft(Kill)37 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e
+Fs(backward-word)p Ft(.)150 1842 y Fs(shell-transpose-words)c
+(\(M-C-t\))630 1951 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 2061 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 2170 y(last)j(t)m(w)m(o)h
+(w)m(ords)d(on)i(the)f(line.)41 b(W)-8 b(ord)31 b(b)s(oundaries)e(are)h
+(the)h(same)f(as)h Fs(shell-forward-)630 2280 y(word)e
+Ft(and)h Fs(shell-backward-word)p Ft(.)150 2435 y Fs(unix-word-rubout)c
+(\(C-w\))630 2545 y Ft(Kill)32 b(the)g(w)m(ord)f(b)s(ehind)f(p)s(oin)m
+(t,)i(using)f(white)h(space)g(as)g(a)g(w)m(ord)f(b)s(oundary)-8
+b(.)43 b(The)31 b(killed)630 2654 y(text)g(is)g(sa)m(v)m(ed)g(on)g(the)
+f(kill-ring.)150 2809 y Fs(unix-filename-rubout)25 b(\(\))630
+2919 y Ft(Kill)37 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e
(white)g(space)h(and)f(the)g(slash)g(c)m(haracter)i(as)f(the)630
-2447 y(w)m(ord)30 b(b)s(oundaries.)39 b(The)30 b(killed)h(text)g(is)g
-(sa)m(v)m(ed)g(on)g(the)f(kill-ring.)150 2605 y Fs
-(delete-horizontal-space)24 b(\(\))630 2714 y Ft(Delete)33
+3029 y(w)m(ord)30 b(b)s(oundaries.)39 b(The)30 b(killed)h(text)g(is)g
+(sa)m(v)m(ed)g(on)g(the)f(kill-ring.)150 3184 y Fs
+(delete-horizontal-space)24 b(\(\))630 3293 y Ft(Delete)33
b(all)e(spaces)g(and)e(tabs)i(around)e(p)s(oin)m(t.)41
-b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150 2871
-y Fs(kill-region)d(\(\))630 2981 y Ft(Kill)k(the)f(text)i(in)e(the)g
+b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150 3448
+y Fs(kill-region)d(\(\))630 3558 y Ft(Kill)k(the)f(text)i(in)e(the)g
(curren)m(t)h(region.)41 b(By)31 b(default,)f(this)h(command)f(is)g(un)
-m(b)s(ound.)150 3138 y Fs(copy-region-as-kill)25 b(\(\))630
-3248 y Ft(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h(the)f
+m(b)s(ound.)150 3713 y Fs(copy-region-as-kill)25 b(\(\))630
+3823 y Ft(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h(the)f
(kill)h(bu\013er,)f(so)g(it)h(can)f(b)s(e)f(y)m(ank)m(ed)i(righ)m(t)f
-(a)m(w)m(a)m(y)-8 b(.)630 3357 y(By)31 b(default,)f(this)h(command)f
-(is)g(un)m(b)s(ound.)150 3514 y Fs(copy-backward-word)25
-b(\(\))630 3624 y Ft(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m
+(a)m(w)m(a)m(y)-8 b(.)630 3932 y(By)31 b(default,)f(this)h(command)f
+(is)g(un)m(b)s(ound.)150 4087 y Fs(copy-backward-word)25
+b(\(\))630 4197 y Ft(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m
(t)g(to)i(the)e(kill)h(bu\013er.)64 b(The)38 b(w)m(ord)g(b)s(oundaries)
-f(are)i(the)630 3734 y(same)31 b(as)f Fs(backward-word)p
+f(are)i(the)630 4306 y(same)31 b(as)f Fs(backward-word)p
Ft(.)38 b(By)30 b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)150
-3891 y Fs(copy-forward-word)26 b(\(\))630 4000 y Ft(Cop)m(y)31
+4462 y Fs(copy-forward-word)26 b(\(\))630 4571 y Ft(Cop)m(y)31
b(the)g(w)m(ord)g(follo)m(wing)h(p)s(oin)m(t)f(to)h(the)f(kill)h
(bu\013er.)42 b(The)30 b(w)m(ord)h(b)s(oundaries)e(are)j(the)630
-4110 y(same)f(as)f Fs(forward-word)p Ft(.)38 b(By)30
+4681 y(same)f(as)f Fs(forward-word)p Ft(.)38 b(By)30
b(default,)h(this)g(command)f(is)g(un)m(b)s(ound.)150
-4267 y Fs(yank)f(\(C-y\))630 4377 y Ft(Y)-8 b(ank)31
+4836 y Fs(yank)f(\(C-y\))630 4945 y Ft(Y)-8 b(ank)31
b(the)f(top)h(of)g(the)f(kill)h(ring)f(in)m(to)i(the)e(bu\013er)g(at)h
-(p)s(oin)m(t.)150 4534 y Fs(yank-pop)d(\(M-y\))630 4643
+(p)s(oin)m(t.)150 5101 y Fs(yank-pop)d(\(M-y\))630 5210
y Ft(Rotate)36 b(the)f(kill-ring,)i(and)d(y)m(ank)h(the)f(new)g(top.)54
b(Y)-8 b(ou)35 b(can)g(only)f(do)h(this)f(if)h(the)g(prior)630
-4753 y(command)30 b(is)h Fs(yank)e Ft(or)h Fs(yank-pop)p
-Ft(.)150 4950 y Fi(1.4.5)63 b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m
-(ts)150 5121 y Fs(digit-argument)26 b(\()p Fl(M-0)p Fs(,)j
-Fl(M-1)p Fs(,)h(...)f Fl(M--)p Fs(\))630 5230 y Ft(Add)d(this)h(digit)g
-(to)h(the)f(argumen)m(t)g(already)h(accum)m(ulating,)h(or)e(start)h(a)f
-(new)f(argumen)m(t.)630 5340 y Fl(M--)j Ft(starts)i(a)g(negativ)m(e)i
-(argumen)m(t.)p eop end
+5320 y(command)30 b(is)h Fs(yank)e Ft(or)h Fs(yank-pop)p
+Ft(.)p eop end
%%Page: 21 25
TeXDict begin 21 24 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(21)150 299 y Fs
-(universal-argument)25 b(\(\))630 408 y Ft(This)g(is)g(another)h(w)m(a)
-m(y)g(to)h(sp)s(ecify)e(an)g(argumen)m(t.)40 b(If)25
-b(this)g(command)h(is)f(follo)m(w)m(ed)i(b)m(y)f(one)630
-518 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h(leading)h(min)m(us)
-e(sign,)h(those)g(digits)g(de\014ne)f(the)h(ar-)630 628
-y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)m(y)f
-(digits,)i(executing)f Fs(universal-argument)630 737
-y Ft(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
+b(Command)29 b(Line)i(Editing)2107 b(21)150 299 y Fi(1.4.5)63
+b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m(ts)150 472 y
+Fs(digit-argument)26 b(\()p Fl(M-0)p Fs(,)j Fl(M-1)p
+Fs(,)h(...)f Fl(M--)p Fs(\))630 581 y Ft(Add)d(this)h(digit)g(to)h(the)
+f(argumen)m(t)g(already)h(accum)m(ulating,)h(or)e(start)h(a)f(new)f
+(argumen)m(t.)630 691 y Fl(M--)j Ft(starts)i(a)g(negativ)m(e)i(argumen)
+m(t.)150 852 y Fs(universal-argument)25 b(\(\))630 962
+y Ft(This)g(is)g(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g(argumen)m
+(t.)40 b(If)25 b(this)g(command)h(is)f(follo)m(w)m(ed)i(b)m(y)f(one)630
+1071 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h(leading)h(min)m
+(us)e(sign,)h(those)g(digits)g(de\014ne)f(the)h(ar-)630
+1181 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)
+m(y)f(digits,)i(executing)f Fs(universal-argument)630
+1290 y Ft(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
(otherwise)g(ignored.)45 b(As)32 b(a)g(sp)s(ecial)h(case,)630
-847 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)d
-(a)h(c)m(haracter)i(that)e(is)g(neither)g(a)g(digit)630
-956 y(nor)41 b(min)m(us)f(sign,)k(the)e(argumen)m(t)f(coun)m(t)h(for)f
+1400 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)
+d(a)h(c)m(haracter)i(that)e(is)g(neither)g(a)g(digit)630
+1510 y(nor)41 b(min)m(us)f(sign,)k(the)e(argumen)m(t)f(coun)m(t)h(for)f
(the)h(next)f(command)g(is)g(m)m(ultiplied)h(b)m(y)630
-1066 y(four.)54 b(The)35 b(argumen)m(t)g(coun)m(t)h(is)f(initially)h
+1619 y(four.)54 b(The)35 b(argumen)m(t)g(coun)m(t)h(is)f(initially)h
(one,)h(so)e(executing)i(this)e(function)f(the)i(\014rst)630
-1176 y(time)29 b(mak)m(es)h(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)h
+1729 y(time)29 b(mak)m(es)h(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)h
(second)g(time)g(mak)m(es)h(the)e(argumen)m(t)h(coun)m(t)630
-1285 y(sixteen,)i(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g
-(not)h(b)s(ound)d(to)k(a)e(k)m(ey)-8 b(.)150 1498 y Fi(1.4.6)63
+1838 y(sixteen,)i(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g
+(not)h(b)s(ound)d(to)k(a)e(k)m(ey)-8 b(.)150 2039 y Fi(1.4.6)63
b(Letting)40 b(Readline)h(T)m(yp)s(e)g(F)-10 b(or)42
-b(Y)-10 b(ou)150 1676 y Fs(complete)28 b(\(TAB\))630
-1785 y Ft(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g
+b(Y)-10 b(ou)150 2212 y Fs(complete)28 b(\(TAB\))630
+2322 y Ft(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g
(b)s(efore)f(p)s(oin)m(t.)39 b(The)22 b(actual)i(completion)630
-1895 y(p)s(erformed)29 b(is)h(application-sp)s(eci\014c.)42
+2431 y(p)s(erformed)29 b(is)h(application-sp)s(eci\014c.)42
b(The)30 b(default)h(is)f(\014lename)h(completion.)150
-2068 y Fs(possible-completions)25 b(\(M-?\))630 2177
+2593 y Fs(possible-completions)25 b(\(M-?\))630 2702
y Ft(List)35 b(the)g(p)s(ossible)f(completions)i(of)e(the)h(text)h(b)s
(efore)e(p)s(oin)m(t.)54 b(When)34 b(displa)m(ying)h(com-)630
-2287 y(pletions,)f(Readline)f(sets)f(the)h(n)m(um)m(b)s(er)e(of)i
+2812 y(pletions,)f(Readline)f(sets)f(the)h(n)m(um)m(b)s(er)e(of)i
(columns)f(used)f(for)i(displa)m(y)f(to)h(the)g(v)-5
-b(alue)33 b(of)630 2396 y Fs(completion-display-width)o
+b(alue)33 b(of)630 2921 y Fs(completion-display-width)o
Ft(,)g(the)j(v)-5 b(alue)37 b(of)g(the)f(en)m(vironmen)m(t)h(v)-5
-b(ariable)38 b Fs(COLUMNS)p Ft(,)630 2506 y(or)30 b(the)h(screen)f
-(width,)g(in)g(that)h(order.)150 2678 y Fs(insert-completions)25
-b(\(M-*\))630 2788 y Ft(Insert)30 b(all)h(completions)h(of)f(the)g
+b(ariable)38 b Fs(COLUMNS)p Ft(,)630 3031 y(or)30 b(the)h(screen)f
+(width,)g(in)g(that)h(order.)150 3192 y Fs(insert-completions)25
+b(\(M-*\))630 3302 y Ft(Insert)30 b(all)h(completions)h(of)f(the)g
(text)g(b)s(efore)f(p)s(oin)m(t)h(that)g(w)m(ould)f(ha)m(v)m(e)i(b)s
-(een)e(generated)630 2898 y(b)m(y)g Fs(possible-completions)p
-Ft(.)150 3070 y Fs(menu-complete)d(\(\))630 3180 y Ft(Similar)d(to)g
+(een)e(generated)630 3411 y(b)m(y)g Fs(possible-completions)p
+Ft(.)150 3573 y Fs(menu-complete)d(\(\))630 3682 y Ft(Similar)d(to)g
Fs(complete)p Ft(,)f(but)h(replaces)g(the)g(w)m(ord)g(to)g(b)s(e)f
-(completed)i(with)e(a)i(single)f(matc)m(h)630 3289 y(from)37
+(completed)i(with)e(a)i(single)f(matc)m(h)630 3792 y(from)37
b(the)h(list)h(of)f(p)s(ossible)f(completions.)64 b(Rep)s(eated)39
-b(execution)g(of)f Fs(menu-complete)630 3399 y Ft(steps)i(through)g
+b(execution)g(of)f Fs(menu-complete)630 3901 y Ft(steps)i(through)g
(the)g(list)h(of)f(p)s(ossible)g(completions,)k(inserting)c(eac)m(h)i
-(matc)m(h)f(in)f(turn.)630 3508 y(A)m(t)e(the)f(end)f(of)h(the)g(list)g
+(matc)m(h)f(in)f(turn.)630 4011 y(A)m(t)e(the)f(end)f(of)h(the)g(list)g
(of)g(completions,)i(the)e(b)s(ell)g(is)g(rung)f(\(sub)5
-b(ject)36 b(to)i(the)f(setting)630 3618 y(of)f Fs(bell-style)p
+b(ject)36 b(to)i(the)f(setting)630 4121 y(of)f Fs(bell-style)p
Ft(\))e(and)h(the)h(original)i(text)f(is)f(restored.)57
b(An)36 b(argumen)m(t)h(of)f Fj(n)f Ft(mo)m(v)m(es)i
-Fj(n)630 3728 y Ft(p)s(ositions)e(forw)m(ard)f(in)g(the)h(list)h(of)e
+Fj(n)630 4230 y Ft(p)s(ositions)e(forw)m(ard)f(in)g(the)h(list)h(of)e
(matc)m(hes;)39 b(a)c(negativ)m(e)i(argumen)m(t)e(ma)m(y)g(b)s(e)f
-(used)g(to)630 3837 y(mo)m(v)m(e)40 b(bac)m(kw)m(ard)e(through)g(the)g
+(used)g(to)630 4340 y(mo)m(v)m(e)40 b(bac)m(kw)m(ard)e(through)g(the)g
(list.)65 b(This)38 b(command)g(is)g(in)m(tended)g(to)h(b)s(e)f(b)s
-(ound)e(to)630 3947 y Fs(TAB)p Ft(,)30 b(but)f(is)i(un)m(b)s(ound)d(b)m
-(y)i(default.)150 4119 y Fs(menu-complete-backward)24
-b(\(\))630 4229 y Ft(Iden)m(tical)36 b(to)g Fs(menu-complete)p
+(ound)e(to)630 4449 y Fs(TAB)p Ft(,)30 b(but)f(is)i(un)m(b)s(ound)d(b)m
+(y)i(default.)150 4611 y Fs(menu-complete-backward)24
+b(\(\))630 4720 y Ft(Iden)m(tical)36 b(to)g Fs(menu-complete)p
Ft(,)d(but)h(mo)m(v)m(es)j(bac)m(kw)m(ard)e(through)f(the)i(list)f(of)g
-(p)s(ossible)630 4338 y(completions,)d(as)e(if)h Fs(menu-complete)26
+(p)s(ossible)630 4830 y(completions,)d(as)e(if)h Fs(menu-complete)26
b Ft(had)k(b)s(een)g(giv)m(en)h(a)g(negativ)m(e)i(argumen)m(t.)150
-4511 y Fs(delete-char-or-list)25 b(\(\))630 4620 y Ft(Deletes)41
+4991 y Fs(delete-char-or-list)25 b(\(\))630 5101 y Ft(Deletes)41
b(the)e(c)m(haracter)h(under)e(the)h(cursor)f(if)h(not)g(at)g(the)h(b)s
-(eginning)e(or)h(end)f(of)h(the)630 4730 y(line)50 b(\(lik)m(e)h
+(eginning)e(or)h(end)f(of)h(the)630 5210 y(line)50 b(\(lik)m(e)h
Fs(delete-char)p Ft(\).)96 b(If)49 b(at)h(the)g(end)f(of)h(the)f(line,)
-55 b(b)s(eha)m(v)m(es)c(iden)m(tically)g(to)630 4840
+55 b(b)s(eha)m(v)m(es)c(iden)m(tically)g(to)630 5320
y Fs(possible-completions)p Ft(.)35 b(This)30 b(command)g(is)g(un)m(b)s
-(ound)e(b)m(y)i(default.)150 5052 y Fi(1.4.7)63 b(Keyb)s(oard)41
-b(Macros)150 5230 y Fs(start-kbd-macro)26 b(\(C-x)j(\(\))630
-5340 y Ft(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i(t)m(yp)s(ed)e(in)m
-(to)h(the)g(curren)m(t)f(k)m(eyb)s(oard)g(macro.)p eop
-end
+(ound)e(b)m(y)i(default.)p eop end
%%Page: 22 26
TeXDict begin 22 25 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(22)150 299 y Fs(end-kbd-macro)27
-b(\(C-x)i(\)\))630 408 y Ft(Stop)e(sa)m(ving)h(the)g(c)m(haracters)g(t)
-m(yp)s(ed)f(in)m(to)i(the)e(curren)m(t)g(k)m(eyb)s(oard)g(macro)h(and)f
-(sa)m(v)m(e)i(the)630 518 y(de\014nition.)150 671 y Fs
-(call-last-kbd-macro)c(\(C-x)k(e\))630 780 y Ft(Re-execute)37
-b(the)e(last)h(k)m(eyb)s(oard)f(macro)h(de\014ned,)f(b)m(y)h(making)f
-(the)g(c)m(haracters)i(in)e(the)630 890 y(macro)c(app)s(ear)f(as)g(if)h
-(t)m(yp)s(ed)f(at)h(the)f(k)m(eyb)s(oard.)150 1042 y
-Fs(print-last-kbd-macro)25 b(\(\))630 1152 y Ft(Prin)m(t)30
-b(the)h(last)g(k)m(eb)s(oard)f(macro)h(de\014ned)e(in)i(a)f(format)h
-(suitable)g(for)f(the)h Fj(inputrc)k Ft(\014le.)150 1344
-y Fi(1.4.8)63 b(Some)41 b(Miscellaneous)i(Commands)150
-1513 y Fs(re-read-init-file)26 b(\(C-x)j(C-r\))630 1622
-y Ft(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)f(the)g
+b(Command)29 b(Line)i(Editing)2107 b(22)150 299 y Fi(1.4.7)63
+b(Keyb)s(oard)41 b(Macros)150 465 y Fs(start-kbd-macro)26
+b(\(C-x)j(\(\))630 575 y Ft(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i
+(t)m(yp)s(ed)e(in)m(to)h(the)g(curren)m(t)f(k)m(eyb)s(oard)g(macro.)150
+723 y Fs(end-kbd-macro)d(\(C-x)i(\)\))630 833 y Ft(Stop)e(sa)m(ving)h
+(the)g(c)m(haracters)g(t)m(yp)s(ed)f(in)m(to)i(the)e(curren)m(t)g(k)m
+(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i(the)630 942
+y(de\014nition.)150 1091 y Fs(call-last-kbd-macro)c(\(C-x)k(e\))630
+1200 y Ft(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)f(macro)h
+(de\014ned,)f(b)m(y)h(making)f(the)g(c)m(haracters)i(in)e(the)630
+1310 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m(eyb)s
+(oard.)150 1458 y Fs(print-last-kbd-macro)25 b(\(\))630
+1568 y Ft(Prin)m(t)30 b(the)h(last)g(k)m(eb)s(oard)f(macro)h(de\014ned)
+e(in)i(a)f(format)h(suitable)g(for)f(the)h Fj(inputrc)k
+Ft(\014le.)150 1756 y Fi(1.4.8)63 b(Some)41 b(Miscellaneous)i(Commands)
+150 1922 y Fs(re-read-init-file)26 b(\(C-x)j(C-r\))630
+2032 y Ft(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)f(the)g
Fj(inputrc)27 b Ft(\014le,)d(and)d(incorp)s(orate)h(an)m(y)h(bindings)d
-(or)i(v)-5 b(ariable)630 1732 y(assignmen)m(ts)31 b(found)e(there.)150
-1885 y Fs(abort)g(\(C-g\))630 1994 y Ft(Ab)s(ort)d(the)h(curren)m(t)f
+(or)i(v)-5 b(ariable)630 2142 y(assignmen)m(ts)31 b(found)e(there.)150
+2290 y Fs(abort)g(\(C-g\))630 2400 y Ft(Ab)s(ort)d(the)h(curren)m(t)f
(editing)h(command)f(and)g(ring)h(the)f(terminal's)h(b)s(ell)g(\(sub)5
-b(ject)26 b(to)i(the)630 2104 y(setting)j(of)g Fs(bell-style)p
-Ft(\).)150 2256 y Fs(do-lowercase-version)25 b(\(M-A,)k(M-B,)g(M-)p
-Fl(x)p Fs(,)g(...)o(\))630 2366 y Ft(If)35 b(the)g(meta\014ed)g(c)m
+b(ject)26 b(to)i(the)630 2509 y(setting)j(of)g Fs(bell-style)p
+Ft(\).)150 2658 y Fs(do-lowercase-version)25 b(\(M-A,)k(M-B,)g(M-)p
+Fl(x)p Fs(,)g(...)o(\))630 2767 y Ft(If)35 b(the)g(meta\014ed)g(c)m
(haracter)i Fj(x)k Ft(is)35 b(upp)s(er)e(case,)k(run)d(the)h(command)g
-(that)g(is)g(b)s(ound)e(to)630 2476 y(the)g(corresp)s(onding)f
+(that)g(is)g(b)s(ound)e(to)630 2877 y(the)g(corresp)s(onding)f
(meta\014ed)h(lo)m(w)m(er)i(case)f(c)m(haracter.)50 b(The)32
-b(b)s(eha)m(vior)h(is)g(unde\014ned)e(if)630 2585 y Fj(x)37
-b Ft(is)30 b(already)h(lo)m(w)m(er)h(case.)150 2738 y
-Fs(prefix-meta)27 b(\(ESC\))630 2847 y Ft(Metafy)39 b(the)e(next)h(c)m
+b(b)s(eha)m(vior)h(is)g(unde\014ned)e(if)630 2986 y Fj(x)37
+b Ft(is)30 b(already)h(lo)m(w)m(er)h(case.)150 3135 y
+Fs(prefix-meta)27 b(\(ESC\))630 3244 y Ft(Metafy)39 b(the)e(next)h(c)m
(haracter)h(t)m(yp)s(ed.)62 b(This)37 b(is)g(for)h(k)m(eyb)s(oards)f
-(without)g(a)h(meta)g(k)m(ey)-8 b(.)630 2957 y(T)m(yping)30
+(without)g(a)h(meta)g(k)m(ey)-8 b(.)630 3354 y(T)m(yping)30
b(`)p Fs(ESC)g(f)p Ft(')g(is)h(equiv)-5 b(alen)m(t)31
-b(to)g(t)m(yping)g Fl(M-f)p Ft(.)150 3109 y Fs(undo)e(\(C-_)g(or)h(C-x)
-g(C-u\))630 3219 y Ft(Incremen)m(tal)h(undo,)f(separately)h(remem)m(b)s
-(ered)f(for)g(eac)m(h)i(line.)150 3372 y Fs(revert-line)27
-b(\(M-r\))630 3481 y Ft(Undo)33 b(all)h(c)m(hanges)g(made)f(to)h(this)f
+b(to)g(t)m(yping)g Fl(M-f)p Ft(.)150 3502 y Fs(undo)e(\(C-_)g(or)h(C-x)
+g(C-u\))630 3612 y Ft(Incremen)m(tal)h(undo,)f(separately)h(remem)m(b)s
+(ered)f(for)g(eac)m(h)i(line.)150 3760 y Fs(revert-line)27
+b(\(M-r\))630 3870 y Ft(Undo)33 b(all)h(c)m(hanges)g(made)f(to)h(this)f
(line.)49 b(This)32 b(is)h(lik)m(e)i(executing)f(the)f
-Fs(undo)f Ft(command)630 3591 y(enough)e(times)h(to)g(get)h(bac)m(k)f
-(to)g(the)f(b)s(eginning.)150 3743 y Fs(tilde-expand)d(\(M-~\))630
-3853 y Ft(P)m(erform)j(tilde)h(expansion)g(on)f(the)g(curren)m(t)h(w)m
-(ord.)150 4006 y Fs(set-mark)d(\(C-@\))630 4115 y Ft(Set)33
+Fs(undo)f Ft(command)630 3979 y(enough)e(times)h(to)g(get)h(bac)m(k)f
+(to)g(the)f(b)s(eginning.)150 4128 y Fs(tilde-expand)d(\(M-~\))630
+4237 y Ft(P)m(erform)j(tilde)h(expansion)g(on)f(the)g(curren)m(t)h(w)m
+(ord.)150 4386 y Fs(set-mark)d(\(C-@\))630 4495 y Ft(Set)33
b(the)g(mark)f(to)i(the)f(p)s(oin)m(t.)48 b(If)32 b(a)h(n)m(umeric)g
(argumen)m(t)g(is)g(supplied,)f(the)h(mark)g(is)f(set)630
-4225 y(to)f(that)g(p)s(osition.)150 4377 y Fs(exchange-point-and-mark)
-24 b(\(C-x)29 b(C-x\))630 4487 y Ft(Sw)m(ap)i(the)g(p)s(oin)m(t)g(with)
+4605 y(to)f(that)g(p)s(osition.)150 4753 y Fs(exchange-point-and-mark)
+24 b(\(C-x)29 b(C-x\))630 4863 y Ft(Sw)m(ap)i(the)g(p)s(oin)m(t)g(with)
g(the)g(mark.)43 b(The)31 b(curren)m(t)g(cursor)f(p)s(osition)i(is)f
-(set)h(to)f(the)h(sa)m(v)m(ed)630 4596 y(p)s(osition,)f(and)e(the)i
+(set)h(to)f(the)h(sa)m(v)m(ed)630 4972 y(p)s(osition,)f(and)e(the)i
(old)g(cursor)e(p)s(osition)i(is)f(sa)m(v)m(ed)i(as)e(the)h(mark.)150
-4749 y Fs(character-search)26 b(\(C-]\))630 4859 y Ft(A)f(c)m(haracter)
+5121 y Fs(character-search)26 b(\(C-]\))630 5230 y Ft(A)f(c)m(haracter)
h(is)f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)g(the)f(next)g
-(o)s(ccurrence)g(of)g(that)g(c)m(haracter.)630 4968 y(A)30
+(o)s(ccurrence)g(of)g(that)g(c)m(haracter.)630 5340 y(A)30
b(negativ)m(e)j(coun)m(t)e(searc)m(hes)g(for)f(previous)g(o)s
-(ccurrences.)150 5121 y Fs(character-search-backwar)o(d)24
-b(\(M-C-]\))630 5230 y Ft(A)45 b(c)m(haracter)h(is)f(read)g(and)f(p)s
-(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)f(the)g(previous)f(o)s(ccurrence)h(of)
-g(that)630 5340 y(c)m(haracter.)d(A)31 b(negativ)m(e)h(coun)m(t)f
-(searc)m(hes)h(for)e(subsequen)m(t)f(o)s(ccurrences.)p
-eop end
+(ccurrences.)p eop end
%%Page: 23 27
TeXDict begin 23 26 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(23)150 299 y Fs(skip-csi-sequence)
-26 b(\(\))630 408 y Ft(Read)i(enough)f(c)m(haracters)h(to)g(consume)f
-(a)h(m)m(ulti-k)m(ey)h(sequence)f(suc)m(h)f(as)g(those)h(de\014ned)630
-518 y(for)37 b(k)m(eys)h(lik)m(e)g(Home)g(and)f(End.)60
+b(Command)29 b(Line)i(Editing)2107 b(23)150 299 y Fs
+(character-search-backwar)o(d)24 b(\(M-C-]\))630 408
+y Ft(A)45 b(c)m(haracter)h(is)f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)
+m(ed)h(to)f(the)g(previous)f(o)s(ccurrence)h(of)g(that)630
+518 y(c)m(haracter.)d(A)31 b(negativ)m(e)h(coun)m(t)f(searc)m(hes)h
+(for)e(subsequen)m(t)f(o)s(ccurrences.)150 688 y Fs(skip-csi-sequence)d
+(\(\))630 798 y Ft(Read)i(enough)f(c)m(haracters)h(to)g(consume)f(a)h
+(m)m(ulti-k)m(ey)h(sequence)f(suc)m(h)f(as)g(those)h(de\014ned)630
+907 y(for)37 b(k)m(eys)h(lik)m(e)g(Home)g(and)f(End.)60
b(Suc)m(h)37 b(sequences)g(b)s(egin)g(with)g(a)h(Con)m(trol)g(Sequence)
-630 628 y(Indicator)f(\(CSI\),)f(usually)h(ESC-[.)59
+630 1017 y(Indicator)f(\(CSI\),)f(usually)h(ESC-[.)59
b(If)36 b(this)g(sequence)h(is)g(b)s(ound)d(to)k Fs("\\)p
-Ft(e[)p Fs(")p Ft(,)g(k)m(eys)f(pro-)630 737 y(ducing)31
+Ft(e[)p Fs(")p Ft(,)g(k)m(eys)f(pro-)630 1127 y(ducing)31
b(suc)m(h)h(sequences)g(will)h(ha)m(v)m(e)g(no)f(e\013ect)h(unless)e
-(explicitly)j(b)s(ound)c(to)i(a)h(readline)630 847 y(command,)f
+(explicitly)j(b)s(ound)c(to)i(a)h(readline)630 1236 y(command,)f
(instead)g(of)g(inserting)g(stra)m(y)h(c)m(haracters)g(in)m(to)g(the)f
-(editing)h(bu\013er.)44 b(This)31 b(is)630 956 y(un)m(b)s(ound)d(b)m(y)
-i(default,)h(but)f(usually)g(b)s(ound)e(to)j(ESC-[.)150
-1116 y Fs(insert-comment)26 b(\(M-#\))630 1225 y Ft(Without)36
+(editing)h(bu\013er.)44 b(This)31 b(is)630 1346 y(un)m(b)s(ound)d(b)m
+(y)i(default,)h(but)f(usually)g(b)s(ound)e(to)j(ESC-[.)150
+1516 y Fs(insert-comment)26 b(\(M-#\))630 1626 y Ft(Without)36
b(a)g(n)m(umeric)g(argumen)m(t,)h(the)f(v)-5 b(alue)36
b(of)g(the)g Fs(comment-begin)c Ft(v)-5 b(ariable)36
-b(is)g(in-)630 1335 y(serted)c(at)g(the)g(b)s(eginning)f(of)h(the)f
+b(is)g(in-)630 1735 y(serted)c(at)g(the)g(b)s(eginning)f(of)h(the)f
(curren)m(t)h(line.)45 b(If)31 b(a)h(n)m(umeric)f(argumen)m(t)h(is)g
-(supplied,)630 1444 y(this)k(command)h(acts)g(as)g(a)g(toggle:)55
+(supplied,)630 1845 y(this)k(command)h(acts)g(as)g(a)g(toggle:)55
b(if)37 b(the)f(c)m(haracters)i(at)g(the)e(b)s(eginning)g(of)h(the)g
-(line)630 1554 y(do)30 b(not)h(matc)m(h)h(the)f(v)-5
+(line)630 1954 y(do)30 b(not)h(matc)m(h)h(the)f(v)-5
b(alue)31 b(of)f Fs(comment-begin)p Ft(,)e(the)i(v)-5
-b(alue)31 b(is)g(inserted,)g(otherwise)g(the)630 1664
+b(alue)31 b(is)g(inserted,)g(otherwise)g(the)630 2064
y(c)m(haracters)42 b(in)d Fs(comment-begin)e Ft(are)j(deleted)h(from)f
-(the)g(b)s(eginning)g(of)g(the)g(line.)71 b(In)630 1773
+(the)g(b)s(eginning)g(of)g(the)g(line.)71 b(In)630 2174
y(either)31 b(case,)h(the)e(line)h(is)f(accepted)i(as)f(if)f(a)h
-(newline)f(had)g(b)s(een)f(t)m(yp)s(ed.)150 1932 y Fs(dump-functions)d
-(\(\))630 2042 y Ft(Prin)m(t)g(all)i(of)e(the)h(functions)f(and)g
+(newline)f(had)g(b)s(een)f(t)m(yp)s(ed.)150 2344 y Fs(dump-functions)d
+(\(\))630 2453 y Ft(Prin)m(t)g(all)i(of)e(the)h(functions)f(and)g
(their)g(k)m(ey)h(bindings)e(to)j(the)e(Readline)h(output)f(stream.)630
-2151 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h
+2563 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h
(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)m(y)g(that)630
-2261 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fj(inputrc)k
+2673 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fj(inputrc)k
Ft(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k
-(default.)150 2420 y Fs(dump-variables)26 b(\(\))630
-2530 y Ft(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5
+(default.)150 2843 y Fs(dump-variables)26 b(\(\))630
+2952 y Ft(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5
b(ariables)22 b(and)f(their)g(v)-5 b(alues)22 b(to)g(the)f(Readline)h
-(output)f(stream.)630 2639 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)
+(output)f(stream.)630 3062 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)
g(supplied,)f(the)h(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)
-m(y)g(that)630 2749 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h
+m(y)g(that)630 3172 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h
Fj(inputrc)k Ft(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c
-(b)m(y)k(default.)150 2908 y Fs(dump-macros)c(\(\))630
-3018 y Ft(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)
+(b)m(y)k(default.)150 3342 y Fs(dump-macros)c(\(\))630
+3451 y Ft(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)
f(b)s(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630
-3127 y(output.)53 b(If)35 b(a)g(n)m(umeric)f(argumen)m(t)i(is)e
+3561 y(output.)53 b(If)35 b(a)g(n)m(umeric)f(argumen)m(t)i(is)e
(supplied,)h(the)g(output)g(is)f(formatted)i(in)e(suc)m(h)h(a)630
-3237 y(w)m(a)m(y)c(that)g(it)f(can)g(b)s(e)g(made)g(part)f(of)i(an)e
+3671 y(w)m(a)m(y)c(that)g(it)f(can)g(b)s(e)g(made)g(part)f(of)i(an)e
Fj(inputrc)35 b Ft(\014le.)41 b(This)29 b(command)h(is)g(un)m(b)s(ound)
-d(b)m(y)630 3346 y(default.)150 3506 y Fs(emacs-editing-mode)e(\(C-e\))
-630 3615 y Ft(When)30 b(in)g Fs(vi)g Ft(command)g(mo)s(de,)g(this)h
+d(b)m(y)630 3780 y(default.)150 3950 y Fs(emacs-editing-mode)e(\(C-e\))
+630 4060 y Ft(When)30 b(in)g Fs(vi)g Ft(command)g(mo)s(de,)g(this)h
(causes)f(a)h(switc)m(h)g(to)g Fs(emacs)e Ft(editing)i(mo)s(de.)150
-3774 y Fs(vi-editing-mode)26 b(\(M-C-j\))630 3884 y Ft(When)k(in)g
+4230 y Fs(vi-editing-mode)26 b(\(M-C-j\))630 4340 y Ft(When)k(in)g
Fs(emacs)f Ft(editing)i(mo)s(de,)f(this)h(causes)f(a)h(switc)m(h)g(to)g
-Fs(vi)f Ft(editing)h(mo)s(de.)150 4124 y Fr(1.5)68 b(Readline)47
-b(vi)e(Mo)t(de)150 4284 y Ft(While)32 b(the)g(Readline)g(library)f(do)s
+Fs(vi)f Ft(editing)h(mo)s(de.)150 4597 y Fr(1.5)68 b(Readline)47
+b(vi)e(Mo)t(de)150 4756 y Ft(While)32 b(the)g(Readline)g(library)f(do)s
(es)g(not)h(ha)m(v)m(e)h(a)f(full)f(set)h(of)g Fs(vi)f
Ft(editing)h(functions,)f(it)h(do)s(es)g(con)m(tain)150
-4393 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52
+4866 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52
b(The)34 b(Readline)g Fs(vi)g Ft(mo)s(de)f(b)s(eha)m(v)m(es)i(as)f(sp)s
-(eci\014ed)f(in)150 4503 y(the)e Fm(posix)e Ft(standard.)275
-4637 y(In)f(order)g(to)i(switc)m(h)g(in)m(teractiv)m(ely)i(b)s(et)m(w)m
+(eci\014ed)f(in)150 4975 y(the)e Fm(posix)e Ft(standard.)275
+5121 y(In)f(order)g(to)i(switc)m(h)g(in)m(teractiv)m(ely)i(b)s(et)m(w)m
(een)d Fs(emacs)f Ft(and)g Fs(vi)h Ft(editing)g(mo)s(des,)g(use)g(the)g
-(command)150 4747 y Fl(M-C-j)36 b Ft(\(b)s(ound)h(to)h
+(command)150 5230 y Fl(M-C-j)36 b Ft(\(b)s(ound)h(to)h
(emacs-editing-mo)s(de)i(when)d(in)g Fs(vi)h Ft(mo)s(de)f(and)g(to)i
-(vi-editing-mo)s(de)g(in)e Fs(emacs)150 4857 y Ft(mo)s(de\).)k(The)30
-b(Readline)h(default)f(is)g Fs(emacs)f Ft(mo)s(de.)275
-4991 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f(in)g Fs(vi)f
-Ft(mo)s(de,)h(y)m(ou)h(are)f(already)h(placed)f(in)g(`insertion')g(mo)s
-(de,)g(as)h(if)f(y)m(ou)150 5101 y(had)f(t)m(yp)s(ed)g(an)g(`)p
-Fs(i)p Ft('.)41 b(Pressing)29 b Fs(ESC)f Ft(switc)m(hes)i(y)m(ou)g(in)m
-(to)h(`command')e(mo)s(de,)h(where)e(y)m(ou)i(can)g(edit)g(the)150
-5210 y(text)35 b(of)f(the)g(line)g(with)f(the)h(standard)f
+(vi-editing-mo)s(de)g(in)e Fs(emacs)150 5340 y Ft(mo)s(de\).)k(The)30
+b(Readline)h(default)f(is)g Fs(emacs)f Ft(mo)s(de.)p
+eop end
+%%Page: 24 28
+TeXDict begin 24 27 bop 150 -116 a Ft(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2107 b(24)275 299 y(When)29
+b(y)m(ou)i(en)m(ter)f(a)h(line)f(in)g Fs(vi)f Ft(mo)s(de,)h(y)m(ou)h
+(are)f(already)h(placed)f(in)g(`insertion')g(mo)s(de,)g(as)h(if)f(y)m
+(ou)150 408 y(had)f(t)m(yp)s(ed)g(an)g(`)p Fs(i)p Ft('.)41
+b(Pressing)29 b Fs(ESC)f Ft(switc)m(hes)i(y)m(ou)g(in)m(to)h(`command')
+e(mo)s(de,)h(where)e(y)m(ou)i(can)g(edit)g(the)150 518
+y(text)35 b(of)f(the)g(line)g(with)f(the)h(standard)f
Fs(vi)g Ft(mo)m(v)m(emen)m(t)j(k)m(eys,)g(mo)m(v)m(e)f(to)f(previous)g
-(history)f(lines)h(with)150 5320 y(`)p Fs(k)p Ft(')d(and)e(subsequen)m
+(history)f(lines)h(with)150 628 y(`)p Fs(k)p Ft(')d(and)e(subsequen)m
(t)h(lines)h(with)f(`)p Fs(j)p Ft(',)g(and)g(so)h(forth.)p
eop end
-%%Page: 24 28
-TeXDict begin 24 27 bop 3659 -116 a Ft(24)150 299 y Fp(2)80
+%%Page: 25 29
+TeXDict begin 25 28 bop 3659 -116 a Ft(25)150 299 y Fp(2)80
b(Programming)54 b(with)f(GNU)h(Readline)150 543 y Ft(This)24
b(c)m(hapter)i(describ)s(es)e(the)h(in)m(terface)h(b)s(et)m(w)m(een)g
(the)f Fm(gnu)f Ft(Readline)i(Library)e(and)g(other)h(programs.)150
@@ -8413,7 +8426,7 @@ b(the)f(line)h(is)f(ended)g(just)g(as)g(if)h(a)f(newline)h(had)150
b(p)s(erforms)e(some)j(expansion)e(on)h(the)g Fj(prompt)h
Ft(b)s(efore)f(it)g(is)g(displa)m(y)m(ed)h(on)f(the)g(screen.)38
b(See)150 3336 y(the)27 b(description)g(of)h Fs(rl_expand_prompt)22
-b Ft(\(see)28 b(Section)g(2.4.6)h([Redispla)m(y],)g(page)f(37\))g(for)f
+b Ft(\(see)28 b(Section)g(2.4.6)h([Redispla)m(y],)g(page)f(38\))g(for)f
(additional)150 3446 y(details,)41 b(esp)s(ecially)f(if)e
Fj(prompt)i Ft(will)e(con)m(tain)i(c)m(haracters)f(that)g(do)f(not)h
(consume)f(ph)m(ysical)h(screen)150 3556 y(space)31 b(when)e(displa)m
@@ -8437,9 +8450,9 @@ b(of)d(no)g(static)i(bu\013er)e(to)h(o)m(v)m(er\015o)m(w:)390
4902 y(/*)g(Read)g(a)g(string,)f(and)h(return)f(a)i(pointer)d(to)j(it.)
533 5011 y(Returns)e(NULL)h(on)g(EOF.)f(*/)390 5121 y(char)h(*)390
5230 y(rl_gets)f(\(\))390 5340 y({)p eop end
-%%Page: 25 29
-TeXDict begin 25 28 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(25)485
+%%Page: 26 30
+TeXDict begin 26 29 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(26)485
299 y Fs(/*)48 b(If)f(the)g(buffer)f(has)h(already)f(been)g(allocated,)
629 408 y(return)g(the)h(memory)f(to)h(the)g(free)f(pool.)h(*/)485
518 y(if)h(\(line_read\))581 628 y({)676 737 y(free)f(\(line_read\);)
@@ -8476,7 +8489,7 @@ g(func-)150 3663 y(tion)33 b(called)h Fs(initialize_readline\(\))27
b Ft(whic)m(h)33 b(p)s(erforms)e(this)h(and)h(other)g(desired)f
(initializations,)150 3773 y(suc)m(h)e(as)h(installing)g(custom)g
(completers)g(\(see)g(Section)h(2.6)f([Custom)f(Completers],)h(page)g
-(50\).)150 4023 y Fr(2.2)68 b(Custom)45 b(F)-11 b(unctions)150
+(51\).)150 4023 y Fr(2.2)68 b(Custom)45 b(F)-11 b(unctions)150
4182 y Ft(Readline)28 b(pro)m(vides)f(man)m(y)g(functions)g(for)g
(manipulating)h(the)f(text)h(of)g(the)f(line,)i(but)d(it)i(isn't)f(p)s
(ossible)150 4292 y(to)37 b(an)m(ticipate)i(the)e(needs)f(of)h(all)g
@@ -8499,9 +8512,9 @@ g(v)-5 b(ariable)31 b(that)g(should)f(b)s(e)g(treated)h(as)g(an)g(in)m
(teger,)h Fs(RL_)150 5340 y(READLINE_VERSION)p Ft(,)20
b(whic)m(h)h(ma)m(y)i(b)s(e)f(used)f(to)i(conditionally)h(compile)f
(application)g(co)s(de)f(dep)s(ending)p eop end
-%%Page: 26 30
-TeXDict begin 26 29 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(26)150
+%%Page: 27 31
+TeXDict begin 27 30 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(27)150
299 y(on)35 b(the)g(installed)h(Readline)f(v)m(ersion.)56
b(The)34 b(v)-5 b(alue)35 b(is)h(a)f(hexadecimal)h(enco)s(ding)f(of)g
(the)h(ma)5 b(jor)35 b(and)150 408 y(minor)f(v)m(ersion)g(n)m(um)m(b)s
@@ -8561,9 +8574,9 @@ y(of)h(the)f(line)h(read)f(so)h(far.)275 5196 y(The)e(calling)j
(sequence)f(for)f(a)h(command)f Fs(foo)g Ft(lo)s(oks)g(lik)m(e)390
5340 y Fs(int)47 b(foo)g(\(int)f(count,)h(int)f(key\))p
eop end
-%%Page: 27 31
-TeXDict begin 27 30 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(27)150
+%%Page: 28 32
+TeXDict begin 28 31 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(28)150
299 y(where)35 b Fj(coun)m(t)k Ft(is)d(the)g(n)m(umeric)g(argumen)m(t)g
(\(or)g(1)g(if)g(defaulted\))h(and)e Fj(k)m(ey)44 b Ft(is)36
b(the)g(k)m(ey)h(that)f(in)m(v)m(ok)m(ed)150 408 y(this)30
@@ -8593,7 +8606,7 @@ b(ariable])-3598 b Fh(char)54 b(*)e(rl_line_buffer)390
2183 y Ft(This)30 b(is)i(the)f(line)g(gathered)h(so)f(far.)43
b(Y)-8 b(ou)32 b(are)f(w)m(elcome)i(to)f(mo)s(dify)f(the)g(con)m(ten)m
(ts)i(of)e(the)g(line,)390 2293 y(but)k(see)h(Section)g(2.4.5)h([Allo)m
-(wing)h(Undoing],)f(page)f(36.)57 b(The)35 b(function)g
+(wing)h(Undoing],)f(page)f(37.)57 b(The)35 b(function)g
Fs(rl_extend_line_)390 2402 y(buffer)29 b Ft(is)h(a)m(v)-5
b(ailable)33 b(to)e(increase)g(the)g(memory)f(allo)s(cated)i(to)f
Fs(rl_line_buffer)p Ft(.)3371 2603 y([V)-8 b(ariable])-3598
@@ -8630,9 +8643,9 @@ b Fh(int)53 b(rl_dispatching)390 5121 y Ft(Set)24 b(to)h(a)g(non-zero)g
b(functions)e(can)h(test)h(this)e(to)i(disco)m(v)m(er)g(whether)e(they)
h(w)m(ere)g(called)h(directly)f(or)390 5340 y(b)m(y)30
b(Readline's)h(dispatc)m(hing)g(mec)m(hanism.)p eop end
-%%Page: 28 32
-TeXDict begin 28 31 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(28)3371
+%%Page: 29 33
+TeXDict begin 29 32 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(29)3371
299 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_erase_empty_line)390
408 y Ft(Setting)47 b(this)e(to)i(a)f(non-zero)h(v)-5
b(alue)46 b(causes)h(Readline)f(to)h(completely)g(erase)g(the)f(curren)
@@ -8646,7 +8659,7 @@ b Fh(char)54 b(*)e(rl_prompt)390 1022 y Ft(The)26 b(prompt)f(Readline)i
Fs(readline\(\))p Ft(,)d(and)i(should)390 1132 y(not)h(b)s(e)f
(assigned)h(to)h(directly)-8 b(.)41 b(The)26 b Fs(rl_set_prompt\(\))d
Ft(function)j(\(see)i(Section)g(2.4.6)h([Redis-)390 1241
-y(pla)m(y],)i(page)h(37\))f(ma)m(y)g(b)s(e)f(used)f(to)j(mo)s(dify)d
+y(pla)m(y],)i(page)h(38\))f(ma)m(y)g(b)s(e)f(used)f(to)j(mo)s(dify)d
(the)i(prompt)e(string)h(after)h(calling)h Fs(readline\(\))p
Ft(.)3371 1417 y([V)-8 b(ariable])-3598 b Fh(char)54
b(*)e(rl_display_prompt)390 1526 y Ft(The)31 b(string)h(displa)m(y)m
@@ -8704,9 +8717,9 @@ b Fh(FILE)54 b(*)e(rl_outstream)390 5230 y Ft(The)34
b(stdio)h(stream)f(to)i(whic)m(h)e(Readline)h(p)s(erforms)e(output.)52
b(If)34 b Fs(NULL)p Ft(,)h(Readline)g(defaults)f(to)390
5340 y Fj(stdout)p Ft(.)p eop end
-%%Page: 29 33
-TeXDict begin 29 32 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(29)3371
+%%Page: 30 34
+TeXDict begin 30 33 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(30)3371
299 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_prefer_env_winsize)390
408 y Ft(If)28 b(non-zero,)h(Readline)g(giv)m(es)h(v)-5
b(alues)29 b(found)e(in)h(the)g Fs(LINES)f Ft(and)h Fs(COLUMNS)e
@@ -8741,7 +8754,7 @@ b(*)52 b(rl_getc_function)390 2819 y Ft(If)30 b(non-zero,)h(Readline)g
b(By)21 b(default,)j(it)e(is)f(set)h(to)g Fs(rl_getc)p
Ft(,)f(the)h(default)f(Readline)h(c)m(haracter)h(input)390
3039 y(function)f(\(see)i(Section)g(2.4.8)g([Character)g(Input],)f
-(page)h(39\).)39 b(In)22 b(general,)k(an)c(application)i(that)390
+(page)h(40\).)39 b(In)22 b(general,)k(an)c(application)i(that)390
3148 y(sets)31 b Fj(rl)p 635 3148 28 4 v 40 w(getc)p
835 3148 V 41 w(function)f Ft(should)g(consider)g(setting)h
Fj(rl)p 2234 3148 V 40 w(input)p 2487 3148 V 39 w(a)m(v)-5
@@ -8770,7 +8783,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(43\),)i(whic)m(h)d(ma)m
+(2.4.12)i([Alternate)f(In)m(terface],)h(page)e(44\),)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
@@ -8785,9 +8798,9 @@ Ft(,)k(it)c(should)e(increase)j(the)e(timeout)i(or)f(set)g(this)f(ho)s
Fj(rl)p 2431 5340 V 40 w(input)p 2684 5340 V 39 w(a)m(v)-5
b(ailable)p 3064 5340 V 43 w(ho)s(ok)36 b Ft(as)30 b(w)m(ell.)p
eop end
-%%Page: 30 34
-TeXDict begin 30 33 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(30)3371
+%%Page: 31 35
+TeXDict begin 31 34 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(31)3371
299 y([V)-8 b(ariable])-3598 b Fh(rl_voidfunc_t)56 b(*)d
(rl_redisplay_function)390 408 y Ft(If)36 b(non-zero,)i(Readline)e
(will)h(call)g(indirectly)f(through)g(this)g(p)s(oin)m(ter)g(to)g(up)s
@@ -8795,7 +8808,7 @@ b(Programming)30 b(with)g(GNU)h(Readline)1683 b(30)3371
(ten)m(ts)h(of)f(the)h(editing)f(bu\013er.)39 b(By)27
b(default,)h(it)g(is)f(set)g(to)h Fs(rl_redisplay)p Ft(,)390
628 y(the)j(default)f(Readline)h(redispla)m(y)g(function)f(\(see)h
-(Section)g(2.4.6)h([Redispla)m(y],)g(page)f(37\).)3371
+(Section)g(2.4.6)h([Redispla)m(y],)g(page)f(38\).)3371
817 y([V)-8 b(ariable])-3598 b Fh(rl_vintfunc_t)56 b(*)d
(rl_prep_term_function)390 927 y Ft(If)24 b(non-zero,)i(Readline)e
(will)h(call)g(indirectly)g(through)e(this)h(p)s(oin)m(ter)g(to)h
@@ -8804,7 +8817,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(40\).)3371
+1255 y([T)-8 b(erminal)31 b(Managemen)m(t],)i(page)e(41\).)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,15 +8825,15 @@ 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(40\).)3371 1963
+b(erminal)30 b(Managemen)m(t],)j(page)e(41\).)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
+(eymap)h(\(see)g(Section)f(2.4.2)i([Keymaps],)g(page)e(34\))i(in)d
(whic)m(h)390 2182 y(the)c(curren)m(tly)f(executing)i(readline)e
(function)g(w)m(as)h(found.)3371 2372 y([V)-8 b(ariable])-3598
b Fh(Keymap)54 b(rl_binding_keymap)390 2481 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(whic)m(h)390
+(Section)f(2.4.2)i([Keymaps],)g(page)e(34\))i(in)d(whic)m(h)390
2591 y(the)c(last)g(k)m(ey)g(binding)e(o)s(ccurred.)3371
2780 y([V)-8 b(ariable])-3598 b Fh(char)54 b(*)e(rl_executing_macro)390
2890 y Ft(This)30 b(v)-5 b(ariable)31 b(is)f(set)h(to)g(the)g(text)g
@@ -8850,9 +8863,9 @@ b(state)j(bits)390 4524 y(include:)390 4687 y Fs(RL_STATE_NONE)870
(its)e(in)m(ternal)g(data)g(structures.)390 5230 y Fs
(RL_STATE_INITIALIZED)870 5340 y Ft(Readline)g(has)f(completed)h(its)g
(initialization.)p eop end
-%%Page: 31 35
-TeXDict begin 31 34 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(31)390
+%%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
299 y Fs(RL_STATE_TERMPREPPED)870 408 y Ft(Readline)29
b(has)g(mo)s(di\014ed)e(the)i(terminal)g(mo)s(des)f(to)i(do)e(its)i(o)m
(wn)e(input)g(and)g(redis-)870 518 y(pla)m(y)-8 b(.)390
@@ -8891,10 +8904,10 @@ 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(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
+(terface],)f(page)f(44\).)p eop end
+%%Page: 33 37
+TeXDict begin 33 36 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(33)390
299 y Fs(RL_STATE_VIMOTION)870 408 y Ft(Readline)31 b(is)f(reading)h
(the)f(argumen)m(t)h(to)g(a)g(vi-mo)s(de)g Fs(")p Ft(motion)p
Fs(")f Ft(command.)390 589 y Fs(RL_STATE_MULTIKEY)870
@@ -8955,9 +8968,9 @@ y(to)e(add)e(a)h(few)g(functions)g(to)g(the)g(default)h(functions)e
(to)h(Readline,)i(y)m(ou)e(ma)m(y)g(need)f(to)i(use)e(the)h(underlying)
150 5340 y(functions)c(describ)s(ed)f(b)s(elo)m(w.)p
eop end
-%%Page: 33 37
-TeXDict begin 33 36 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(33)150
+%%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)150
299 y Fi(2.4.2)63 b(Selecting)41 b(a)f(Keymap)150 446
y Ft(Key)f(bindings)e(tak)m(e)j(place)g(on)f(a)g Fj(k)m(eymap)p
Ft(.)66 b(The)38 b(k)m(eymap)h(is)g(the)g(asso)s(ciation)h(b)s(et)m(w)m
@@ -9031,9 +9044,9 @@ b Ft(ma)m(y)c(not)g(b)s(e)e(one)i(of)f(Readline's)h(builtin)f(k)m
5340 y(name)36 b(for)g(one)g(of)g(Readline's)h(builtin)e(k)m(eymaps.)58
b(Y)-8 b(ou)37 b(ma)m(y)f(replace)h(the)f(name)g(asso)s(ciated)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)390
+%%Page: 35 39
+TeXDict begin 35 38 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(35)390
299 y(with)31 b(a)g(giv)m(en)h(k)m(eymap)g(b)m(y)f(calling)h(this)f
(function)g(more)h(than)e(once)i(with)f(the)g(same)h
Fj(k)m(eymap)390 408 y Ft(argumen)m(t.)50 b(Y)-8 b(ou)34
@@ -9065,7 +9078,7 @@ 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 2006 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 2115 y(page)31 b(27\).)275 2260 y(These)f(functions)g
+b(ariables],)150 2115 y(page)31 b(28\).)275 2260 y(These)f(functions)g
(manage)h(k)m(ey)g(bindings.)3350 2465 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 2465 30 5 v 43 w(command)p 1904 2465
@@ -9114,9 +9127,9 @@ Fj(map)p Ft(.)40 b(Returns)30 b(non-zero)h(in)f(case)h(of)g(error.)3350
5230 y(Keymap)h(map)p Fg(\))390 5340 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(.)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
+%%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(int)53 b(rl_unbind_command_in_)q(map)
f Fg(\()p Ff(const)34 b(c)m(har)g(*command,)f(Keymap)565
408 y(map)p Fg(\))390 518 y Ft(Un)m(bind)c(all)i(k)m(eys)g(that)g(are)g
@@ -9195,9 +9208,9 @@ 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
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 5340 y(arbitrary)j(function.)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
+%%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(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 408 y Ft(Return)c(the)g(function)g(with)g(name)h
@@ -9276,9 +9289,9 @@ m(h)h(more)150 5089 y(useful.)k(It)30 b(is)h(certainly)g(easy)g(to)g
5340 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(.)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)275
+%%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)275
299 y(If)20 b(y)m(ou)g(do)h(m)m(ultiple)g(insertions)f(or)h(m)m
(ultiple)g(deletions,)j(or)c(an)m(y)h(com)m(bination)h(of)e(these)h(op)
s(erations,)150 408 y(y)m(ou)38 b(should)f(group)h(them)g(together)h
@@ -9349,9 +9362,9 @@ 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
+%%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_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
@@ -9431,9 +9444,9 @@ 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 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)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
+%%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)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
@@ -9486,7 +9499,7 @@ b(ailable)32 b(from)d(Readline's)h(curren)m(t)f(input)g(stream.)41
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
+4180 y(line)40 b(V)-8 b(ariables],)43 b(page)d(28\))g(and)f
Fs(rl_stuff_char\(\))p Ft(,)f(macros,)k(and)d(c)m(haracters)h(read)f
(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
@@ -9505,9 +9518,9 @@ Fs(rl_read_key\(\))p Ft(.)36 b(Up)27 b(to)g(512)h(c)m(haracters)g(ma)m
(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 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
+%%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_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
@@ -9590,9 +9603,9 @@ 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 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
+%%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_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
@@ -9670,9 +9683,9 @@ b(_rl_to_upper)c Fg(\()p Ff(in)m(t)34 b(c)p Fg(\))390
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.)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
+%%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)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,)
@@ -9748,9 +9761,9 @@ 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 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.)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
+%%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)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
@@ -9834,9 +9847,9 @@ Fs(M-1)f(0)g(M-c)p Ft(')h(w)m(ould)g(c)m(hange)i(the)150
(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)390
+%%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({)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
@@ -9861,9 +9874,9 @@ b(\(rl_line_buffer[i]\)\))772 4902 y(rl_line_buffer[i])g(=)k
y(rl_line_buffer[i])f(=)k(_rl_to_upper)e(\(rl_line_buffer[i]\);)581
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)485
+%%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)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
@@ -9896,9 +9909,9 @@ y(})390 4902 y(/*)g(Callback)f(function)f(called)h(for)h(each)g(line)g
(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)390
+%%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)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
@@ -9930,9 +9943,9 @@ f(read)i(callback)e(to)i(read)g(it.)95 b(It)47 b(does)f(not)629
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)676
+%%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)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
@@ -9991,9 +10004,9 @@ Ft(handler)g(up)s(dates)h(Readline's)h(in)m(ternal)h(screen)e(size)i
(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)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
+%%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)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
@@ -10004,7 +10017,7 @@ 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 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 884 y(terface],)48 b(page)c(43\),)j(Readline)c(installs)h
+(In-)150 884 y(terface],)48 b(page)c(44\),)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 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)
@@ -10075,9 +10088,9 @@ 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
+%%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)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
@@ -10123,7 +10136,7 @@ b(call)h(Readline's)g(in)m(ternal)g(signal)f(handler)f(if)150
b(This)36 b(is)g(primarily)h(in)m(tended)f(for)h(those)g(applications)h
(that)f(use)150 3093 y(a)h(custom)g Fs(rl_getc_function)33
b Ft(\(see)39 b(Section)g(2.3)g([Readline)f(V)-8 b(ariables],)42
-b(page)c(27\))h(and)e(wish)g(to)150 3203 y(handle)30
+b(page)c(28\))h(and)e(wish)g(to)150 3203 y(handle)30
b(signals)h(receiv)m(ed)h(while)e(w)m(aiting)i(for)e(input.)3350
3389 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_check_signals)c
Fg(\()p Ff(v)m(oid)p Fg(\))390 3499 y Ft(If)40 b(there)h(are)g(an)m(y)g
@@ -10157,24 +10170,24 @@ 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 5340 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)p eop end
-%%Page: 50 54
-TeXDict begin 50 53 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(50)390
+%%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)390
299 y(unc)m(hanged.)39 b(This)27 b(is)h(in)m(tended)g(to)g(tell)h
(Readline)f(the)g(ph)m(ysical)g(dimensions)f(of)h(the)g(terminal,)390
408 y(and)44 b(is)h(used)f(in)m(ternally)i(to)f(calculate)j(the)d
(maxim)m(um)f(n)m(um)m(b)s(er)g(of)h(c)m(haracters)h(that)f(ma)m(y)390
-518 y(app)s(ear)30 b(on)g(the)h(screen.)275 695 y(If)h(an)i
-(application)g(do)s(es)f(not)h(w)m(an)m(t)g(to)g(install)g(a)g
-Fs(SIGWINCH)d Ft(handler,)j(but)e(is)i(still)g(in)m(terested)g(in)150
-804 y(the)d(screen)f(dimensions,)g(it)h(ma)m(y)g(query)f(Readline's)h
-(idea)g(of)f(the)h(screen)f(size.)3350 981 y([F)-8 b(unction])-3599
-b Fh(void)54 b(rl_get_screen_size)c Fg(\()p Ff(in)m(t)34
-b(*ro)m(ws,)f(in)m(t)g(*cols)p Fg(\))390 1091 y Ft(Return)c(Readline's)
-i(idea)g(of)f(the)g(terminal's)h(size)g(in)f(the)g(v)-5
-b(ariables)31 b(p)s(oin)m(ted)f(to)g(b)m(y)g(the)h(argu-)390
-1200 y(men)m(ts.)3350 1377 y([F)-8 b(unction])-3599 b
-Fh(void)54 b(rl_reset_screen_size)d Fg(\()p Ff(v)m(oid)p
+518 y(app)s(ear)30 b(on)g(a)h(single)g(line)g(and)e(on)i(the)f(screen.)
+275 695 y(If)i(an)i(application)g(do)s(es)f(not)h(w)m(an)m(t)g(to)g
+(install)g(a)g Fs(SIGWINCH)d Ft(handler,)j(but)e(is)i(still)g(in)m
+(terested)g(in)150 804 y(the)d(screen)f(dimensions,)g(it)h(ma)m(y)g
+(query)f(Readline's)h(idea)g(of)f(the)h(screen)f(size.)3350
+981 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_get_screen_size)c
+Fg(\()p Ff(in)m(t)34 b(*ro)m(ws,)f(in)m(t)g(*cols)p Fg(\))390
+1091 y Ft(Return)c(Readline's)i(idea)g(of)f(the)g(terminal's)h(size)g
+(in)f(the)g(v)-5 b(ariables)31 b(p)s(oin)m(ted)f(to)g(b)m(y)g(the)h
+(argu-)390 1200 y(men)m(ts.)3350 1377 y([F)-8 b(unction])-3599
+b Fh(void)54 b(rl_reset_screen_size)d Fg(\()p Ff(v)m(oid)p
Fg(\))390 1486 y Ft(Cause)30 b(Readline)h(to)g(reobtain)g(the)g(screen)
f(size)h(and)f(recalculate)j(its)e(dimensions.)275 1663
y(The)e(follo)m(wing)j(functions)e(install)h(and)f(remo)m(v)m(e)i
@@ -10235,9 +10248,9 @@ b Ft(function)37 b(to)h(generate)g(the)f(list)h(of)f(p)s(ossible)f
5230 y(these)h(matc)m(hes.)68 b(The)39 b(caller)h(should)e(place)i(the)
f(address)f(of)h(its)g(generator)i(function)d(in)h Fs(rl_)330
5340 y(completion_entry_functio)o(n)p Ft(.)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)199
+%%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)199
299 y(3.)61 b(The)22 b(generator)i(function)f(is)g(called)h(rep)s
(eatedly)f(from)g Fs(rl_completion_matches\(\))o Ft(,)c(returning)330
408 y(a)33 b(string)g(eac)m(h)h(time.)48 b(The)32 b(argumen)m(ts)h(to)h
@@ -10329,9 +10342,9 @@ 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
5340 y(an)30 b(argumen)m(t)h(of)g(`)p Fs(*)p Ft('.)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
+%%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)3350
299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_completion_mode)e
Fg(\()p Ff(rl)p 1455 299 30 5 v 44 w(command)p 1919 299
V 44 w(func)p 2147 299 V 46 w(t)33 b(*cfunc)p Fg(\))390
@@ -10417,9 +10430,9 @@ y Ft(A)33 b(p)s(oin)m(ter)f(to)h(a)g(function)g(that)g(will)g(quote)g
5340 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)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
+%%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(is)37 b(called)h(with)e Fj(text)p Ft(,)k Fj(matc)m(h)p
1438 299 28 4 v 41 w(t)m(yp)s(e)p Ft(,)f(and)d Fj(quote)p
2119 299 V 41 w(p)s(oin)m(ter)p Ft(.)60 b(The)36 b Fj(text)k
@@ -10513,9 +10526,9 @@ b(only)f(mo)s(di\014es)f(the)i(directory)f(name)h(used)390
1463 5340 V 40 w(directory)p 1859 5340 V 41 w(completion)p
2333 5340 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)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
+%%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(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
408 y(directory)c(name,)g(b)s(ecause)f(its)h(result)f(will)h(b)s(e)e
@@ -10601,9 +10614,9 @@ y Ft(The)64 b(list)i(of)f(c)m(haracters)h(that)g(signal)g(a)f(break)g
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(.)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
+%%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(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
@@ -10691,9 +10704,9 @@ b(It)24 b(is)f(set)h(to)h(0)f(b)s(efore)f(an)m(y)h(application-sp)s
(eci\014c)h(completion)390 5340 y(function)30 b(is)g(called,)i(and)e
(ma)m(y)h(only)g(b)s(e)e(c)m(hanged)i(within)f(suc)m(h)g(a)h(function.)
p eop end
-%%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
+%%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)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)
@@ -10773,12 +10786,12 @@ 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 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 5340 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(52\))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)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(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
@@ -10803,9 +10816,9 @@ b(is)f(a)g(small)h(application)g(demonstrating)f(the)h(use)e(of)i(the)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: 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
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)
@@ -10841,9 +10854,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: 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
+%%Page: 60 64
+TeXDict begin 60 63 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(60)390
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
@@ -10879,9 +10892,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: 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
+%%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)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
@@ -10908,9 +10921,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: 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
+%%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)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
@@ -10951,9 +10964,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: 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(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
@@ -10992,9 +11005,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: 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
+%%Page: 64 68
+TeXDict begin 64 67 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(64)390
299 y Fe(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
@@ -11022,9 +11035,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: 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
+%%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)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\)\);)
@@ -11053,9 +11066,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: 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
+%%Page: 66 70
+TeXDict begin 66 69 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(66)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
@@ -11084,8 +11097,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: 66 70
-TeXDict begin 66 69 bop 3659 -116 a Ft(66)150 299 y Fp(App)t(endix)52
+%%Page: 67 71
+TeXDict begin 67 70 bop 3659 -116 a Ft(67)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
@@ -11166,10 +11179,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: 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(under)26 b(this)i(License.)40 b(If)27
+b(68)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
@@ -11260,10 +11273,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: 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)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
+b(69)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
@@ -11353,10 +11366,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: 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)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
+b(70)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
@@ -11435,10 +11448,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: 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)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
+b(71)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
@@ -11523,10 +11536,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: 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)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
+b(72)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
@@ -11611,10 +11624,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: 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)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330
+b(73)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
@@ -11678,10 +11691,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: 73 77
-TeXDict begin 73 76 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 74 78
+TeXDict begin 74 77 bop 150 -116 a Ft(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(73)150 299 y Fr(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
+b(74)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
@@ -11716,11 +11729,11 @@ 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: 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
+%%Page: 75 79
+TeXDict begin 75 78 bop 150 -116 a Ft(Concept)31 b(Index)2927
+b(75)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
+Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)37 b Fb(51)146 796 y
Fr(C)150 913 y Fb(command)26 b(editing)6 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)21 b Fb(1)146 1159
@@ -11744,33 +11757,33 @@ g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
32 b Fb(1)2021 970 y Fr(R)2025 1102 y Fb(readline,)26
b(function)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33
-b Fb(24)2021 1507 y Fr(V)2025 1639 y Fb(v)l(ariables,)27
+b Fb(25)2021 1507 y Fr(V)2025 1639 y Fb(v)l(ariables,)27
b(readline)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
26 b Fb(4)2021 2043 y Fr(Y)2025 2176 y Fb(y)n(anking)f(text)17
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: 75 79
-TeXDict begin 75 78 bop 3659 -116 a Ft(75)150 299 y Fp(F)-13
+%%Page: 76 80
+TeXDict begin 76 79 bop 3659 -116 a Ft(76)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
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)25 b Fb(42)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(42)150 1043 y Fe(_rl_lowercase_p)17
+(:)g(:)g(:)32 b Fb(43)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(:)
+b Fb(42)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(42)150
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(43)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
+(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(42)150 1309 y Fe(_rl_uppercase_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)146 1605 y Fr(A)150 1728 y Fe(abort)27 b(\(C-g\))17
+b Fb(42)146 1605 y Fr(A)150 1728 y Fe(abort)27 b(\(C-g\))17
b Fa(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)31 b Fb(22)150 1815 y Fe(accept-line)d(\(Newline)g(or)e(Return\))14
@@ -11810,7 +11823,7 @@ b(\(\))18 b Fa(:)c(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(22)150 3815 y Fe
(character-search-backward)31 b(\(M-C-]\))12 b Fa(:)j(:)e(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)27 b Fb(22)150 3905 y Fe(clear-screen)h(\(C-l\))16
+(:)g(:)g(:)g(:)g(:)27 b Fb(23)150 3905 y Fe(clear-screen)h(\(C-l\))16
b Fa(:)f(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)31 b Fb(16)150
3995 y(colored-completion-pre\014x)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)
@@ -11855,7 +11868,7 @@ Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)28 b Fb(20)2025
1200 y Fe(digit-argument)h(\()p Fc(M-0)p Fe(,)d Fc(M-1)p
Fe(,)h(...)f Fc(M--)p Fe(\))13 b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)28 b Fb(20)2025 1288 y(disable-completion)20 b Fa(:)13
+(:)28 b Fb(21)2025 1288 y(disable-completion)20 b Fa(:)13
b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(6)2025
1376 y Fe(do-lowercase-version)c(\(M-A,)d(M-B,)f(M-)p
@@ -11937,9 +11950,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: 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
+%%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)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
@@ -12011,7 +12024,7 @@ b(\(C-x)e(C-r\))17 b Fa(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)32 b Fb(22)2025 498 y Fe(readline)18
b Fa(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)33 b Fb(24)2025 585 y Fe(redraw-current-line)d(\(\))6
+(:)g(:)g(:)g(:)33 b Fb(25)2025 585 y Fe(redraw-current-line)d(\(\))6
b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)21 b Fb(17)2025 672 y Fe
(reverse-search-history)30 b(\(C-r\))8 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g
@@ -12023,357 +12036,359 @@ b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(22)2025
935 y Fe(rl_add_defun)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(32)2025 1022 y Fe(rl_add_funmap_entry)7
+g(:)g(:)g(:)g(:)g(:)h(:)22 b Fb(33)2025 1022 y Fe(rl_add_funmap_entry)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
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(37)2025 1197 y
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)25 b Fb(38)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
+(:)g(:)g(:)37 b Fb(42)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(37)2025
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(38)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
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)25 b Fb(35)2025 1459 y
Fe(rl_bind_key_if_unbound)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)31
-b Fb(34)2025 1546 y Fe(rl_bind_key_if_unbound_in_map)16
+b Fb(35)2025 1546 y Fe(rl_bind_key_if_unbound_in_map)16
b Fa(:)j(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)30
-b Fb(34)2025 1633 y Fe(rl_bind_key_in_map)10 b Fa(:)17
+b Fb(35)2025 1633 y Fe(rl_bind_key_in_map)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(34)2025 1721
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(35)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(35)2025 1808 y Fe(rl_bind_keyseq_if_unbound)9
+h(:)f(:)34 b Fb(36)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
+(:)g(:)h(:)23 b Fb(36)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 Fb(36)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(35)2025 2070 y Fe
+(:)g(:)g(:)g(:)g(:)34 b Fb(36)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(43)2025 2158 y
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(44)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
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)21 b Fb(44)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(43)2025 2332 y Fe(rl_callback_sigcleanup)16 b Fa(:)i(:)13
+b Fb(44)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
+(:)g(:)g(:)31 b Fb(44)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
+Fb(50)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(49)2025 2595 y Fe(rl_clear_history)15
+(:)h(:)28 b Fb(50)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
+Fb(43)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
+g(:)g(:)g(:)h(:)f(:)29 b Fb(39)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(40)2025 2857 y Fe(rl_clear_signals)15
+(:)g(:)h(:)f(:)g(:)g(:)31 b Fb(41)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(50)2025 2944 y Fe(rl_clear_visible_line)24 b Fa(:)13
+Fb(51)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(38)2025 3031 y Fe(rl_complete)10
+(:)g(:)g(:)g(:)g(:)34 b Fb(39)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
+g(:)25 b Fb(52)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
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(52)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 Fb(53)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(52)2025 3381
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(53)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
+h(:)f(:)34 b Fb(34)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
+b Fb(40)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(:)
+b Fb(39)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(39)2025 3730 y
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fb(40)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
+b Fb(41)2025 3818 y Fe(rl_ding)e 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(41)2025 3905 y Fe(rl_discard_keymap)12 b Fa(:)17
+b Fb(42)2025 3905 y Fe(rl_discard_keymap)12 b Fa(:)17
b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)27 b Fb(33)2025
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)27 b Fb(34)2025
3992 y Fe(rl_display_match_list)d Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34
-b Fb(41)2025 4080 y Fe(rl_do_undo)13 b Fa(:)i(:)e(:)g(:)g(:)h(:)f(:)g
+b Fb(42)2025 4080 y Fe(rl_do_undo)13 b Fa(:)i(:)e(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(37)2025
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(38)2025
4167 y Fe(rl_echo_signal_char)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(49)2025 4255 y Fe(rl_empty_keymap)17 b Fa(:)g(:)c(:)g(:)g(:)g
+22 b Fb(50)2025 4255 y Fe(rl_empty_keymap)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(33)2025 4342 y Fe
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(34)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(37)2025 4429 y Fe(rl_execute_next)17 b Fa(:)g(:)c(:)g(:)g(:)g
+27 b Fb(38)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(40)2025 4517 y Fe(rl_expand_prompt)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(41)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 Fb(39)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(41)2025 4691 y Fe
+(:)g(:)g(:)g(:)g(:)34 b Fb(42)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(52)2025
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)25 b Fb(53)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(:)
+(:)26 b Fb(38)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(41)2025 4954 y Fe(rl_free_keymap)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)
+b Fb(42)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
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fb(34)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(49)2025 5128 y Fe(rl_free_undo_list)12 b Fa(:)17
+b Fb(50)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
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)27 b Fb(38)p eop
end
-%%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
+%%Page: 78 82
+TeXDict begin 78 81 bop 150 -116 a Ft(F)-8 b(unction)31
+b(and)f(V)-8 b(ariable)32 b(Index)2370 b(78)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 Fb(37)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(36)150 434 y Fe(rl_function_of_keyseq_len)9
+(:)g(:)g(:)h(:)f(:)33 b Fb(37)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(36)150 522 y Fe(rl_funmap_names)17
+(:)h(:)f(:)g(:)23 b Fb(37)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(:)
+b Fb(37)150 609 y Fe(rl_generic_bind)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(35)150 696 y Fe(rl_get_keymap)25
+(:)g(:)g(:)g(:)g(:)g(:)32 b Fb(36)150 696 y Fe(rl_get_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 783 y Fe(rl_get_keymap_by_name)24 b Fa(:)13
+b Fb(34)150 783 y Fe(rl_get_keymap_by_name)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(33)150 871 y Fe(rl_get_keymap_name)10
+(:)g(:)g(:)h(:)f(:)33 b Fb(34)150 870 y Fe(rl_get_keymap_name)10
b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(33)150
-958 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(:)24 b Fb(34)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(50)150 1045 y Fe(rl_get_termcap)f Fa(:)13
+g(:)24 b Fb(51)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(:)
+b Fb(43)150 1132 y Fe(rl_getc)22 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35
-b Fb(39)150 1219 y Fe(rl_initialize)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
+b Fb(40)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(41)150 1307 y
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(42)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 1394 y Fe(rl_insert_text)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f
+b Fb(52)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(39)150 1481 y Fe
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(40)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(36)150 1568 y Fe(rl_invoking_keyseqs_in_map)7 b
+b Fb(37)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 1656 y Fe(rl_kill_text)8 b Fa(:)16
+g(:)g(:)21 b Fb(37)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
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22
-b Fb(39)150 1743 y Fe(rl_list_funmap_names)k Fa(:)13
+b Fb(40)150 1742 y Fe(rl_list_funmap_names)k 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(36)150 1830 y Fe(rl_macro_bind)25
+(:)h(:)f(:)g(:)g(:)g(:)36 b Fb(37)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(42)150 1917 y Fe(rl_macro_dumper)17 b Fa(:)g(:)c(:)g(:)g(:)g(:)g
+b Fb(43)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(42)150 2005 y Fe(rl_make_bare_keymap)7
+g(:)g(:)g(:)g(:)g(:)g(:)32 b Fb(43)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
-2092 y Fe(rl_make_keymap)i Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)21 b Fb(34)150
+2091 y Fe(rl_make_keymap)i Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)34 b Fb(33)150 2179 y Fe(rl_message)13
+(:)f(:)g(:)g(:)34 b Fb(34)150 2178 y Fe(rl_message)13
b Fa(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)27 b Fb(38)150 2266 y Fe(rl_modifying)8 b Fa(:)16
+(:)g(:)27 b Fb(39)150 2265 y Fe(rl_modifying)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 2354 y Fe(rl_named_function)12 b Fa(:)17
+b Fb(38)150 2353 y Fe(rl_named_function)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(36)150
-2441 y Fe(rl_on_new_line)d Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(37)150
+2440 y Fe(rl_on_new_line)d Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)34 b Fb(37)150 2528 y Fe(rl_on_new_line_with_prompt)7
+(:)f(:)g(:)g(:)34 b Fb(38)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(38)150 2615 y Fe(rl_parse_and_bind)12
+(:)g(:)g(:)21 b Fb(39)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
-2703 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(:)h(:)26 b Fb(36)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(49)150 2790 y Fe(rl_possible_completions)14
+g(:)h(:)26 b Fb(50)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 2877 y Fe(rl_prep_terminal)15
+(:)g(:)h(:)f(:)g(:)28 b Fb(52)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(40)150 2964 y Fe(rl_push_macro_input)7 b Fa(:)17 b(:)d(:)f(:)g(:)g
+Fb(41)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 3052 y Fe(rl_read_init_file)12
+g(:)h(:)f(:)21 b Fb(40)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
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(35)150
-3139 y Fe(rl_read_key)10 b Fa(:)16 b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(36)150
+3137 y Fe(rl_read_key)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(39)150 3226 y
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)25 b Fb(40)150 3225 y
Fe(rl_redisplay)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 3313 y Fe(rl_replace_line)17
+g(:)g(:)h(:)f(:)g(:)22 b Fb(38)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(41)150 3400 y Fe(rl_reset_after_signal)24 b Fa(:)13
+b Fb(42)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 3488 y Fe(rl_reset_line_state)7
+(:)g(:)g(:)h(:)f(:)33 b Fb(50)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(38)150
-3575 y Fe(rl_reset_screen_size)26 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)21 b Fb(39)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(50)150 3662 y Fe(rl_reset_terminal)12 b Fa(:)17
+b Fb(51)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
-3749 y Fe(rl_resize_terminal)10 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(41)150
+3748 y Fe(rl_resize_terminal)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 3837 y Fe(rl_restore_prompt)12 b Fa(:)17
+g(:)24 b Fb(50)150 3835 y Fe(rl_restore_prompt)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(38)150
-3924 y Fe(rl_restore_state)15 b Fa(:)h(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(39)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(41)150 4011 y Fe(rl_save_prompt)23 b
+g(:)g(:)29 b Fb(42)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 4098 y Fe(rl_save_state)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
+b Fb(39)150 4097 y Fe(rl_save_state)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 4186 y
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(41)150 4184 y
Fe(rl_set_key)13 b Fa(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)27 b Fb(35)150 4273 y Fe
+g(:)g(:)g(:)h(:)f(:)g(:)27 b Fb(36)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(40)150 4360 y Fe(rl_set_keymap)25
+(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(41)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 4447 y Fe(rl_set_keymap_name)10 b Fa(:)17
+b Fb(34)150 4445 y Fe(rl_set_keymap_name)10 b Fa(:)17
b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(33)150 4535
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(34)150 4533
y Fe(rl_set_paren_blink_timeout)7 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(42)150
-4622 y Fe(rl_set_prompt)k Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(43)150
+4620 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(39)150 4709 y Fe(rl_set_screen_size)10
+g(:)g(:)g(:)g(:)37 b Fb(40)150 4707 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
-4796 y Fe(rl_set_signals)f Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(50)150
+4794 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(50)150 4884 y Fe(rl_show_char)8
+(:)f(:)g(:)g(:)34 b Fb(51)150 4881 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(38)2025 260 y Fe(rl_stuff_char)j Fa(:)13 b(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(39)2025 347 y
+22 b Fb(39)150 4969 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(40)2025 260 y
Fe(rl_tty_set_default_bindings)27 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(40)2025 435
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(41)2025 348
y Fe(rl_tty_set_echoing)10 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-24 b Fb(40)2025 523 y Fe(rl_tty_unset_default_bindings)16
+24 b Fb(41)2025 436 y Fe(rl_tty_unset_default_bindings)16
b Fa(:)j(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)30
-b Fb(40)2025 610 y Fe(rl_unbind_command_in_map)11 b Fa(:)19
+b Fb(41)2025 524 y Fe(rl_unbind_command_in_map)11 b Fa(:)19
b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)26 b Fb(35)2025 698 y Fe(rl_unbind_function_in_map)9
+g(:)g(:)26 b Fb(36)2025 613 y Fe(rl_unbind_function_in_map)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(34)2025 786 y Fe(rl_unbind_key)i Fa(:)13
+(:)g(:)h(:)23 b Fb(35)2025 701 y Fe(rl_unbind_key)i 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(34)2025 873 y Fe(rl_unbind_key_in_map)26 b Fa(:)13
+b Fb(35)2025 789 y Fe(rl_unbind_key_in_map)26 b Fa(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(34)2025 961 y Fe
+(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(35)2025 877 y Fe
(rl_username_completion_functio)q(n)11 b Fa(:)19 b(:)13
-b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)25 b Fb(52)2025
-1048 y Fe(rl_variable_bind)15 b Fa(:)h(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)25 b Fb(53)2025
+965 y Fe(rl_variable_bind)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 1136 y Fe(rl_variable_dumper)10
+h(:)f(:)29 b Fb(43)2025 1054 y Fe(rl_variable_dumper)10
b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(42)2025
-1223 y Fe(rl_variable_value)12 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(43)2025
+1141 y Fe(rl_variable_value)12 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)27 b Fb(42)2021 1467 y Fr(S)2025 1585 y Fe(self-insert)h(\(a,)e
+g(:)g(:)27 b Fb(43)2021 1397 y Fr(S)2025 1516 y Fe(self-insert)h(\(a,)e
(b,)g(A,)g(1,)g(!,)g(...)q(\))15 b Fa(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)29 b Fb(19)2025 1672 y Fe(set-mark)e(\(C-@\))10
+(:)g(:)g(:)h(:)f(:)29 b Fb(19)2025 1604 y Fe(set-mark)e(\(C-@\))10
b Fa(:)k(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)24
-b Fb(22)2025 1760 y(sho)n(w-all-if-am)n(biguous)e Fa(:)13
-b(:)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(:)35 b Fb(9)2025 1847
-y(sho)n(w-all-if-unmo)r(di\014ed)11 b Fa(:)j(:)f(:)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)2025 1935 y(sho)n(w-mo)r(de-in-prompt)15
+b Fb(22)2025 1693 y Fe(shell-transpose-words)30 b(\(M-C-t\))24
+b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37
+b Fb(20)2025 1781 y(sho)n(w-all-if-am)n(biguous)22 b
+Fa(:)13 b(:)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(:)35 b Fb(9)2025
+1869 y(sho)n(w-all-if-unmo)r(di\014ed)11 b Fa(:)j(:)f(:)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)2025 1957 y(sho)n(w-mo)r(de-in-prompt)15
b Fa(:)d(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)30 b Fb(9)2025
-2023 y(skip-completed-text)17 b Fa(:)11 b(:)j(:)f(:)g(:)g(:)g(:)g(:)g
+2045 y(skip-completed-text)17 b Fa(:)11 b(:)j(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)32 b Fb(9)2025 2110 y Fe(skip-csi-sequence)d(\(\))11
+g(:)g(:)g(:)32 b Fb(9)2025 2134 y Fe(skip-csi-sequence)d(\(\))11
b Fa(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(23)2025 2197
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(23)2025 2221
y Fe(start-kbd-macro)j(\(C-x)d(\(\))10 b Fa(:)k(:)f(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)25
-b Fb(21)2021 2441 y Fr(T)2025 2558 y Fe(tab-insert)j(\(M-TAB\))16
+b Fb(22)2021 2476 y Fr(T)2025 2595 y Fe(tab-insert)j(\(M-TAB\))16
b Fa(:)f(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)31 b Fb(19)2025
-2645 y Fe(tilde-expand)d(\(M-~\))16 b Fa(:)f(:)e(:)g(:)g(:)g(:)g(:)h(:)
+2683 y Fe(tilde-expand)d(\(M-~\))16 b Fa(:)f(:)e(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)31 b Fb(22)2025 2733 y Fe(transpose-chars)e(\(C-t\))9
+(:)g(:)31 b Fb(22)2025 2772 y Fe(transpose-chars)e(\(C-t\))9
b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)23 b Fb(19)2025 2820 y
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)23 b Fb(19)2025 2859 y
Fe(transpose-words)29 b(\(M-t\))9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)23
-b Fb(19)2021 3074 y Fr(U)2025 3191 y Fe(undo)j(\(C-_)h(or)f(C-x)g
+b Fb(19)2021 3124 y Fr(U)2025 3243 y Fe(undo)j(\(C-_)h(or)f(C-x)g
(C-u\))12 b Fa(:)i(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)27 b Fb(22)2025
-3279 y Fe(universal-argument)i(\(\))9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
+3332 y Fe(universal-argument)i(\(\))9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-23 b Fb(21)2025 3366 y Fe(unix-filename-rubout)30 b(\(\))21
+23 b Fb(21)2025 3420 y Fe(unix-filename-rubout)30 b(\(\))21
b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)35 b Fb(20)2025 3454 y Fe(unix-line-discard)29
+(:)g(:)g(:)h(:)f(:)35 b Fb(20)2025 3508 y Fe(unix-line-discard)29
b(\(C-u\))22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(20)2025 3541
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(20)2025 3596
y Fe(unix-word-rubout)29 b(\(C-w\))6 b Fa(:)14 b(:)g(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)21
-b Fb(20)2025 3629 y Fe(upcase-word)28 b(\(M-u\))20 b
+b Fb(20)2025 3683 y Fe(upcase-word)28 b(\(M-u\))20 b
Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(19)2021
-3882 y Fr(V)2025 3999 y Fb(vi-cmd-mo)r(de-string)18 b
+3949 y Fr(V)2025 4068 y Fb(vi-cmd-mo)r(de-string)18 b
Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(10)2025
-4087 y Fe(vi-editing-mode)c(\(M-C-j\))22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)
+4156 y Fe(vi-editing-mode)c(\(M-C-j\))22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35
-b Fb(23)2025 4175 y(vi-ins-mo)r(de-string)8 b Fa(:)13
+b Fb(23)2025 4245 y(vi-ins-mo)r(de-string)8 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)23 b Fb(10)2025
-4262 y(visible-stats)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+4332 y(visible-stats)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(10)2021 4504 y
-Fr(Y)2025 4621 y Fe(yank)g(\(C-y\))21 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(10)2021 4586 y
+Fr(Y)2025 4705 y Fe(yank)g(\(C-y\))21 b Fa(:)13 b(:)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(:)34 b
-Fb(20)2025 4709 y Fe(yank-last-arg)28 b(\(M-.)f(or)f(M-_\))10
+Fb(20)2025 4793 y Fe(yank-last-arg)28 b(\(M-.)f(or)f(M-_\))10
b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)24 b Fb(18)2025 4796 y Fe(yank-nth-arg)k(\(M-C-y\))11
+f(:)g(:)24 b Fb(18)2025 4881 y Fe(yank-nth-arg)k(\(M-C-y\))11
b Fa(:)k(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(18)2025 4884
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(18)2025 4969
y Fe(yank-pop)h(\(M-y\))10 b Fa(:)k(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)24 b Fb(20)p eop end
diff --git a/doc/readline_3.ps b/doc/readline_3.ps
index f54406d..d44470b 100644
--- a/doc/readline_3.ps
+++ b/doc/readline_3.ps
@@ -1,11 +1,11 @@
%!PS-Adobe-3.0
-%%Creator: groff version 1.22.3
-%%CreationDate: Wed Apr 17 09:02:35 2019
+%%Creator: groff version 1.22.4
+%%CreationDate: Wed Nov 20 09:49:30 2019
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font Courier
-%%DocumentSuppliedResources: procset grops 1.22 3
+%%DocumentSuppliedResources: procset grops 1.22 4
%%Pages: 17
%%PageOrder: Ascend
%%DocumentMedia: Default 612 792 0 () ()
@@ -15,7 +15,7 @@
%%PageMedia: Default
%%EndDefaults
%%BeginProlog
-%%BeginResource: procset grops 1.22 3
+%%BeginResource: procset grops 1.22 4
%!PS-Adobe-3.0 Resource-ProcSet
/setpacking where{
pop
@@ -251,9 +251,9 @@ BP
-.15 E F1(DESCRIPTION)72 223.2 Q F2 -.18(re)108 235.2 S(adline).18 E F0
.088(will read a line from the terminal and return it, using)2.588 F F2
(pr)2.587 E(ompt)-.18 E F0 .087(as a prompt.)2.587 F(If)5.087 E F2(pr)
-2.587 E(ompt)-.18 E F0(is)2.587 E F2(NULL)2.587 E F0(or)2.587 E .42
-(the empty string, no prompt is issued.)108 247.2 R .421
-(The line returned is allocated with)5.42 F F3(malloc)2.921 E F0 .421
+2.587 E(ompt)-.18 E F0(is)2.587 E F2(NULL)2.587 E F0(or)2.587 E .399
+(the empty string, no prompt is issued.)108 247.2 R .399
+(The line returned is allocated with)5.399 F F3(malloc)3.28 E F0 .4
(\(3\); the caller must free it).31 F(when \214nished.)108 259.2 Q
(The line returned has the \214nal ne)5 E(wline remo)-.25 E -.15(ve)-.15
G(d, so only the te).15 E(xt of the line remains.)-.15 E F2 -.18(re)108
@@ -294,10 +294,10 @@ F0 .48(means ESC\255Control\255)2.98 F F3(x)A F0 2.98(,o)C 2.98(rp)-2.98
G .48(ress the Escape k)-2.98 F .78 -.15(ey t)-.1 H .48
(hen hold the Control k).15 F .78 -.15(ey w)-.1 H(hile).15 E
(pressing the)108 446.4 Q F3(x)3.27 E F0 -.1(ke)3.03 G -.65(y.)-.05 G
-(\)).65 E .62(Readline commands may be gi)108 463.2 R -.15(ve)-.25 G
-3.119(nn).15 G(umeric)-3.119 E F3(ar)3.119 E(guments)-.37 E F0 3.119(,w)
-.27 G .619(hich normally act as a repeat count.)-3.119 F(Sometimes,)
-5.619 E(ho)108 475.2 Q(we)-.25 E -.15(ve)-.25 G 1.418 -.4(r, i).15 H
+(\)).65 E .596(Readline commands may be gi)108 463.2 R -.15(ve)-.25 G
+3.096(nn).15 G(umeric)-3.096 E F3(ar)3.426 E(guments)-.37 E F0 3.096(,w)
+.27 G .596(hich normally act as a repeat count.)-3.096 F(Sometimes,)
+5.595 E(ho)108 475.2 Q(we)-.25 E -.15(ve)-.25 G 1.418 -.4(r, i).15 H
3.118(ti).4 G 3.119(st)-3.118 G .619(he sign of the ar)-3.119 F .619
(gument that is signi\214cant.)-.18 F -.15(Pa)5.619 G .619(ssing a ne)
.15 F -.05(ga)-.15 G(ti).05 E .919 -.15(ve a)-.25 H -.18(rg).15 G .619
@@ -320,15 +320,15 @@ G .48(ress the Escape k)-2.98 F .78 -.15(ey t)-.1 H .48
108 552 Q F1(INITIALIZA)72 568.8 Q(TION FILE)-1.04 E F0 .091(Readline i\
s customized by putting commands in an initialization \214le \(the)108
580.8 R F3(inputr)2.591 E(c)-.37 E F0 2.591(\214le\). The)2.591 F .091
-(name of this \214le)2.591 F 1.442(is tak)108 592.8 R 1.443
-(en from the v)-.1 F 1.443(alue of the)-.25 F F2(INPUTRC)3.943 E F0(en)
-3.943 E 1.443(vironment v)-.4 F 3.943(ariable. If)-.25 F 1.443(that v)
-3.943 F 1.443(ariable is unset, the def)-.25 F 1.443(ault is)-.1 F F3
-(~/.inputr)108 604.8 Q(c)-.37 E F0 5.058(.I).31 G 2.558(ft)-5.058 G .058
-(hat \214le)-2.558 F .058(does not e)5.058 F .058
-(xist or cannot be read, the ultimate def)-.15 F .058(ault is)-.1 F F3
-(/etc/inputr)2.557 E(c)-.37 E F0 5.057(.W).31 G .057(hen a program)
--5.057 F 1.158(which uses the readline library starts up, the init \214\
+(name of this \214le)2.591 F .156(is tak)108 592.8 R .156(en from the v)
+-.1 F .156(alue of the)-.25 F F2(INPUTRC)2.656 E F0(en)2.656 E .156
+(vironment v)-.4 F 2.656(ariable. If)-.25 F .156(that v)2.656 F .156
+(ariable is unset, the def)-.25 F .157(ault is)-.1 F F3(~/.in-)2.157 E
+(putr)108 604.8 Q(c)-.37 E F0 5.905(.I).31 G 3.405(ft)-5.905 G .905
+(hat \214le)-3.405 F .905(does not e)5.905 F .904
+(xist or cannot be read, the ultimate def)-.15 F .904(ault is)-.1 F F3
+(/etc/inputr)4.554 E(c)-.37 E F0 5.904(.W).31 G .904(hen a program)
+-5.904 F 1.158(which uses the readline library starts up, the init \214\
le is read, and the k)108 616.8 R 1.459 -.15(ey b)-.1 H 1.159
(indings and v).15 F 1.159(ariables are set.)-.25 F .029
(There are only a fe)108 628.8 R 2.529(wb)-.25 G .029
@@ -354,15 +354,15 @@ BP
(Functions Manual)2.5 E(READLINE\(3\))119.855 E(into the)108 84 Q/F1 10
/Times-Italic@0 SF(inputr)2.51 E(c)-.37 E F0 -.1(wo)2.81 G(uld mak).1 E
2.5(eM)-.1 G(\255C\255u e)-2.5 E -.15(xe)-.15 G
-(cute the readline command).15 E F1(univer)2.5 E(sal\255ar)-.1 E(gument)
--.37 E F0(.).68 E 2.795(The follo)108 100.8 R 2.795
+(cute the readline command).15 E F1(univer)2.58 E(sal\255ar)-.1 E
+(gument)-.37 E F0(.).68 E 1.153(The follo)108 100.8 R 1.154
(wing symbolic character names are recognized while processing k)-.25 F
-3.095 -.15(ey b)-.1 H(indings:).15 E F1(DEL)5.295 E F0(,).53 E F1(ESC)
-5.295 E F0(,).72 E F1(ESCAPE)108 112.8 Q F0(,).73 E F1(LFD)2.5 E F0(,)
-.28 E F1(NEWLINE)2.5 E F0(,).73 E F1(RET)2.5 E F0(,)1.27 E F1(RETURN)2.5
-E F0(,)1.1 E F1 -.4(RU)2.5 G(BOUT).4 E F0(,)1.27 E F1(SP)2.5 E -.3(AC)
--.9 G(E).3 E F0(,).73 E F1(SPC)2.5 E F0 2.5(,a).72 G(nd)-2.5 E F1 -.5
-(TA)2.5 G(B).5 E F0(.).27 E .209
+1.454 -.15(ey b)-.1 H(indings:).15 E F1(DEL)4.234 E F0(,).53 E F1(ESC)
+4.164 E F0(,).72 E F1(ES-)4.164 E(CAPE)108 112.8 Q F0(,).73 E F1(LFD)
+3.08 E F0(,).28 E F1(NEWLINE)3.2 E F0(,).73 E F1(RET)3.13 E F0(,)1.27 E
+F1(RETURN)3.13 E F0(,)1.1 E F1 -.4(RU)2.5 G(BOUT).4 E F0(,)1.27 E F1(SP)
+2.83 E -.3(AC)-.9 G(E).3 E F0(,).73 E F1(SPC)2.83 E F0 2.5(,a).72 G(nd)
+-2.5 E F1 -.5(TA)2.5 G(B).5 E F0(.).27 E .209
(In addition to command names, readline allo)108 129.6 R .209(ws k)-.25
F -.15(ey)-.1 G 2.709(st).15 G 2.709(ob)-2.709 G 2.709(eb)-2.709 G .209
(ound to a string that is inserted when the k)-2.709 F .509 -.15(ey i)
@@ -373,14 +373,14 @@ F -.15(ey)-.1 G 2.709(st).15 G 2.709(ob)-2.709 G 2.709(eb)-2.709 G .209
(\214le is simple.)3.176 F .366(All that is required is the name of the)
5.366 F .264(command or the te)108 182.4 R .264(xt of a macro and a k)
-.15 F .564 -.15(ey s)-.1 H .264(equence to which it should be bound.)
-.15 F .263(The name may be speci-)5.264 F .853(\214ed in one of tw)108
-194.4 R 3.353(ow)-.1 G .853(ays: as a symbolic k)-3.453 F 1.153 -.15
-(ey n)-.1 H .853(ame, possibly with).15 F F1(Meta\255)3.353 E F0(or)
-3.353 E F1(Contr)3.353 E(ol\255)-.45 E F0(pre\214x)3.353 E .853
-(es, or as a k)-.15 F -.15(ey)-.1 G 2.919(sequence. The)108 206.4 R .419
-(name and k)2.919 F .719 -.15(ey s)-.1 H .419
-(equence are separated by a colon.).15 F .419
-(There can be no whitespace between the)5.419 F(name and the colon.)108
+.15 F .263(The name may be speci-)5.264 F .138(\214ed in one of tw)108
+194.4 R 2.638(ow)-.1 G .138(ays: as a symbolic k)-2.738 F .438 -.15
+(ey n)-.1 H .138(ame, possibly with).15 F F1(Meta\255)2.638 E F0(or)
+2.638 E F1(Contr)2.638 E(ol\255)-.45 E F0(pre\214x)2.638 E .138
+(es, or as a k)-.15 F .439 -.15(ey s)-.1 H(e-).15 E 3.409(quence. The)
+108 206.4 R .909(name and k)3.409 F 1.209 -.15(ey s)-.1 H .909
+(equence are separated by a colon.).15 F .909
+(There can be no whitespace between the)5.909 F(name and the colon.)108
218.4 Q .361(When using the form)108 235.2 R F2 -.1(ke)2.861 G(yname).1
E F0(:)A F1(function-name).833 E F0(or)2.861 E F1(macr)2.861 E(o)-.45 E
F0(,)A F1 -.1(ke)2.861 G(yname)-.2 E F0 .362(is the name of a k)3.042 F
@@ -392,10 +392,10 @@ G(rsal\255ar).15 E(gument)-.18 E(Meta\255Rubout: backw)144 283.2 Q
2.488 E F0 .148(is bound to the function)2.898 F F2(uni)2.647 E -.1(ve)
-.1 G(rsal\255ar).1 E(gument)-.1 E F0(,)A F1(M-DEL)3.327 E F0 .147
(is bound to the function)3.177 F F2(backward\255kill\255w)108 324 Q
-(ord)-.1 E F0 3.835(,a)C(nd)-3.835 E F1(C\255o)3.675 E F0 1.336
-(is bound to run the macro e)4.016 F 1.336
-(xpressed on the right hand side \(that is, to)-.15 F(insert the te)108
-336 Q(xt)-.15 E/F3 10/Courier@0 SF 6(>o)2.5 G(utput)-6 E F0
+(ord)-.1 E F0 3.005(,a)C(nd)-3.005 E F1(C\255o)2.845 E F0 .505
+(is bound to run the macro e)3.185 F .506
+(xpressed on the right hand side \(that is, to in-)-.15 F(sert the te)
+108 336 Q(xt)-.15 E/F3 10/Courier@0 SF 6(>o)2.5 G(utput)-6 E F0
(into the line\).)2.5 E .056(In the second form,)108 352.8 R F2("k)2.556
E(eyseq")-.1 E F0(:)A F1(function\255name).833 E F0(or)2.556 E F1(macr)
2.556 E(o)-.45 E F0(,)A F2 -.1(ke)2.556 G(yseq).1 E F0(dif)2.555 E .055
@@ -622,25 +622,25 @@ G(s.).15 E F1(enable\255meta\255k)108 420 Q(ey \(On\))-.1 E F0 .64
(expand\255tilde \(Off\))108 456 Q F0(If set to)144 468 Q F1(On)2.5 E F0
2.5(,t)C(ilde e)-2.5 E(xpansion is performed when readline attempts w)
-.15 E(ord completion.)-.1 E F1(history\255pr)108 480 Q(eser)-.18 E -.1
-(ve)-.1 G(\255point \(Off\)).1 E F0 1.338(If set to)144 492 R F1(On)
-3.838 E F0 3.838(,t)C 1.338(he history code attempts to place point at \
-the same location on each history line)-3.838 F(retrie)144 504 Q -.15
-(ve)-.25 G 2.5(dw).15 G(ith)-2.5 E F1(pr)2.5 E -.15(ev)-.18 G
-(ious-history).15 E F0(or)2.5 E F1(next-history)2.5 E F0(.)A F1
-(history\255size \(unset\))108 516 Q F0 .949
-(Set the maximum number of history entries sa)144 528 R -.15(ve)-.2 G
-3.448(di).15 G 3.448(nt)-3.448 G .948(he history list.)-3.448 F .948
-(If set to zero, an)5.948 F 3.448(ye)-.15 G(xisting)-3.598 E .482
-(history entries are deleted and no ne)144 540 R 2.982(we)-.25 G .483
-(ntries are sa)-2.982 F -.15(ve)-.2 G 2.983(d. If).15 F .483(set to a v)
-2.983 F .483(alue less than zero, the num-)-.25 F .356
+(ve)-.1 G(\255point \(Off\)).1 E F0 .552(If set to)144 492 R F1(On)3.052
+E F0 3.052(,t)C .552(he history code attempts to place point at the sam\
+e location on each history line re-)-3.052 F(trie)144 504 Q -.15(ve)-.25
+G 2.5(dw).15 G(ith)-2.5 E F1(pr)2.5 E -.15(ev)-.18 G(ious-history).15 E
+F0(or)2.5 E F1(next-history)2.5 E F0(.)A F1(history\255size \(unset\))
+108 516 Q F0 .949(Set the maximum number of history entries sa)144 528 R
+-.15(ve)-.2 G 3.448(di).15 G 3.448(nt)-3.448 G .948(he history list.)
+-3.448 F .948(If set to zero, an)5.948 F 3.448(ye)-.15 G(xisting)-3.598
+E .482(history entries are deleted and no ne)144 540 R 2.982(we)-.25 G
+.483(ntries are sa)-2.982 F -.15(ve)-.2 G 2.983(d. If).15 F .483
+(set to a v)2.983 F .483(alue less than zero, the num-)-.25 F .356
(ber of history entries is not limited.)144 552 R .356(By def)5.356 F
.355(ault, the number of history entries is not limited.)-.1 F .355
-(If an)5.355 F 1.97(attempt is made to set)144 564 R F2(history\255size)
-4.47 E F0 1.97(to a non-numeric v)4.47 F 1.97
-(alue, the maximum number of history)-.25 F(entries will be set to 500.)
-144 576 Q F1(horizontal\255scr)108 588 Q(oll\255mode \(Off\))-.18 E F0
-.449(When set to)144 600 R F1(On)2.949 E F0 2.949(,m)C(ak)-2.949 E .448
+(If an)5.355 F .82(attempt is made to set)144 564 R F2(history\255size)
+3.32 E F0 .821(to a non-numeric v)3.321 F .821
+(alue, the maximum number of history en-)-.25 F
+(tries will be set to 500.)144 576 Q F1(horizontal\255scr)108 588 Q
+(oll\255mode \(Off\))-.18 E F0 .449(When set to)144 600 R F1(On)2.949 E
+F0 2.949(,m)C(ak)-2.949 E .448
(es readline use a single line for display)-.1 F 2.948(,s)-.65 G .448
(crolling the input horizontally on a)-2.948 F 1.194(single screen line\
when it becomes longer than the screen width rather than wrapping to a\
@@ -672,31 +672,32 @@ BP
(ke)108 96 S(ymap \(emacs\)).1 E F0 2.323(Set the current readline k)144
108 R -.15(ey)-.1 G 4.823(map. The).15 F 2.323(set of le)4.823 F -.05
(ga)-.15 G 4.823(lk).05 G -.15(ey)-4.923 G 2.323(map names is).15 F F1
-2.324(emacs, emacs-standar)4.823 F(d,)-.37 E .809
-(emacs-meta, emacs-ctlx, vi, vi-mo)144 120 R(ve)-.1 E 3.308(,v)-.1 G
-(i-command)-3.308 E F0 3.308(,a)C(nd)-3.308 E F1(vi-insert)3.308 E F0(.)
-.68 E F1(vi)5.808 E F0 .808(is equi)3.308 F -.25(va)-.25 G .808(lent to)
-.25 F F1(vi-command)3.308 E F0(;)A F1(emacs)144 132 Q F0 .697(is equi)
-3.196 F -.25(va)-.25 G .697(lent to).25 F F1(emacs-standar)3.197 E(d)
--.37 E F0 5.697(.T)C .697(he def)-5.697 F .697(ault v)-.1 F .697
-(alue is)-.25 F F1(emacs)3.197 E F0 5.697(.T).27 G .697(he v)-5.697 F
-.697(alue of)-.25 F F2(editing\255mode)3.197 E F0(also af)144 144 Q
+2.324(emacs, emacs-standar)4.823 F(d,)-.37 E .782
+(emacs-meta, emacs-ctlx, vi, vi-mo)144 120 R(ve)-.1 E 3.282(,v)-.1 G
+(i-command)-3.282 E F0 3.282(,a)C(nd)-3.282 E F1(vi-insert)3.572 E F0(.)
+.68 E F1(vi)5.782 E F0 .782(is equi)3.282 F -.25(va)-.25 G .781(lent to)
+.25 F F1(vi-command)3.281 E F0(;)A F1(emacs)144 132 Q F0 .682(is equi)
+3.182 F -.25(va)-.25 G .682(lent to).25 F F1(emacs-standar)3.182 E(d)
+-.37 E F0 5.682(.T)C .682(he def)-5.682 F .682(ault v)-.1 F .682
+(alue is)-.25 F F1(emacs)3.372 E F0 5.683(.T).27 G .683(he v)-5.683 F
+.683(alue of)-.25 F F2(editing\255mode)3.183 E F0(also af)144 144 Q
(fects the def)-.25 E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F2 -.1(ke)
108 156 S(yseq\255timeout \(500\)).1 E F0 .368(Speci\214es the duration)
144 168 R F1 -.37(re)2.867 G(adline).37 E F0 .367(will w)2.867 F .367
(ait for a character when reading an ambiguous k)-.1 F .667 -.15(ey s)
--.1 H(equence).15 E 1.356(\(one that can form a complete k)144 180 R
-1.656 -.15(ey s)-.1 H 1.356(equence using the input read so f).15 F(ar)
--.1 E 3.856(,o)-.4 G 3.856(rc)-3.856 G 1.356(an tak)-3.856 F 3.856(ea)
--.1 G(dditional)-3.856 E .32(input to complete a longer k)144 192 R .62
--.15(ey s)-.1 H 2.82(equence\). If).15 F .32(no input is recei)2.82 F
--.15(ve)-.25 G 2.82(dw).15 G .32(ithin the timeout,)-2.82 F F1 -.37(re)
-2.82 G(adline).37 E F0(will)2.82 E .906(use the shorter b)144 204 R .907
-(ut complete k)-.2 F 1.207 -.15(ey s)-.1 H 3.407(equence. The).15 F -.25
-(va)3.407 G .907(lue is speci\214ed in milliseconds, so a v).25 F .907
-(alue of)-.25 F .05(1000 means that)144 216 R F1 -.37(re)2.55 G(adline)
-.37 E F0 .05(will w)2.55 F .05(ait one second for additional input.)-.1
-F .05(If this v)5.05 F .05(ariable is set to a v)-.25 F(alue)-.25 E .051
+-.1 H(equence).15 E .524(\(one that can form a complete k)144 180 R .824
+-.15(ey s)-.1 H .524(equence using the input read so f).15 F(ar)-.1 E
+3.025(,o)-.4 G 3.025(rc)-3.025 G .525(an tak)-3.025 F 3.025(ea)-.1 G
+.525(dditional in-)-3.025 F .807(put to complete a longer k)144 192 R
+1.106 -.15(ey s)-.1 H 3.306(equence\). If).15 F .806(no input is recei)
+3.306 F -.15(ve)-.25 G 3.306(dw).15 G .806(ithin the timeout,)-3.306 F
+F1 -.37(re)3.306 G(adline).37 E F0(will)3.306 E .906(use the shorter b)
+144 204 R .907(ut complete k)-.2 F 1.207 -.15(ey s)-.1 H 3.407
+(equence. The).15 F -.25(va)3.407 G .907
+(lue is speci\214ed in milliseconds, so a v).25 F .907(alue of)-.25 F
+.05(1000 means that)144 216 R F1 -.37(re)2.55 G(adline).37 E F0 .05
+(will w)2.55 F .05(ait one second for additional input.)-.1 F .05
+(If this v)5.05 F .05(ariable is set to a v)-.25 F(alue)-.25 E .051
(less than or equal to zero, or to a non-numeric v)144 228 R(alue,)-.25
E F1 -.37(re)2.551 G(adline).37 E F0 .051(will w)2.551 F .051
(ait until another k)-.1 F .352 -.15(ey i)-.1 H 2.552(sp).15 G(ressed)
@@ -737,12 +738,13 @@ ta-)-3.007 F(pre\214x)144 444 Q .884(ed escape sequence.)-.15 F .884
3.308 E(e)-.37 E F0(-lik)A 3.308(ep)-.1 G .808
(ager to display a screenful of possible comple-)-3.308 F
(tions at a time.)144 492 Q F2
-(print\255completions\255horizontally \(Off\))108 504 Q F0 1.318
-(If set to)144 516 R F2(On)3.818 E F0 3.818(,r)C 1.319(eadline will dis\
-play completions with matches sorted horizontally in alphabetical)-3.818
-F(order)144 528 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25
-E F2 -2.29 -.18(re v)108 540 T(ert\255all\255at\255newline \(Off\)).08 E
-F0 .699(If set to)144 552 R F2(On)3.199 E F0 3.199(,r)C .699
+(print\255completions\255horizontally \(Off\))108 504 Q F0 .227
+(If set to)144 516 R F2(On)2.727 E F0 2.727(,r)C .227(eadline will disp\
+lay completions with matches sorted horizontally in alphabetical or)
+-2.727 F(-)-.2 E(der)144 528 Q 2.5(,r)-.4 G(ather than do)-2.5 E
+(wn the screen.)-.25 E F2 -2.29 -.18(re v)108 540 T
+(ert\255all\255at\255newline \(Off\)).08 E F0 .699(If set to)144 552 R
+F2(On)3.199 E F0 3.199(,r)C .699
(eadline will undo all changes to history lines before returning when)
-3.199 F F2(accept\255line)3.198 E F0(is)3.198 E -.15(exe)144 564 S
2.686(cuted. By).15 F(def)2.686 E .186
@@ -795,30 +797,30 @@ E F0 -.25(va)3.017 G .518
(riable is enabled, this string is displayed immediately before the).25
F .475(last line of the primary prompt when vi editing mode is acti)144
168 R .775 -.15(ve a)-.25 H .475(nd in command mode.).15 F .475(The v)
-5.475 F(alue)-.25 E 1.235(is e)144 180 R 1.235(xpanded lik)-.15 F 3.735
-(eak)-.1 G 1.535 -.15(ey b)-3.835 H 1.236
-(inding, so the standard set of meta- and control pre\214x).15 F 1.236
-(es and backslash)-.15 F .315(escape sequences is a)144 192 R -.25(va)
--.2 G 2.815(ilable. Use).25 F .314(the \\1 and \\2 escapes to be)2.815 F
-.314(gin and end sequences of non-print-)-.15 F(ing characters, which c\
-an be used to embed a terminal control sequence into the mode string.)
-144 204 Q F1(vi\255ins\255mode\255string \(\(ins\)\))108 216 Q F0 .517
+5.475 F(alue)-.25 E .33(is e)144 180 R .33(xpanded lik)-.15 F 2.83(eak)
+-.1 G .63 -.15(ey b)-2.93 H .33
+(inding, so the standard set of meta- and control pre\214x).15 F .33
+(es and backslash es-)-.15 F .245(cape sequences is a)144 192 R -.25(va)
+-.2 G 2.745(ilable. Use).25 F .244(the \\1 and \\2 escapes to be)2.745 F
+.244(gin and end sequences of non-printing)-.15 F(characters, which can\
+ be used to embed a terminal control sequence into the mode string.)144
+204 Q F1(vi\255ins\255mode\255string \(\(ins\)\))108 216 Q F0 .517
(If the)144 228 R F2(show\255mode\255in\255pr)3.017 E(ompt)-.45 E F0
-.25(va)3.017 G .518
(riable is enabled, this string is displayed immediately before the).25
F .186(last line of the primary prompt when vi editing mode is acti)144
240 R .486 -.15(ve a)-.25 H .186(nd in insertion mode.).15 F .186(The v)
-5.186 F .186(alue is)-.25 F -.15(ex)144 252 S 1.929(panded lik).15 F
-4.429(eak)-.1 G 2.229 -.15(ey b)-4.529 H 1.929
-(inding, so the standard set of meta- and control pre\214x).15 F 1.93
-(es and backslash)-.15 F .315(escape sequences is a)144 264 R -.25(va)
--.2 G 2.815(ilable. Use).25 F .314(the \\1 and \\2 escapes to be)2.815 F
-.314(gin and end sequences of non-print-)-.15 F(ing characters, which c\
-an be used to embed a terminal control sequence into the mode string.)
-144 276 Q F1(visible\255stats \(Off\))108 288 Q F0 .846(If set to)144
-300 R F1(On)3.346 E F0 3.346(,ac)C .846(haracter denoting a \214le')
--3.346 F 3.346(st)-.55 G .846(ype as reported by)-3.346 F F2(stat)3.346
-E F0 .846(\(2\) is appended to the \214lename)B
+5.186 F .186(alue is)-.25 F -.15(ex)144 252 S .923(panded lik).15 F
+3.423(eak)-.1 G 1.223 -.15(ey b)-3.523 H .924
+(inding, so the standard set of meta- and control pre\214x).15 F .924
+(es and backslash es-)-.15 F .245(cape sequences is a)144 264 R -.25(va)
+-.2 G 2.745(ilable. Use).25 F .244(the \\1 and \\2 escapes to be)2.745 F
+.244(gin and end sequences of non-printing)-.15 F(characters, which can\
+ be used to embed a terminal control sequence into the mode string.)144
+276 Q F1(visible\255stats \(Off\))108 288 Q F0 .846(If set to)144 300 R
+F1(On)3.346 E F0 3.346(,ac)C .846(haracter denoting a \214le')-3.346 F
+3.346(st)-.55 G .846(ype as reported by)-3.346 F F2(stat)3.346 E F0 .846
+(\(2\) is appended to the \214lename)B
(when listing possible completions.)144 312 Q F1(Conditional Constructs)
87 328.8 Q F0 .05(Readline implements a f)108 340.8 R .05(acility simil\
ar in spirit to the conditional compilation features of the C preproces\
@@ -851,29 +853,29 @@ Q F1(term)144 475.2 Q F0(The)180 475.2 Q F1(term=)3.196 E F0 .696
E F0 .503(is tested ag)3.003 F .504(ainst the full name of the terminal\
and the portion of the terminal name)-.05 F(before the \214rst)180
511.2 Q F1<ad>2.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(sun)2.84 E F0
-(to match both)2.74 E F2(sun)2.84 E F0(and)2.74 E F2(sun\255cmd)2.5 E F0
-2.5(,f).77 G(or instance.)-2.5 E F1 -.1(ve)144 528 S(rsion).1 E F0(The)
-180 540 Q F1 -.1(ve)3.109 G(rsion).1 E F0 .608
+(to match both)2.74 E F2(sun)2.84 E F0(and)2.74 E F2(sun\255cmd)2.84 E
+F0 2.5(,f).77 G(or instance.)-2.5 E F1 -.1(ve)144 528 S(rsion).1 E F0
+(The)180 540 Q F1 -.1(ve)3.109 G(rsion).1 E F0 .608
(test may be used to perform comparisons ag)3.109 F .608
(ainst speci\214c readline v)-.05 F(ersions.)-.15 E(The)180 552 Q F1 -.1
-(ve)3.928 G(rsion).1 E F0 -.15(ex)3.928 G 1.428
-(pands to the current readline v).15 F 3.928(ersion. The)-.15 F 1.429
-(set of comparison operators)3.929 F(includes)180 564 Q F1(=)2.606 E F0
-2.606(,\()C(and)-2.606 E F1(==)2.606 E F0(\),)A F1(!=)2.606 E F0(,)A F1
-(<=)2.606 E F0(,)A F1(>=)2.606 E F0(,)A F1(<)2.606 E F0 2.606(,a)C(nd)
--2.606 E F1(>)2.606 E F0 5.106(.T)C .106(he v)-5.106 F .106
-(ersion number supplied on the right side)-.15 F 1.471
-(of the operator consists of a major v)180 576 R 1.471(ersion number)
--.15 F 3.972(,a)-.4 G 3.972(no)-3.972 G 1.472
-(ptional decimal point, and an)-3.972 F .767(optional minor v)180 588 R
-.767(ersion \(e.g.,)-.15 F F1(7.1)3.267 E F0 .766(\). If the minor v)B
-.766(ersion is omitted, it is assumed to be)-.15 F F1(0)3.266 E F0(.)A
-1.755(The operator may be separated from the string)180 600 R F1 -.1(ve)
-4.255 G(rsion).1 E F0 1.756(and from the v)4.256 F 1.756(ersion number)
--.15 F(ar)180 612 Q(gument by whitespace.)-.18 E F1(application)144
-628.8 Q F0(The)180 640.8 Q F1(application)3.003 E F0 .503
-(construct is used to include application-speci\214c settings.)3.003 F
-.503(Each program)5.503 F .114(using the readline library sets the)180
+(ve)2.771 G(rsion).1 E F0 -.15(ex)2.771 G .271
+(pands to the current readline v).15 F 2.772(ersion. The)-.15 F .272
+(set of comparison operators in-)2.772 F(cludes)180 564 Q F1(=)3.064 E
+F0 3.064(,\()C(and)-3.064 E F1(==)3.064 E F0(\),)A F1(!=)3.064 E F0(,)A
+F1(<=)3.064 E F0(,)A F1(>=)3.064 E F0(,)A F1(<)3.064 E F0 3.064(,a)C(nd)
+-3.064 E F1(>)3.064 E F0 5.563(.T)C .563(he v)-5.563 F .563
+(ersion number supplied on the right side)-.15 F .318
+(of the operator consists of a major v)180 576 R .318(ersion number)-.15
+F 2.818(,a)-.4 G 2.818(no)-2.818 G .318
+(ptional decimal point, and an op-)-2.818 F .101(tional minor v)180 588
+R .101(ersion \(e.g.,)-.15 F F1(7.1)2.601 E F0 .101(\). If the minor v)B
+.1(ersion is omitted, it is assumed to be)-.15 F F1(0)2.6 E F0 5.1(.T)C
+(he)-5.1 E .06(operator may be separated from the string)180 600 R F1
+-.1(ve)2.56 G(rsion).1 E F0 .06(and from the v)2.56 F .06
+(ersion number ar)-.15 F(gument)-.18 E(by whitespace.)180 612 Q F1
+(application)144 628.8 Q F0(The)180 640.8 Q F1(application)3.003 E F0
+.503(construct is used to include application-speci\214c settings.)3.003
+F .503(Each program)5.503 F .114(using the readline library sets the)180
652.8 R F2 .114(application name)2.614 F F0 2.614(,a)C .114
(nd an initialization \214le can test for a)-2.614 F .501(particular v)
180 664.8 R 3.001(alue. This)-.25 F .501(could be used to bind k)3.001 F
@@ -919,7 +921,7 @@ F .13(Both string and boolean v)5.129 F .13(ariables may be)-.25 F
1.003(vides commands for searching through the command history for line\
s containing a speci\214ed)-.15 F 2.5(string. There)108 312 R(are tw)2.5
E 2.5(os)-.1 G(earch modes:)-2.5 E F2(incr)2.51 E(emental)-.37 E F0(and)
-3.01 E F2(non-incr)2.5 E(emental)-.37 E F0(.).51 E .698
+3.01 E F2(non-incr)2.86 E(emental)-.37 E F0(.).51 E .698
(Incremental searches be)108 328.8 R .698
(gin before the user has \214nished typing the search string.)-.15 F
.697(As each character of the)5.697 F .112
@@ -945,20 +947,21 @@ g the search string becomes the current line.)108 412.8 Q 2.406 -.8
(To \214)108 429.6 T .806
(nd other matching entries in the history list, type).8 F F1(C\255s)
3.306 E F0(or)3.306 E F1(C\255r)3.306 E F0 .806(as appropriate.)3.306 F
-.807(This will search back-)5.806 F -.1(wa)108 441.6 S 1.309(rd or forw)
-.1 F 1.309(ard in the history for the ne)-.1 F 1.309
-(xt line matching the search string typed so f)-.15 F(ar)-.1 E 6.309(.A)
--.55 G 1.609 -.15(ny o)-6.309 H 1.308(ther k).15 F -.15(ey)-.1 G .317
-(sequence bound to a readline command will terminate the search and e)
-108 453.6 R -.15(xe)-.15 G .318(cute that command.).15 F -.15(Fo)5.318 G
-2.818(ri).15 G(nstance,)-2.818 E 3.481(an)108 465.6 S -.25(ew)-3.481 G
-.981(line will terminate the search and accept the line, thereby e).25 F
--.15(xe)-.15 G .98(cuting the command from the history).15 F 3.061
-(list. A)108 477.6 R(mo)3.061 E -.15(ve)-.15 G .562
-(ment command will terminate the search, mak).15 F 3.062(et)-.1 G .562
-(he last line found the current line, and be)-3.062 F(gin)-.15 E
-(editing.)108 489.6 Q .567(Non-incremental searches read the entire sea\
-rch string before starting to search for matching history lines.)108
+.807(This will search back-)5.806 F -.1(wa)108 441.6 S .536(rd or forw)
+.1 F .536(ard in the history for the ne)-.1 F .535
+(xt line matching the search string typed so f)-.15 F(ar)-.1 E 5.535(.A)
+-.55 G .835 -.15(ny o)-5.535 H .535(ther k).15 F .835 -.15(ey s)-.1 H
+(e-).15 E .384
+(quence bound to a readline command will terminate the search and e)108
+453.6 R -.15(xe)-.15 G .385(cute that command.).15 F -.15(Fo)5.385 G
+2.885(ri).15 G .385(nstance, a)-2.885 F(ne)108 465.6 Q .338
+(wline will terminate the search and accept the line, thereby e)-.25 F
+-.15(xe)-.15 G .337(cuting the command from the history list.).15 F
+2.997(Am)108 477.6 S -.15(ove)-2.997 G .497
+(ment command will terminate the search, mak).15 F 2.997(et)-.1 G .497
+(he last line found the current line, and be)-2.997 F .498(gin edit-)
+-.15 F(ing.)108 489.6 Q .567(Non-incremental searches read the entire s\
+earch string before starting to search for matching history lines.)108
506.4 R(The search string may be typed by the user or be part of the co\
ntents of the current line.)108 518.4 Q F3(EDITING COMMANDS)72 535.2 Q
F0 1.391(The follo)108 547.2 R 1.391
@@ -1093,10 +1096,10 @@ of characters between the start of the current line)-.1 F .319
5.318 F(search.)144 168 Q F1(yank\255nth\255ar)108 180 Q 2.5(g\()-.1 G
<4dad43ad7929>-2.5 E F0 .622(Insert the \214rst ar)144 192 R .622
(gument to the pre)-.18 F .622(vious command \(usually the second w)-.25
-F .622(ord on the pre)-.1 F .622(vious line\))-.25 F .795(at point.)144
-204 R -.4(Wi)5.795 G .794(th an ar).4 F(gument)-.18 E F2(n)3.294 E F0
-3.294(,i).24 G .794(nsert the)-3.294 F F2(n)3.294 E F0 .794(th w)B .794
-(ord from the pre)-.1 F .794(vious command \(the w)-.25 F .794
+F .622(ord on the pre)-.1 F .622(vious line\))-.25 F .773(at point.)144
+204 R -.4(Wi)5.773 G .773(th an ar).4 F(gument)-.18 E F2(n)3.633 E F0
+3.273(,i).24 G .773(nsert the)-3.273 F F2(n)3.273 E F0 .773(th w)B .773
+(ord from the pre)-.1 F .773(vious command \(the w)-.25 F .773
(ords in the)-.1 F(pre)144 216 Q .291(vious command be)-.25 F .291
(gin with w)-.15 F .291(ord 0\).)-.1 F 2.791(An)5.291 G -2.25 -.15(eg a)
-2.791 H(ti).15 E .591 -.15(ve a)-.25 H -.18(rg).15 G .291
@@ -1116,12 +1119,12 @@ E .503 -.15(ve c)-.25 H .203(alls to).15 F F1(yank\255last\255ar)2.703 E
(g)-.1 E F0(mo)144 288 Q .806 -.15(ve b)-.15 H .507
(ack through the history list, inserting the last w).15 F .507
(ord \(or the w)-.1 F .507(ord speci\214ed by the ar)-.1 F(gument)-.18 E
-1.397(to the \214rst call\) of each line in turn.)144 300 R(An)6.396 E
-3.896(yn)-.15 G 1.396(umeric ar)-3.896 F 1.396
-(gument supplied to these successi)-.18 F 1.696 -.15(ve c)-.25 H(alls)
-.15 E .491(determines the direction to mo)144 312 R .791 -.15(ve t)-.15
-H .491(hrough the history).15 F 5.492(.A)-.65 G(ne)-2.5 E -.05(ga)-.15 G
-(ti).05 E .792 -.15(ve a)-.25 H -.18(rg).15 G .492
+.416(to the \214rst call\) of each line in turn.)144 300 R(An)5.416 E
+2.916(yn)-.15 G .416(umeric ar)-2.916 F .416
+(gument supplied to these successi)-.18 F .715 -.15(ve c)-.25 H .415
+(alls de-).15 F 1.217(termines the direction to mo)144 312 R 1.518 -.15
+(ve t)-.15 H 1.218(hrough the history).15 F 6.218(.A)-.65 G(ne)-2.5 E
+-.05(ga)-.15 G(ti).05 E 1.518 -.15(ve a)-.25 H -.18(rg).15 G 1.218
(ument switches the direction).18 F .494
(through the history \(back or forw)144 324 R 2.994(ard\). The)-.1 F
.494(history e)2.994 F .494(xpansion f)-.15 F .494
@@ -1160,11 +1163,11 @@ Q F0 2.5(,f)C(or e)-2.5 E(xample.)-.15 E F1(tab\255insert \(M-T)108
(transpose\255chars \(C\255t\))108 604.8 Q F0 .321
(Drag the character before point forw)144 616.8 R .321(ard o)-.1 F -.15
(ve)-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F .322
-(ving point forw)-.15 F .322(ard as well.)-.1 F 1.182
+(ving point forw)-.15 F .322(ard as well.)-.1 F .372
(If point is at the end of the line, then this transposes the tw)144
-628.8 R 3.682(oc)-.1 G 1.182(haracters before point.)-3.682 F(Ne)6.182 E
--.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(ar)144 640.8 Q(guments ha)-.18 E
-.3 -.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F1
+628.8 R 2.872(oc)-.1 G .372(haracters before point.)-2.872 F(Ne)5.372 E
+-.05(ga)-.15 G(ti).05 E .672 -.15(ve a)-.25 H -.2(r-).15 G(guments ha)
+144 640.8 Q .3 -.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F1
(transpose\255w)108 652.8 Q(ords \(M\255t\))-.1 E F0 .023(Drag the w)144
664.8 R .023(ord before point past the w)-.1 F .023(ord after point, mo)
-.1 F .023(ving point o)-.15 F -.15(ve)-.15 G 2.524(rt).15 G .024(hat w)
@@ -1241,12 +1244,12 @@ F 5.365(.T)-.65 G .365(he killed te)-5.365 F .365(xt is sa)-.15 F -.15
(xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)-2.5 G(he kill-ring.)
-2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 484.8 Q F0
(Delete all spaces and tabs around point.)144 496.8 Q F1(kill\255r)108
-508.8 Q(egion)-.18 E F0 1.13(Kill the te)144 520.8 R 1.13
-(xt between the point and)-.15 F F2(mark)3.63 E F0(\(sa)3.63 E -.15(ve)
--.2 G 3.63(dc).15 G 1.13(ursor position\).)-3.63 F 1.13(This te)6.13 F
-1.13(xt is referred to as the)-.15 F F2 -.37(re)144 532.8 S(gion)-.03 E
-F0(.)A F1(copy\255r)108 544.8 Q(egion\255as\255kill)-.18 E F0(Cop)144
-556.8 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E
+508.8 Q(egion)-.18 E F0 .301(Kill the te)144 520.8 R .301
+(xt between the point and)-.15 F F2(mark)2.801 E F0(\(sa)2.801 E -.15
+(ve)-.2 G 2.801(dc).15 G .301(ursor position\).)-2.801 F .301(This te)
+5.301 F .301(xt is referred to as the)-.15 F F2 -.37(re)2.802 G(-).37 E
+(gion)144 532.8 Q F0(.)A F1(copy\255r)108 544.8 Q(egion\255as\255kill)
+-.18 E F0(Cop)144 556.8 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E
(gion to the kill b)-.15 E(uf)-.2 E(fer)-.25 E(.)-.55 E F1
(copy\255backward\255w)108 568.8 Q(ord)-.1 E F0(Cop)144 580.8 Q 4.801
(yt)-.1 G 2.301(he w)-4.801 F 2.301(ord before point to the kill b)-.1 F
@@ -1296,12 +1299,12 @@ BP
(cuting this function the \214rst time mak).15 F .378(es the ar)-.1 F
.378(gument count)-.18 F(four)144 168 Q 2.5(,as)-.4 G(econd time mak)
-2.5 E(es the ar)-.1 E(gument count sixteen, and so on.)-.18 E F1
-(Completing)87 184.8 Q(complete \(T)108 196.8 Q(AB\))-.9 E F0 1.908
-(Attempt to perform completion on the te)144 208.8 R 1.908
-(xt before point.)-.15 F 1.909(The actual completion performed is)6.909
-F(application-speci\214c.)144 220.8 Q F1(Bash)5.518 E F0 3.018(,f)C .518
-(or instance, attempts completion treating the te)-3.018 F .517
-(xt as a v)-.15 F .517(ariable \(if the)-.25 F(te)144 232.8 Q .656
+(Completing)87 184.8 Q(complete \(T)108 196.8 Q(AB\))-.9 E F0 .681
+(Attempt to perform completion on the te)144 208.8 R .681
+(xt before point.)-.15 F .682(The actual completion performed is ap-)
+5.682 F(plication-speci\214c.)144 220.8 Q F1(Bash)6.244 E F0 3.744(,f)C
+1.244(or instance, attempts completion treating the te)-3.744 F 1.244
+(xt as a v)-.15 F 1.243(ariable \(if the)-.25 F(te)144 232.8 Q .656
(xt be)-.15 F .656(gins with)-.15 F F1($)3.156 E F0 .656
(\), username \(if the te)B .656(xt be)-.15 F .656(gins with)-.15 F F1
(~)3.156 E F0 .656(\), hostname \(if the te)B .656(xt be)-.15 F .656
@@ -1396,11 +1399,11 @@ F(meta\214ed lo)144 108 Q(wercase character)-.25 E 5(.T)-.55 G(he beha)
(ESC)5 E F1(f)2.25 E F0(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F1
(Meta\255f)2.5 E F0(.)A F1(undo \(C\255_, C\255x C\255u\))108 144 Q F0
(Incremental undo, separately remembered for each line.)144 156 Q F1
--2.29 -.18(re v)108 168 T(ert\255line \(M\255r\)).08 E F0 1.095
-(Undo all changes made to this line.)144 180 R 1.095(This is lik)6.095 F
-3.595(ee)-.1 G -.15(xe)-3.745 G 1.095(cuting the).15 F F1(undo)3.595 E
-F0 1.095(command enough times to)3.595 F
-(return the line to its initial state.)144 192 Q F1
+-2.29 -.18(re v)108 168 T(ert\255line \(M\255r\)).08 E F0 .231
+(Undo all changes made to this line.)144 180 R .231(This is lik)5.231 F
+2.731(ee)-.1 G -.15(xe)-2.881 G .23(cuting the).15 F F1(undo)2.73 E F0
+.23(command enough times to re-)2.73 F
+(turn the line to its initial state.)144 192 Q F1
(tilde\255expand \(M\255&\))108 204 Q F0(Perform tilde e)144 216 Q
(xpansion on the current w)-.15 E(ord.)-.1 E F1
(set\255mark \(C\255@, M\255<space>\))108 228 Q F0
@@ -1497,10 +1500,10 @@ BP
(function, which just inserts the gi)3.615 F -.15(ve)-.25 G(n).15 E .945
(character into the input line.)108 96 R .945(In vi insertion mode, all\
characters not speci\214cally mentioned are bound to)5.945 F F1
-(self\255insert)108 108 Q F0 5.359(.C)C .359
-(haracters assigned to signal generation by)-5.359 F/F2 10
-/Times-Italic@0 SF(stty)2.859 E F0 .359(\(1\) or the terminal dri).32 F
--.15(ve)-.25 G 1.159 -.4(r, s).15 H .358(uch as C-Z or C-C,).4 F .187
+(self\255insert)108 108 Q F0 5.338(.C)C .338
+(haracters assigned to signal generation by)-5.338 F/F2 10
+/Times-Italic@0 SF(stty)3.178 E F0 .337(\(1\) or the terminal dri).32 F
+-.15(ve)-.25 G 1.137 -.4(r, s).15 H .337(uch as C-Z or C-C,).4 F .187
(retain that function.)108 120 R .187(Upper and lo)5.187 F .188(wer cas\
e meta\214ed characters are bound to the same function in the emacs)-.25
F .305(mode meta k)108 132 R -.15(ey)-.1 G 2.805(map. The).15 F .305(re\
diff --git a/doc/rltech.texi b/doc/rltech.texi
index ff8bd04..92125d7 100644
--- a/doc/rltech.texi
+++ b/doc/rltech.texi
@@ -2042,7 +2042,7 @@ remove any quote characters from the directory name, because its result will
be passed directly to @code{opendir()}.
The directory rewrite hook returns an integer that should be non-zero if
-the function modfies its directory argument.
+the function modifies its directory argument.
The function should not modify the directory argument if it returns 0.
@end deftypevar
@@ -2054,7 +2054,7 @@ is passed to @code{stat()} to determine the file's type and characteristics.
This function does not need to remove quote characters from the filename.
The stat hook returns an integer that should be non-zero if
-the function modfies its directory argument.
+the function modifies its directory argument.
The function should not modify the directory argument if it returns 0.
@end deftypevar
@@ -2648,7 +2648,7 @@ com_help (arg)
if (!printed)
@{
- printf ("No commands match `%s'. Possibilties are:\n", arg);
+ printf ("No commands match `%s'. Possibilities are:\n", arg);
for (i = 0; commands[i].name; i++)
@{
diff --git a/doc/rluser.texi b/doc/rluser.texi
index 080090b..1291712 100644
--- a/doc/rluser.texi
+++ b/doc/rluser.texi
@@ -588,8 +588,9 @@ the maximum number of history entries will be set to 500.
This variable can be set to either @samp{on} or @samp{off}. Setting it
to @samp{on} means that the text of the lines being edited will scroll
horizontally on a single screen line when they are longer than the width
-of the screen, instead of wrapping onto a new screen line. By default,
-this variable is set to @samp{off}.
+of the screen, instead of wrapping onto a new screen line.
+This variable is automatically set to @samp{on} for terminals of height 1.
+By default, this variable is set to @samp{off}.
@item input-meta
@vindex input-meta
diff --git a/doc/rluserman.dvi b/doc/rluserman.dvi
index 7e9ae88..e1b9dba 100644
--- a/doc/rluserman.dvi
+++ b/doc/rluserman.dvi
Binary files differ
diff --git a/doc/rluserman.html b/doc/rluserman.html
index 9d8a747..5c8254f 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 April, 17 2019 by texi2html 1.64 -->
+<!-- Created on November, 20 2019 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -1860,65 +1860,76 @@ Word boundaries are the same as <CODE>backward-word</CODE>.
<P>
<A NAME="IDX135"></A>
-<DT><CODE>unix-word-rubout (C-w)</CODE>
+<DT><CODE>shell-transpose-words (M-C-t)</CODE>
<DD><A NAME="IDX136"></A>
+Drag the word before point past the word after point,
+moving point past that word as well.
+If the insertion point is at the end of the line, this transposes
+the last two words on the line.
+Word boundaries are the same as <CODE>shell-forward-word</CODE> and
+<CODE>shell-backward-word</CODE>.
+<P>
+
+<A NAME="IDX137"></A>
+<DT><CODE>unix-word-rubout (C-w)</CODE>
+<DD><A NAME="IDX138"></A>
Kill the word behind point, using white space as a word boundary.
The killed text is saved on the kill-ring.
<P>
-<A NAME="IDX137"></A>
+<A NAME="IDX139"></A>
<DT><CODE>unix-filename-rubout ()</CODE>
-<DD><A NAME="IDX138"></A>
+<DD><A NAME="IDX140"></A>
Kill the word behind point, using white space and the slash character
as the word boundaries.
The killed text is saved on the kill-ring.
<P>
-<A NAME="IDX139"></A>
+<A NAME="IDX141"></A>
<DT><CODE>delete-horizontal-space ()</CODE>
-<DD><A NAME="IDX140"></A>
+<DD><A NAME="IDX142"></A>
Delete all spaces and tabs around point. By default, this is unbound.
<P>
-<A NAME="IDX141"></A>
+<A NAME="IDX143"></A>
<DT><CODE>kill-region ()</CODE>
-<DD><A NAME="IDX142"></A>
+<DD><A NAME="IDX144"></A>
Kill the text in the current region.
By default, this command is unbound.
<P>
-<A NAME="IDX143"></A>
+<A NAME="IDX145"></A>
<DT><CODE>copy-region-as-kill ()</CODE>
-<DD><A NAME="IDX144"></A>
+<DD><A NAME="IDX146"></A>
Copy the text in the region to the kill buffer, so it can be yanked
right away. By default, this command is unbound.
<P>
-<A NAME="IDX145"></A>
+<A NAME="IDX147"></A>
<DT><CODE>copy-backward-word ()</CODE>
-<DD><A NAME="IDX146"></A>
+<DD><A NAME="IDX148"></A>
Copy the word before point to the kill buffer.
The word boundaries are the same as <CODE>backward-word</CODE>.
By default, this command is unbound.
<P>
-<A NAME="IDX147"></A>
+<A NAME="IDX149"></A>
<DT><CODE>copy-forward-word ()</CODE>
-<DD><A NAME="IDX148"></A>
+<DD><A NAME="IDX150"></A>
Copy the word following point to the kill buffer.
The word boundaries are the same as <CODE>forward-word</CODE>.
By default, this command is unbound.
<P>
-<A NAME="IDX149"></A>
+<A NAME="IDX151"></A>
<DT><CODE>yank (C-y)</CODE>
-<DD><A NAME="IDX150"></A>
+<DD><A NAME="IDX152"></A>
Yank the top of the kill ring into the buffer at point.
<P>
-<A NAME="IDX151"></A>
+<A NAME="IDX153"></A>
<DT><CODE>yank-pop (M-y)</CODE>
-<DD><A NAME="IDX152"></A>
+<DD><A NAME="IDX154"></A>
Rotate the kill-ring, and yank the new top. You can only do this if
the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
</DL>
@@ -1942,16 +1953,16 @@ the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
<!--docid::SEC18::-->
<DL COMPACT>
-<A NAME="IDX153"></A>
+<A NAME="IDX155"></A>
<DT><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, <small>...</small> <KBD>M--</KBD>)</CODE>
-<DD><A NAME="IDX154"></A>
+<DD><A NAME="IDX156"></A>
Add this digit to the argument already accumulating, or start a new
argument. <KBD>M--</KBD> starts a negative argument.
<P>
-<A NAME="IDX155"></A>
+<A NAME="IDX157"></A>
<DT><CODE>universal-argument ()</CODE>
-<DD><A NAME="IDX156"></A>
+<DD><A NAME="IDX158"></A>
This is another way to specify an argument.
If this command is followed by one or more digits, optionally with a
leading minus sign, those digits define the argument.
@@ -1986,33 +1997,33 @@ By default, this is not bound to a key.
<P>
<DL COMPACT>
-<A NAME="IDX157"></A>
+<A NAME="IDX159"></A>
<DT><CODE>complete (<KBD>TAB</KBD>)</CODE>
-<DD><A NAME="IDX158"></A>
+<DD><A NAME="IDX160"></A>
Attempt to perform completion on the text before point.
The actual completion performed is application-specific.
The default is filename completion.
<P>
-<A NAME="IDX159"></A>
+<A NAME="IDX161"></A>
<DT><CODE>possible-completions (M-?)</CODE>
-<DD><A NAME="IDX160"></A>
+<DD><A NAME="IDX162"></A>
List the possible completions of the text before point.
When displaying completions, Readline sets the number of columns used
for display to the value of <CODE>completion-display-width</CODE>, the value of
the environment variable <CODE>COLUMNS</CODE>, or the screen width, in that order.
<P>
-<A NAME="IDX161"></A>
+<A NAME="IDX163"></A>
<DT><CODE>insert-completions (M-*)</CODE>
-<DD><A NAME="IDX162"></A>
+<DD><A NAME="IDX164"></A>
Insert all completions of the text before point that would have
been generated by <CODE>possible-completions</CODE>.
<P>
-<A NAME="IDX163"></A>
+<A NAME="IDX165"></A>
<DT><CODE>menu-complete ()</CODE>
-<DD><A NAME="IDX164"></A>
+<DD><A NAME="IDX166"></A>
Similar to <CODE>complete</CODE>, but replaces the word to be completed
with a single match from the list of possible completions.
Repeated execution of <CODE>menu-complete</CODE> steps through the list
@@ -2027,17 +2038,17 @@ This command is intended to be bound to <KBD>TAB</KBD>, but is unbound
by default.
<P>
-<A NAME="IDX165"></A>
+<A NAME="IDX167"></A>
<DT><CODE>menu-complete-backward ()</CODE>
-<DD><A NAME="IDX166"></A>
+<DD><A NAME="IDX168"></A>
Identical to <CODE>menu-complete</CODE>, but moves backward through the list
of possible completions, as if <CODE>menu-complete</CODE> had been given a
negative argument.
<P>
-<A NAME="IDX167"></A>
+<A NAME="IDX169"></A>
<DT><CODE>delete-char-or-list ()</CODE>
-<DD><A NAME="IDX168"></A>
+<DD><A NAME="IDX170"></A>
Deletes the character under the cursor if not at the beginning or
end of the line (like <CODE>delete-char</CODE>).
If at the end of the line, behaves identically to
@@ -2066,29 +2077,29 @@ This command is unbound by default.
<!--docid::SEC20::-->
<DL COMPACT>
-<A NAME="IDX169"></A>
+<A NAME="IDX171"></A>
<DT><CODE>start-kbd-macro (C-x ()</CODE>
-<DD><A NAME="IDX170"></A>
+<DD><A NAME="IDX172"></A>
Begin saving the characters typed into the current keyboard macro.
<P>
-<A NAME="IDX171"></A>
+<A NAME="IDX173"></A>
<DT><CODE>end-kbd-macro (C-x ))</CODE>
-<DD><A NAME="IDX172"></A>
+<DD><A NAME="IDX174"></A>
Stop saving the characters typed into the current keyboard macro
and save the definition.
<P>
-<A NAME="IDX173"></A>
+<A NAME="IDX175"></A>
<DT><CODE>call-last-kbd-macro (C-x e)</CODE>
-<DD><A NAME="IDX174"></A>
+<DD><A NAME="IDX176"></A>
Re-execute the last keyboard macro defined, by making the characters
in the macro appear as if typed at the keyboard.
<P>
-<A NAME="IDX175"></A>
+<A NAME="IDX177"></A>
<DT><CODE>print-last-kbd-macro ()</CODE>
-<DD><A NAME="IDX176"></A>
+<DD><A NAME="IDX178"></A>
Print the last keboard macro defined in a format suitable for the
<VAR>inputrc</VAR> file.
<P>
@@ -2114,88 +2125,88 @@ Print the last keboard macro defined in a format suitable for the
<!--docid::SEC21::-->
<DL COMPACT>
-<A NAME="IDX177"></A>
+<A NAME="IDX179"></A>
<DT><CODE>re-read-init-file (C-x C-r)</CODE>
-<DD><A NAME="IDX178"></A>
+<DD><A NAME="IDX180"></A>
Read in the contents of the <VAR>inputrc</VAR> file, and incorporate
any bindings or variable assignments found there.
<P>
-<A NAME="IDX179"></A>
+<A NAME="IDX181"></A>
<DT><CODE>abort (C-g)</CODE>
-<DD><A NAME="IDX180"></A>
+<DD><A NAME="IDX182"></A>
Abort the current editing command and
ring the terminal's bell (subject to the setting of
<CODE>bell-style</CODE>).
<P>
-<A NAME="IDX181"></A>
+<A NAME="IDX183"></A>
<DT><CODE>do-lowercase-version (M-A, M-B, M-<VAR>x</VAR>, <small>...</small>)</CODE>
-<DD><A NAME="IDX182"></A>
+<DD><A NAME="IDX184"></A>
If the metafied character <VAR>x</VAR> is upper case, run the command
that is bound to the corresponding metafied lower case character.
The behavior is undefined if <VAR>x</VAR> is already lower case.
<P>
-<A NAME="IDX183"></A>
+<A NAME="IDX185"></A>
<DT><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE>
-<DD><A NAME="IDX184"></A>
+<DD><A NAME="IDX186"></A>
Metafy the next character typed. This is for keyboards
without a meta key. Typing <SAMP>`<KBD>ESC</KBD> f'</SAMP> is equivalent to typing
<KBD>M-f</KBD>.
<P>
-<A NAME="IDX185"></A>
+<A NAME="IDX187"></A>
<DT><CODE>undo (C-_ or C-x C-u)</CODE>
-<DD><A NAME="IDX186"></A>
+<DD><A NAME="IDX188"></A>
Incremental undo, separately remembered for each line.
<P>
-<A NAME="IDX187"></A>
+<A NAME="IDX189"></A>
<DT><CODE>revert-line (M-r)</CODE>
-<DD><A NAME="IDX188"></A>
+<DD><A NAME="IDX190"></A>
Undo all changes made to this line. This is like executing the <CODE>undo</CODE>
command enough times to get back to the beginning.
<P>
-<A NAME="IDX189"></A>
+<A NAME="IDX191"></A>
<DT><CODE>tilde-expand (M-~)</CODE>
-<DD><A NAME="IDX190"></A>
+<DD><A NAME="IDX192"></A>
Perform tilde expansion on the current word.
<P>
-<A NAME="IDX191"></A>
+<A NAME="IDX193"></A>
<DT><CODE>set-mark (C-@)</CODE>
-<DD><A NAME="IDX192"></A>
+<DD><A NAME="IDX194"></A>
Set the mark to the point. If a
numeric argument is supplied, the mark is set to that position.
<P>
-<A NAME="IDX193"></A>
+<A NAME="IDX195"></A>
<DT><CODE>exchange-point-and-mark (C-x C-x)</CODE>
-<DD><A NAME="IDX194"></A>
+<DD><A NAME="IDX196"></A>
Swap the point with the mark. The current cursor position is set to
the saved position, and the old cursor position is saved as the mark.
<P>
-<A NAME="IDX195"></A>
+<A NAME="IDX197"></A>
<DT><CODE>character-search (C-])</CODE>
-<DD><A NAME="IDX196"></A>
+<DD><A NAME="IDX198"></A>
A character is read and point is moved to the next occurrence of that
character. A negative count searches for previous occurrences.
<P>
-<A NAME="IDX197"></A>
+<A NAME="IDX199"></A>
<DT><CODE>character-search-backward (M-C-])</CODE>
-<DD><A NAME="IDX198"></A>
+<DD><A NAME="IDX200"></A>
A character is read and point is moved to the previous occurrence
of that character. A negative count searches for subsequent
occurrences.
<P>
-<A NAME="IDX199"></A>
+<A NAME="IDX201"></A>
<DT><CODE>skip-csi-sequence ()</CODE>
-<DD><A NAME="IDX200"></A>
+<DD><A NAME="IDX202"></A>
Read enough characters to consume a multi-key sequence such as those
defined for keys like Home and End. Such sequences begin with a
Control Sequence Indicator (CSI), usually ESC-[. If this sequence is
@@ -2205,9 +2216,9 @@ stray characters into the editing buffer. This is unbound by default,
but usually bound to ESC-[.
<P>
-<A NAME="IDX201"></A>
+<A NAME="IDX203"></A>
<DT><CODE>insert-comment (M-#)</CODE>
-<DD><A NAME="IDX202"></A>
+<DD><A NAME="IDX204"></A>
Without a numeric argument, the value of the <CODE>comment-begin</CODE>
variable is inserted at the beginning of the current line.
If a numeric argument is supplied, this command acts as a toggle: if
@@ -2218,43 +2229,43 @@ the line.
In either case, the line is accepted as if a newline had been typed.
<P>
-<A NAME="IDX203"></A>
+<A NAME="IDX205"></A>
<DT><CODE>dump-functions ()</CODE>
-<DD><A NAME="IDX204"></A>
+<DD><A NAME="IDX206"></A>
Print all of the functions and their key bindings to the
Readline output stream. If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
of an <VAR>inputrc</VAR> file. This command is unbound by default.
<P>
-<A NAME="IDX205"></A>
+<A NAME="IDX207"></A>
<DT><CODE>dump-variables ()</CODE>
-<DD><A NAME="IDX206"></A>
+<DD><A NAME="IDX208"></A>
Print all of the settable variables and their values to the
Readline output stream. If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
of an <VAR>inputrc</VAR> file. This command is unbound by default.
<P>
-<A NAME="IDX207"></A>
+<A NAME="IDX209"></A>
<DT><CODE>dump-macros ()</CODE>
-<DD><A NAME="IDX208"></A>
+<DD><A NAME="IDX210"></A>
Print all of the Readline key sequences bound to macros and the
strings they output. If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
of an <VAR>inputrc</VAR> file. This command is unbound by default.
<P>
-<A NAME="IDX209"></A>
+<A NAME="IDX211"></A>
<DT><CODE>emacs-editing-mode (C-e)</CODE>
-<DD><A NAME="IDX210"></A>
+<DD><A NAME="IDX212"></A>
When in <CODE>vi</CODE> command mode, this causes a switch to <CODE>emacs</CODE>
editing mode.
<P>
-<A NAME="IDX211"></A>
+<A NAME="IDX213"></A>
<DT><CODE>vi-editing-mode (M-C-j)</CODE>
-<DD><A NAME="IDX212"></A>
+<DD><A NAME="IDX214"></A>
When in <CODE>emacs</CODE> editing mode, this causes a switch to <CODE>vi</CODE>
editing mode.
<P>
@@ -2981,7 +2992,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</I> on <I>April, 17 2019</I>
+This document was generated by <I>Chet Ramey</I> on <I>November, 20 2019</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
@@ -3143,7 +3154,7 @@ the following structure:
<BR>
<FONT SIZE="-1">
This document was generated
-by <I>chet</I> on <I>April, 17 2019</I>
+by <I>Chet Ramey</I> on <I>November, 20 2019</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 0b71447..590e7be 100644
--- a/doc/rluserman.info
+++ b/doc/rluserman.info
@@ -1,9 +1,9 @@
-This is rluserman.info, produced by makeinfo version 6.5 from
+This is rluserman.info, produced by makeinfo version 6.7 from
rluserman.texi.
This manual describes the end user interface of the GNU Readline Library
-(version 8.0, 6 March 2019), a library which aids in the consistency of
-user interface across discrete programs which provide a command line
+(version 8.0, 15 November 2019), 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.
@@ -1235,6 +1235,13 @@ File: rluserman.info, Node: Commands For Killing, Next: Numeric Arguments, Pr
Kill the word behind point. Word boundaries are the same as
'backward-word'.
+'shell-transpose-words (M-C-t)'
+ Drag the word before point past the word after point, moving point
+ past that word as well. If the insertion point is at the end of
+ the line, this transposes the last two words on the line. Word
+ boundaries are the same as 'shell-forward-word' and
+ 'shell-backward-word'.
+
'unix-word-rubout (C-w)'
Kill the word behind point, using white space as a word boundary.
The killed text is saved on the kill-ring.
@@ -1964,29 +1971,34 @@ their use in free software.

Tag Table:
-Node: Top904
-Node: Command Line Editing1426
-Node: Introduction and Notation2080
-Node: Readline Interaction3705
-Node: Readline Bare Essentials4898
-Node: Readline Movement Commands6683
-Node: Readline Killing Commands7645
-Node: Readline Arguments9565
-Node: Searching10611
-Node: Readline Init File12765
-Node: Readline Init File Syntax13920
-Node: Conditional Init Constructs34080
-Node: Sample Init File38278
-Node: Bindable Readline Commands41397
-Node: Commands For Moving42453
-Node: Commands For History44021
-Node: Commands For Text48287
-Node: Commands For Killing51730
-Node: Numeric Arguments53898
-Node: Commands For Completion55039
-Node: Keyboard Macros57009
-Node: Miscellaneous Commands57698
-Node: Readline vi Mode61621
-Node: GNU Free Documentation License62535
+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 Constructs34084
+Node: Sample Init File38282
+Node: Bindable Readline Commands41401
+Node: Commands For Moving42457
+Node: Commands For History44025
+Node: Commands For Text48291
+Node: Commands For Killing51734
+Node: Numeric Arguments54231
+Node: Commands For Completion55372
+Node: Keyboard Macros57342
+Node: Miscellaneous Commands58031
+Node: Readline vi Mode61954
+Node: GNU Free Documentation License62868

End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git a/doc/rluserman.pdf b/doc/rluserman.pdf
index 7c4af30..5f6b613 100644
--- a/doc/rluserman.pdf
+++ b/doc/rluserman.pdf
Binary files differ
diff --git a/doc/rluserman.ps b/doc/rluserman.ps
index 4cc6e2a..e8c3a2a 100644
--- a/doc/rluserman.ps
+++ b/doc/rluserman.ps
@@ -1,8 +1,8 @@
%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software
+%%Creator: dvips(k) 5.999 Copyright 2019 Radical Eye Software
%%Title: rluserman.dvi
-%%CreationDate: Wed Apr 17 13:02:34 2019
-%%Pages: 34
+%%CreationDate: Wed Nov 20 14:49:30 2019
+%%Pages: 35
%%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 rluserman.ps rluserman.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2019.04.17:0902
+%DVIPSSource: TeX output 2019.11.20:0949
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -5141,29 +5141,29 @@ ifelse
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(8.0,)i(for)e Fn(Readline)e(Library)h Fo(V)-8 b(ersion)31
-b(8.0.)3285 1623 y(Marc)m(h)g(2019)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.)3139 1623 y(No)m(v)m(em)m(b)s(er)g(2019)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)38 b(man)m(ual)h(describ)s(es)
-f(the)h(end)f(user)g(in)m(terface)i(of)f(the)g(GNU)g(Readline)g
-(Library)f(\(v)m(ersion)i(8.0,)150 4523 y(6)j(Marc)m(h)g(2019\),)k(a)c
-(library)f(whic)m(h)g(aids)g(in)h(the)f(consistency)h(of)g(user)e(in)m
-(terface)j(across)f(discrete)150 4633 y(programs)30 b(whic)m(h)g(pro)m
-(vide)h(a)f(command)g(line)h(in)m(terface.)150 4767 y(Cop)m(yrigh)m(t)
-602 4764 y(c)577 4767 y Fl(\015)f Fo(1988{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 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(8.0,)h(15)150 4523 y(No)m(v)m(em)m(b)s(er)39
+b(2019\),)j(a)c(library)g(whic)m(h)g(aids)g(in)f(the)h(consistency)h
+(of)f(user)f(in)m(terface)j(across)e(discrete)150 4633
+y(programs)30 b(whic)m(h)g(pro)m(vide)h(a)f(command)g(line)h(in)m
+(terface.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577
+4767 y Fl(\015)f Fo(1988{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
@@ -5226,14 +5226,14 @@ h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)26 b Fo(19)399 2540 y(1.4.5)93
b(Sp)s(ecifying)30 b(Numeric)g(Argumen)m(ts)e Fi(:)15
b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)41 b Fo(20)399 2649
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)41 b Fo(21)399 2649
y(1.4.6)93 b(Letting)31 b(Readline)g(T)m(yp)s(e)f(F)-8
b(or)31 b(Y)-8 b(ou)22 b Fi(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)35
b Fo(21)399 2759 y(1.4.7)93 b(Keyb)s(oard)29 b(Macros)11
b Fi(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)24 b Fo(21)399 2868 y(1.4.8)93
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)24 b Fo(22)399 2868 y(1.4.8)93
b(Some)30 b(Miscellaneous)j(Commands)16 b Fi(:)e(:)h(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)29 b Fo(22)275 2978 y(1.5)92 b(Readline)31
@@ -5242,7 +5242,7 @@ b(vi)f(Mo)s(de)10 b Fi(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)23
b Fo(23)150 3229 y Fm(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
-Fj(:)20 b(:)32 b Fm(24)p eop end
+Fj(:)20 b(:)32 b Fm(25)p eop end
%%Page: 1 4
TeXDict begin 1 3 bop 3705 -116 a Fo(1)150 299 y Fk(1)80
b(Command)54 b(Line)f(Editing)150 527 y Fo(This)30 b(c)m(hapter)h
@@ -6478,269 +6478,280 @@ TeXDict begin 20 22 bop 150 -116 a Fo(Chapter)30 b(1:)41
b(Command)29 b(Line)i(Editing)2107 b(20)150 299 y Fn
(backward-kill-line)25 b(\(C-x)30 b(Rubout\))630 408
y Fo(Kill)h(bac)m(kw)m(ard)g(from)e(the)i(cursor)f(to)h(the)f(b)s
-(eginning)g(of)h(the)f(curren)m(t)g(line.)150 566 y Fn
-(unix-line-discard)c(\(C-u\))630 675 y Fo(Kill)31 b(bac)m(kw)m(ard)g
+(eginning)g(of)h(the)f(curren)m(t)g(line.)150 564 y Fn
+(unix-line-discard)c(\(C-u\))630 673 y Fo(Kill)31 b(bac)m(kw)m(ard)g
(from)e(the)i(cursor)f(to)h(the)f(b)s(eginning)g(of)h(the)f(curren)m(t)
-g(line.)150 832 y Fn(kill-whole-line)c(\(\))630 942 y
+g(line.)150 828 y Fn(kill-whole-line)c(\(\))630 938 y
Fo(Kill)37 b(all)g(c)m(haracters)h(on)f(the)f(curren)m(t)h(line,)h(no)f
(matter)g(where)f(p)s(oin)m(t)h(is.)59 b(By)36 b(default,)630
-1052 y(this)30 b(is)h(un)m(b)s(ound.)150 1209 y Fn(kill-word)d(\(M-d\))
-630 1318 y Fo(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
+1047 y(this)30 b(is)h(un)m(b)s(ound.)150 1203 y Fn(kill-word)d(\(M-d\))
+630 1312 y Fo(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
(curren)m(t)h(w)m(ord,)f(or)g(if)h(b)s(et)m(w)m(een)g(w)m(ords,)f(to)h
-(the)g(end)630 1428 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
+(the)g(end)630 1422 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
b(ord)31 b(b)s(oundaries)e(are)h(the)h(same)g(as)f Fn(forward-word)p
-Fo(.)150 1585 y Fn(backward-kill-word)25 b(\(M-DEL\))630
-1695 y Fo(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40
+Fo(.)150 1577 y Fn(backward-kill-word)25 b(\(M-DEL\))630
+1686 y Fo(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40
b(W)-8 b(ord)29 b(b)s(oundaries)f(are)h(the)g(same)g(as)g
-Fn(backward-word)p Fo(.)150 1852 y Fn(unix-word-rubout)d(\(C-w\))630
-1961 y Fo(Kill)32 b(the)g(w)m(ord)f(b)s(ehind)f(p)s(oin)m(t,)i(using)f
-(white)h(space)g(as)g(a)g(w)m(ord)f(b)s(oundary)-8 b(.)43
-b(The)31 b(killed)630 2071 y(text)g(is)g(sa)m(v)m(ed)g(on)g(the)f
-(kill-ring.)150 2228 y Fn(unix-filename-rubout)25 b(\(\))630
-2338 y Fo(Kill)37 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e
+Fn(backward-word)p Fo(.)150 1842 y Fn(shell-transpose-words)c
+(\(M-C-t\))630 1951 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 2061 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 2170 y(last)j(t)m(w)m(o)h
+(w)m(ords)d(on)i(the)f(line.)41 b(W)-8 b(ord)31 b(b)s(oundaries)e(are)h
+(the)h(same)f(as)h Fn(shell-forward-)630 2280 y(word)e
+Fo(and)h Fn(shell-backward-word)p Fo(.)150 2435 y Fn(unix-word-rubout)c
+(\(C-w\))630 2545 y Fo(Kill)32 b(the)g(w)m(ord)f(b)s(ehind)f(p)s(oin)m
+(t,)i(using)f(white)h(space)g(as)g(a)g(w)m(ord)f(b)s(oundary)-8
+b(.)43 b(The)31 b(killed)630 2654 y(text)g(is)g(sa)m(v)m(ed)g(on)g(the)
+f(kill-ring.)150 2809 y Fn(unix-filename-rubout)25 b(\(\))630
+2919 y Fo(Kill)37 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e
(white)g(space)h(and)f(the)g(slash)g(c)m(haracter)i(as)f(the)630
-2447 y(w)m(ord)30 b(b)s(oundaries.)39 b(The)30 b(killed)h(text)g(is)g
-(sa)m(v)m(ed)g(on)g(the)f(kill-ring.)150 2605 y Fn
-(delete-horizontal-space)24 b(\(\))630 2714 y Fo(Delete)33
+3029 y(w)m(ord)30 b(b)s(oundaries.)39 b(The)30 b(killed)h(text)g(is)g
+(sa)m(v)m(ed)g(on)g(the)f(kill-ring.)150 3184 y Fn
+(delete-horizontal-space)24 b(\(\))630 3293 y Fo(Delete)33
b(all)e(spaces)g(and)e(tabs)i(around)e(p)s(oin)m(t.)41
-b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150 2871
-y Fn(kill-region)d(\(\))630 2981 y Fo(Kill)k(the)f(text)i(in)e(the)g
+b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150 3448
+y Fn(kill-region)d(\(\))630 3558 y Fo(Kill)k(the)f(text)i(in)e(the)g
(curren)m(t)h(region.)41 b(By)31 b(default,)f(this)h(command)f(is)g(un)
-m(b)s(ound.)150 3138 y Fn(copy-region-as-kill)25 b(\(\))630
-3248 y Fo(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h(the)f
+m(b)s(ound.)150 3713 y Fn(copy-region-as-kill)25 b(\(\))630
+3823 y Fo(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h(the)f
(kill)h(bu\013er,)f(so)g(it)h(can)f(b)s(e)f(y)m(ank)m(ed)i(righ)m(t)f
-(a)m(w)m(a)m(y)-8 b(.)630 3357 y(By)31 b(default,)f(this)h(command)f
-(is)g(un)m(b)s(ound.)150 3514 y Fn(copy-backward-word)25
-b(\(\))630 3624 y Fo(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m
+(a)m(w)m(a)m(y)-8 b(.)630 3932 y(By)31 b(default,)f(this)h(command)f
+(is)g(un)m(b)s(ound.)150 4087 y Fn(copy-backward-word)25
+b(\(\))630 4197 y Fo(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m
(t)g(to)i(the)e(kill)h(bu\013er.)64 b(The)38 b(w)m(ord)g(b)s(oundaries)
-f(are)i(the)630 3734 y(same)31 b(as)f Fn(backward-word)p
+f(are)i(the)630 4306 y(same)31 b(as)f Fn(backward-word)p
Fo(.)38 b(By)30 b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)150
-3891 y Fn(copy-forward-word)26 b(\(\))630 4000 y Fo(Cop)m(y)31
+4462 y Fn(copy-forward-word)26 b(\(\))630 4571 y Fo(Cop)m(y)31
b(the)g(w)m(ord)g(follo)m(wing)h(p)s(oin)m(t)f(to)h(the)f(kill)h
(bu\013er.)42 b(The)30 b(w)m(ord)h(b)s(oundaries)e(are)j(the)630
-4110 y(same)f(as)f Fn(forward-word)p Fo(.)38 b(By)30
+4681 y(same)f(as)f Fn(forward-word)p Fo(.)38 b(By)30
b(default,)h(this)g(command)f(is)g(un)m(b)s(ound.)150
-4267 y Fn(yank)f(\(C-y\))630 4377 y Fo(Y)-8 b(ank)31
+4836 y Fn(yank)f(\(C-y\))630 4945 y Fo(Y)-8 b(ank)31
b(the)f(top)h(of)g(the)f(kill)h(ring)f(in)m(to)i(the)e(bu\013er)g(at)h
-(p)s(oin)m(t.)150 4534 y Fn(yank-pop)d(\(M-y\))630 4643
+(p)s(oin)m(t.)150 5101 y Fn(yank-pop)d(\(M-y\))630 5210
y Fo(Rotate)36 b(the)f(kill-ring,)i(and)d(y)m(ank)h(the)f(new)g(top.)54
b(Y)-8 b(ou)35 b(can)g(only)f(do)h(this)f(if)h(the)g(prior)630
-4753 y(command)30 b(is)h Fn(yank)e Fo(or)h Fn(yank-pop)p
-Fo(.)150 4950 y Fd(1.4.5)63 b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m
-(ts)150 5121 y Fn(digit-argument)26 b(\()p Fg(M-0)p Fn(,)j
-Fg(M-1)p Fn(,)h(...)f Fg(M--)p Fn(\))630 5230 y Fo(Add)d(this)h(digit)g
-(to)h(the)f(argumen)m(t)g(already)h(accum)m(ulating,)h(or)e(start)h(a)f
-(new)f(argumen)m(t.)630 5340 y Fg(M--)j Fo(starts)i(a)g(negativ)m(e)i
-(argumen)m(t.)p eop end
+5320 y(command)30 b(is)h Fn(yank)e Fo(or)h Fn(yank-pop)p
+Fo(.)p eop end
%%Page: 21 24
TeXDict begin 21 23 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(21)150 299 y Fn
-(universal-argument)25 b(\(\))630 408 y Fo(This)g(is)g(another)h(w)m(a)
-m(y)g(to)h(sp)s(ecify)e(an)g(argumen)m(t.)40 b(If)25
-b(this)g(command)h(is)f(follo)m(w)m(ed)i(b)m(y)f(one)630
-518 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h(leading)h(min)m(us)
-e(sign,)h(those)g(digits)g(de\014ne)f(the)h(ar-)630 628
-y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)m(y)f
-(digits,)i(executing)f Fn(universal-argument)630 737
-y Fo(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
+b(Command)29 b(Line)i(Editing)2107 b(21)150 299 y Fd(1.4.5)63
+b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m(ts)150 472 y
+Fn(digit-argument)26 b(\()p Fg(M-0)p Fn(,)j Fg(M-1)p
+Fn(,)h(...)f Fg(M--)p Fn(\))630 581 y Fo(Add)d(this)h(digit)g(to)h(the)
+f(argumen)m(t)g(already)h(accum)m(ulating,)h(or)e(start)h(a)f(new)f
+(argumen)m(t.)630 691 y Fg(M--)j Fo(starts)i(a)g(negativ)m(e)i(argumen)
+m(t.)150 852 y Fn(universal-argument)25 b(\(\))630 962
+y Fo(This)g(is)g(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g(argumen)m
+(t.)40 b(If)25 b(this)g(command)h(is)f(follo)m(w)m(ed)i(b)m(y)f(one)630
+1071 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h(leading)h(min)m
+(us)e(sign,)h(those)g(digits)g(de\014ne)f(the)h(ar-)630
+1181 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)
+m(y)f(digits,)i(executing)f Fn(universal-argument)630
+1290 y Fo(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
(otherwise)g(ignored.)45 b(As)32 b(a)g(sp)s(ecial)h(case,)630
-847 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)d
-(a)h(c)m(haracter)i(that)e(is)g(neither)g(a)g(digit)630
-956 y(nor)41 b(min)m(us)f(sign,)k(the)e(argumen)m(t)f(coun)m(t)h(for)f
+1400 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)
+d(a)h(c)m(haracter)i(that)e(is)g(neither)g(a)g(digit)630
+1510 y(nor)41 b(min)m(us)f(sign,)k(the)e(argumen)m(t)f(coun)m(t)h(for)f
(the)h(next)f(command)g(is)g(m)m(ultiplied)h(b)m(y)630
-1066 y(four.)54 b(The)35 b(argumen)m(t)g(coun)m(t)h(is)f(initially)h
+1619 y(four.)54 b(The)35 b(argumen)m(t)g(coun)m(t)h(is)f(initially)h
(one,)h(so)e(executing)i(this)e(function)f(the)i(\014rst)630
-1176 y(time)29 b(mak)m(es)h(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)h
+1729 y(time)29 b(mak)m(es)h(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)h
(second)g(time)g(mak)m(es)h(the)e(argumen)m(t)h(coun)m(t)630
-1285 y(sixteen,)i(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g
-(not)h(b)s(ound)d(to)k(a)e(k)m(ey)-8 b(.)150 1498 y Fd(1.4.6)63
+1838 y(sixteen,)i(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g
+(not)h(b)s(ound)d(to)k(a)e(k)m(ey)-8 b(.)150 2039 y Fd(1.4.6)63
b(Letting)40 b(Readline)h(T)m(yp)s(e)g(F)-10 b(or)42
-b(Y)-10 b(ou)150 1676 y Fn(complete)28 b(\(TAB\))630
-1785 y Fo(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g
+b(Y)-10 b(ou)150 2212 y Fn(complete)28 b(\(TAB\))630
+2322 y Fo(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g
(b)s(efore)f(p)s(oin)m(t.)39 b(The)22 b(actual)i(completion)630
-1895 y(p)s(erformed)29 b(is)h(application-sp)s(eci\014c.)42
+2431 y(p)s(erformed)29 b(is)h(application-sp)s(eci\014c.)42
b(The)30 b(default)h(is)f(\014lename)h(completion.)150
-2068 y Fn(possible-completions)25 b(\(M-?\))630 2177
+2593 y Fn(possible-completions)25 b(\(M-?\))630 2702
y Fo(List)35 b(the)g(p)s(ossible)f(completions)i(of)e(the)h(text)h(b)s
(efore)e(p)s(oin)m(t.)54 b(When)34 b(displa)m(ying)h(com-)630
-2287 y(pletions,)f(Readline)f(sets)f(the)h(n)m(um)m(b)s(er)e(of)i
+2812 y(pletions,)f(Readline)f(sets)f(the)h(n)m(um)m(b)s(er)e(of)i
(columns)f(used)f(for)i(displa)m(y)f(to)h(the)g(v)-5
-b(alue)33 b(of)630 2396 y Fn(completion-display-width)o
+b(alue)33 b(of)630 2921 y Fn(completion-display-width)o
Fo(,)g(the)j(v)-5 b(alue)37 b(of)g(the)f(en)m(vironmen)m(t)h(v)-5
-b(ariable)38 b Fn(COLUMNS)p Fo(,)630 2506 y(or)30 b(the)h(screen)f
-(width,)g(in)g(that)h(order.)150 2678 y Fn(insert-completions)25
-b(\(M-*\))630 2788 y Fo(Insert)30 b(all)h(completions)h(of)f(the)g
+b(ariable)38 b Fn(COLUMNS)p Fo(,)630 3031 y(or)30 b(the)h(screen)f
+(width,)g(in)g(that)h(order.)150 3192 y Fn(insert-completions)25
+b(\(M-*\))630 3302 y Fo(Insert)30 b(all)h(completions)h(of)f(the)g
(text)g(b)s(efore)f(p)s(oin)m(t)h(that)g(w)m(ould)f(ha)m(v)m(e)i(b)s
-(een)e(generated)630 2898 y(b)m(y)g Fn(possible-completions)p
-Fo(.)150 3070 y Fn(menu-complete)d(\(\))630 3180 y Fo(Similar)d(to)g
+(een)e(generated)630 3411 y(b)m(y)g Fn(possible-completions)p
+Fo(.)150 3573 y Fn(menu-complete)d(\(\))630 3682 y Fo(Similar)d(to)g
Fn(complete)p Fo(,)f(but)h(replaces)g(the)g(w)m(ord)g(to)g(b)s(e)f
-(completed)i(with)e(a)i(single)f(matc)m(h)630 3289 y(from)37
+(completed)i(with)e(a)i(single)f(matc)m(h)630 3792 y(from)37
b(the)h(list)h(of)f(p)s(ossible)f(completions.)64 b(Rep)s(eated)39
-b(execution)g(of)f Fn(menu-complete)630 3399 y Fo(steps)i(through)g
+b(execution)g(of)f Fn(menu-complete)630 3901 y Fo(steps)i(through)g
(the)g(list)h(of)f(p)s(ossible)g(completions,)k(inserting)c(eac)m(h)i
-(matc)m(h)f(in)f(turn.)630 3508 y(A)m(t)e(the)f(end)f(of)h(the)g(list)g
+(matc)m(h)f(in)f(turn.)630 4011 y(A)m(t)e(the)f(end)f(of)h(the)g(list)g
(of)g(completions,)i(the)e(b)s(ell)g(is)g(rung)f(\(sub)5
-b(ject)36 b(to)i(the)f(setting)630 3618 y(of)f Fn(bell-style)p
+b(ject)36 b(to)i(the)f(setting)630 4121 y(of)f Fn(bell-style)p
Fo(\))e(and)h(the)h(original)i(text)f(is)f(restored.)57
b(An)36 b(argumen)m(t)h(of)f Fe(n)f Fo(mo)m(v)m(es)i
-Fe(n)630 3728 y Fo(p)s(ositions)e(forw)m(ard)f(in)g(the)h(list)h(of)e
+Fe(n)630 4230 y Fo(p)s(ositions)e(forw)m(ard)f(in)g(the)h(list)h(of)e
(matc)m(hes;)39 b(a)c(negativ)m(e)i(argumen)m(t)e(ma)m(y)g(b)s(e)f
-(used)g(to)630 3837 y(mo)m(v)m(e)40 b(bac)m(kw)m(ard)e(through)g(the)g
+(used)g(to)630 4340 y(mo)m(v)m(e)40 b(bac)m(kw)m(ard)e(through)g(the)g
(list.)65 b(This)38 b(command)g(is)g(in)m(tended)g(to)h(b)s(e)f(b)s
-(ound)e(to)630 3947 y Fn(TAB)p Fo(,)30 b(but)f(is)i(un)m(b)s(ound)d(b)m
-(y)i(default.)150 4119 y Fn(menu-complete-backward)24
-b(\(\))630 4229 y Fo(Iden)m(tical)36 b(to)g Fn(menu-complete)p
+(ound)e(to)630 4449 y Fn(TAB)p Fo(,)30 b(but)f(is)i(un)m(b)s(ound)d(b)m
+(y)i(default.)150 4611 y Fn(menu-complete-backward)24
+b(\(\))630 4720 y Fo(Iden)m(tical)36 b(to)g Fn(menu-complete)p
Fo(,)d(but)h(mo)m(v)m(es)j(bac)m(kw)m(ard)e(through)f(the)i(list)f(of)g
-(p)s(ossible)630 4338 y(completions,)d(as)e(if)h Fn(menu-complete)26
+(p)s(ossible)630 4830 y(completions,)d(as)e(if)h Fn(menu-complete)26
b Fo(had)k(b)s(een)g(giv)m(en)h(a)g(negativ)m(e)i(argumen)m(t.)150
-4511 y Fn(delete-char-or-list)25 b(\(\))630 4620 y Fo(Deletes)41
+4991 y Fn(delete-char-or-list)25 b(\(\))630 5101 y Fo(Deletes)41
b(the)e(c)m(haracter)h(under)e(the)h(cursor)f(if)h(not)g(at)g(the)h(b)s
-(eginning)e(or)h(end)f(of)h(the)630 4730 y(line)50 b(\(lik)m(e)h
+(eginning)e(or)h(end)f(of)h(the)630 5210 y(line)50 b(\(lik)m(e)h
Fn(delete-char)p Fo(\).)96 b(If)49 b(at)h(the)g(end)f(of)h(the)f(line,)
-55 b(b)s(eha)m(v)m(es)c(iden)m(tically)g(to)630 4840
+55 b(b)s(eha)m(v)m(es)c(iden)m(tically)g(to)630 5320
y Fn(possible-completions)p Fo(.)35 b(This)30 b(command)g(is)g(un)m(b)s
-(ound)e(b)m(y)i(default.)150 5052 y Fd(1.4.7)63 b(Keyb)s(oard)41
-b(Macros)150 5230 y Fn(start-kbd-macro)26 b(\(C-x)j(\(\))630
-5340 y Fo(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i(t)m(yp)s(ed)e(in)m
-(to)h(the)g(curren)m(t)f(k)m(eyb)s(oard)g(macro.)p eop
-end
+(ound)e(b)m(y)i(default.)p eop end
%%Page: 22 25
TeXDict begin 22 24 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(22)150 299 y Fn(end-kbd-macro)27
-b(\(C-x)i(\)\))630 408 y Fo(Stop)e(sa)m(ving)h(the)g(c)m(haracters)g(t)
-m(yp)s(ed)f(in)m(to)i(the)e(curren)m(t)g(k)m(eyb)s(oard)g(macro)h(and)f
-(sa)m(v)m(e)i(the)630 518 y(de\014nition.)150 671 y Fn
-(call-last-kbd-macro)c(\(C-x)k(e\))630 780 y Fo(Re-execute)37
-b(the)e(last)h(k)m(eyb)s(oard)f(macro)h(de\014ned,)f(b)m(y)h(making)f
-(the)g(c)m(haracters)i(in)e(the)630 890 y(macro)c(app)s(ear)f(as)g(if)h
-(t)m(yp)s(ed)f(at)h(the)f(k)m(eyb)s(oard.)150 1042 y
-Fn(print-last-kbd-macro)25 b(\(\))630 1152 y Fo(Prin)m(t)30
-b(the)h(last)g(k)m(eb)s(oard)f(macro)h(de\014ned)e(in)i(a)f(format)h
-(suitable)g(for)f(the)h Fe(inputrc)k Fo(\014le.)150 1344
-y Fd(1.4.8)63 b(Some)41 b(Miscellaneous)i(Commands)150
-1513 y Fn(re-read-init-file)26 b(\(C-x)j(C-r\))630 1622
-y Fo(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)f(the)g
+b(Command)29 b(Line)i(Editing)2107 b(22)150 299 y Fd(1.4.7)63
+b(Keyb)s(oard)41 b(Macros)150 465 y Fn(start-kbd-macro)26
+b(\(C-x)j(\(\))630 575 y Fo(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i
+(t)m(yp)s(ed)e(in)m(to)h(the)g(curren)m(t)f(k)m(eyb)s(oard)g(macro.)150
+723 y Fn(end-kbd-macro)d(\(C-x)i(\)\))630 833 y Fo(Stop)e(sa)m(ving)h
+(the)g(c)m(haracters)g(t)m(yp)s(ed)f(in)m(to)i(the)e(curren)m(t)g(k)m
+(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i(the)630 942
+y(de\014nition.)150 1091 y Fn(call-last-kbd-macro)c(\(C-x)k(e\))630
+1200 y Fo(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)f(macro)h
+(de\014ned,)f(b)m(y)h(making)f(the)g(c)m(haracters)i(in)e(the)630
+1310 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m(eyb)s
+(oard.)150 1458 y Fn(print-last-kbd-macro)25 b(\(\))630
+1568 y Fo(Prin)m(t)30 b(the)h(last)g(k)m(eb)s(oard)f(macro)h(de\014ned)
+e(in)i(a)f(format)h(suitable)g(for)f(the)h Fe(inputrc)k
+Fo(\014le.)150 1756 y Fd(1.4.8)63 b(Some)41 b(Miscellaneous)i(Commands)
+150 1922 y Fn(re-read-init-file)26 b(\(C-x)j(C-r\))630
+2032 y Fo(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)f(the)g
Fe(inputrc)27 b Fo(\014le,)d(and)d(incorp)s(orate)h(an)m(y)h(bindings)d
-(or)i(v)-5 b(ariable)630 1732 y(assignmen)m(ts)31 b(found)e(there.)150
-1885 y Fn(abort)g(\(C-g\))630 1994 y Fo(Ab)s(ort)d(the)h(curren)m(t)f
+(or)i(v)-5 b(ariable)630 2142 y(assignmen)m(ts)31 b(found)e(there.)150
+2290 y Fn(abort)g(\(C-g\))630 2400 y Fo(Ab)s(ort)d(the)h(curren)m(t)f
(editing)h(command)f(and)g(ring)h(the)f(terminal's)h(b)s(ell)g(\(sub)5
-b(ject)26 b(to)i(the)630 2104 y(setting)j(of)g Fn(bell-style)p
-Fo(\).)150 2256 y Fn(do-lowercase-version)25 b(\(M-A,)k(M-B,)g(M-)p
-Fg(x)p Fn(,)g(...)o(\))630 2366 y Fo(If)35 b(the)g(meta\014ed)g(c)m
+b(ject)26 b(to)i(the)630 2509 y(setting)j(of)g Fn(bell-style)p
+Fo(\).)150 2658 y Fn(do-lowercase-version)25 b(\(M-A,)k(M-B,)g(M-)p
+Fg(x)p Fn(,)g(...)o(\))630 2767 y Fo(If)35 b(the)g(meta\014ed)g(c)m
(haracter)i Fe(x)k Fo(is)35 b(upp)s(er)e(case,)k(run)d(the)h(command)g
-(that)g(is)g(b)s(ound)e(to)630 2476 y(the)g(corresp)s(onding)f
+(that)g(is)g(b)s(ound)e(to)630 2877 y(the)g(corresp)s(onding)f
(meta\014ed)h(lo)m(w)m(er)i(case)f(c)m(haracter.)50 b(The)32
-b(b)s(eha)m(vior)h(is)g(unde\014ned)e(if)630 2585 y Fe(x)37
-b Fo(is)30 b(already)h(lo)m(w)m(er)h(case.)150 2738 y
-Fn(prefix-meta)27 b(\(ESC\))630 2847 y Fo(Metafy)39 b(the)e(next)h(c)m
+b(b)s(eha)m(vior)h(is)g(unde\014ned)e(if)630 2986 y Fe(x)37
+b Fo(is)30 b(already)h(lo)m(w)m(er)h(case.)150 3135 y
+Fn(prefix-meta)27 b(\(ESC\))630 3244 y Fo(Metafy)39 b(the)e(next)h(c)m
(haracter)h(t)m(yp)s(ed.)62 b(This)37 b(is)g(for)h(k)m(eyb)s(oards)f
-(without)g(a)h(meta)g(k)m(ey)-8 b(.)630 2957 y(T)m(yping)30
+(without)g(a)h(meta)g(k)m(ey)-8 b(.)630 3354 y(T)m(yping)30
b(`)p Fn(ESC)g(f)p Fo(')g(is)h(equiv)-5 b(alen)m(t)31
-b(to)g(t)m(yping)g Fg(M-f)p Fo(.)150 3109 y Fn(undo)e(\(C-_)g(or)h(C-x)
-g(C-u\))630 3219 y Fo(Incremen)m(tal)h(undo,)f(separately)h(remem)m(b)s
-(ered)f(for)g(eac)m(h)i(line.)150 3372 y Fn(revert-line)27
-b(\(M-r\))630 3481 y Fo(Undo)33 b(all)h(c)m(hanges)g(made)f(to)h(this)f
+b(to)g(t)m(yping)g Fg(M-f)p Fo(.)150 3502 y Fn(undo)e(\(C-_)g(or)h(C-x)
+g(C-u\))630 3612 y Fo(Incremen)m(tal)h(undo,)f(separately)h(remem)m(b)s
+(ered)f(for)g(eac)m(h)i(line.)150 3760 y Fn(revert-line)27
+b(\(M-r\))630 3870 y Fo(Undo)33 b(all)h(c)m(hanges)g(made)f(to)h(this)f
(line.)49 b(This)32 b(is)h(lik)m(e)i(executing)f(the)f
-Fn(undo)f Fo(command)630 3591 y(enough)e(times)h(to)g(get)h(bac)m(k)f
-(to)g(the)f(b)s(eginning.)150 3743 y Fn(tilde-expand)d(\(M-~\))630
-3853 y Fo(P)m(erform)j(tilde)h(expansion)g(on)f(the)g(curren)m(t)h(w)m
-(ord.)150 4006 y Fn(set-mark)d(\(C-@\))630 4115 y Fo(Set)33
+Fn(undo)f Fo(command)630 3979 y(enough)e(times)h(to)g(get)h(bac)m(k)f
+(to)g(the)f(b)s(eginning.)150 4128 y Fn(tilde-expand)d(\(M-~\))630
+4237 y Fo(P)m(erform)j(tilde)h(expansion)g(on)f(the)g(curren)m(t)h(w)m
+(ord.)150 4386 y Fn(set-mark)d(\(C-@\))630 4495 y Fo(Set)33
b(the)g(mark)f(to)i(the)f(p)s(oin)m(t.)48 b(If)32 b(a)h(n)m(umeric)g
(argumen)m(t)g(is)g(supplied,)f(the)h(mark)g(is)f(set)630
-4225 y(to)f(that)g(p)s(osition.)150 4377 y Fn(exchange-point-and-mark)
-24 b(\(C-x)29 b(C-x\))630 4487 y Fo(Sw)m(ap)i(the)g(p)s(oin)m(t)g(with)
+4605 y(to)f(that)g(p)s(osition.)150 4753 y Fn(exchange-point-and-mark)
+24 b(\(C-x)29 b(C-x\))630 4863 y Fo(Sw)m(ap)i(the)g(p)s(oin)m(t)g(with)
g(the)g(mark.)43 b(The)31 b(curren)m(t)g(cursor)f(p)s(osition)i(is)f
-(set)h(to)f(the)h(sa)m(v)m(ed)630 4596 y(p)s(osition,)f(and)e(the)i
+(set)h(to)f(the)h(sa)m(v)m(ed)630 4972 y(p)s(osition,)f(and)e(the)i
(old)g(cursor)e(p)s(osition)i(is)f(sa)m(v)m(ed)i(as)e(the)h(mark.)150
-4749 y Fn(character-search)26 b(\(C-]\))630 4859 y Fo(A)f(c)m(haracter)
+5121 y Fn(character-search)26 b(\(C-]\))630 5230 y Fo(A)f(c)m(haracter)
h(is)f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)g(the)f(next)g
-(o)s(ccurrence)g(of)g(that)g(c)m(haracter.)630 4968 y(A)30
+(o)s(ccurrence)g(of)g(that)g(c)m(haracter.)630 5340 y(A)30
b(negativ)m(e)j(coun)m(t)e(searc)m(hes)g(for)f(previous)g(o)s
-(ccurrences.)150 5121 y Fn(character-search-backwar)o(d)24
-b(\(M-C-]\))630 5230 y Fo(A)45 b(c)m(haracter)h(is)f(read)g(and)f(p)s
-(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)f(the)g(previous)f(o)s(ccurrence)h(of)
-g(that)630 5340 y(c)m(haracter.)d(A)31 b(negativ)m(e)h(coun)m(t)f
-(searc)m(hes)h(for)e(subsequen)m(t)f(o)s(ccurrences.)p
-eop end
+(ccurrences.)p eop end
%%Page: 23 26
TeXDict begin 23 25 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(23)150 299 y Fn(skip-csi-sequence)
-26 b(\(\))630 408 y Fo(Read)i(enough)f(c)m(haracters)h(to)g(consume)f
-(a)h(m)m(ulti-k)m(ey)h(sequence)f(suc)m(h)f(as)g(those)h(de\014ned)630
-518 y(for)37 b(k)m(eys)h(lik)m(e)g(Home)g(and)f(End.)60
+b(Command)29 b(Line)i(Editing)2107 b(23)150 299 y Fn
+(character-search-backwar)o(d)24 b(\(M-C-]\))630 408
+y Fo(A)45 b(c)m(haracter)h(is)f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)
+m(ed)h(to)f(the)g(previous)f(o)s(ccurrence)h(of)g(that)630
+518 y(c)m(haracter.)d(A)31 b(negativ)m(e)h(coun)m(t)f(searc)m(hes)h
+(for)e(subsequen)m(t)f(o)s(ccurrences.)150 688 y Fn(skip-csi-sequence)d
+(\(\))630 798 y Fo(Read)i(enough)f(c)m(haracters)h(to)g(consume)f(a)h
+(m)m(ulti-k)m(ey)h(sequence)f(suc)m(h)f(as)g(those)h(de\014ned)630
+907 y(for)37 b(k)m(eys)h(lik)m(e)g(Home)g(and)f(End.)60
b(Suc)m(h)37 b(sequences)g(b)s(egin)g(with)g(a)h(Con)m(trol)g(Sequence)
-630 628 y(Indicator)f(\(CSI\),)f(usually)h(ESC-[.)59
+630 1017 y(Indicator)f(\(CSI\),)f(usually)h(ESC-[.)59
b(If)36 b(this)g(sequence)h(is)g(b)s(ound)d(to)k Fn("\\)p
-Fo(e[)p Fn(")p Fo(,)g(k)m(eys)f(pro-)630 737 y(ducing)31
+Fo(e[)p Fn(")p Fo(,)g(k)m(eys)f(pro-)630 1127 y(ducing)31
b(suc)m(h)h(sequences)g(will)h(ha)m(v)m(e)g(no)f(e\013ect)h(unless)e
-(explicitly)j(b)s(ound)c(to)i(a)h(readline)630 847 y(command,)f
+(explicitly)j(b)s(ound)c(to)i(a)h(readline)630 1236 y(command,)f
(instead)g(of)g(inserting)g(stra)m(y)h(c)m(haracters)g(in)m(to)g(the)f
-(editing)h(bu\013er.)44 b(This)31 b(is)630 956 y(un)m(b)s(ound)d(b)m(y)
-i(default,)h(but)f(usually)g(b)s(ound)e(to)j(ESC-[.)150
-1116 y Fn(insert-comment)26 b(\(M-#\))630 1225 y Fo(Without)36
+(editing)h(bu\013er.)44 b(This)31 b(is)630 1346 y(un)m(b)s(ound)d(b)m
+(y)i(default,)h(but)f(usually)g(b)s(ound)e(to)j(ESC-[.)150
+1516 y Fn(insert-comment)26 b(\(M-#\))630 1626 y Fo(Without)36
b(a)g(n)m(umeric)g(argumen)m(t,)h(the)f(v)-5 b(alue)36
b(of)g(the)g Fn(comment-begin)c Fo(v)-5 b(ariable)36
-b(is)g(in-)630 1335 y(serted)c(at)g(the)g(b)s(eginning)f(of)h(the)f
+b(is)g(in-)630 1735 y(serted)c(at)g(the)g(b)s(eginning)f(of)h(the)f
(curren)m(t)h(line.)45 b(If)31 b(a)h(n)m(umeric)f(argumen)m(t)h(is)g
-(supplied,)630 1444 y(this)k(command)h(acts)g(as)g(a)g(toggle:)55
+(supplied,)630 1845 y(this)k(command)h(acts)g(as)g(a)g(toggle:)55
b(if)37 b(the)f(c)m(haracters)i(at)g(the)e(b)s(eginning)g(of)h(the)g
-(line)630 1554 y(do)30 b(not)h(matc)m(h)h(the)f(v)-5
+(line)630 1954 y(do)30 b(not)h(matc)m(h)h(the)f(v)-5
b(alue)31 b(of)f Fn(comment-begin)p Fo(,)e(the)i(v)-5
-b(alue)31 b(is)g(inserted,)g(otherwise)g(the)630 1664
+b(alue)31 b(is)g(inserted,)g(otherwise)g(the)630 2064
y(c)m(haracters)42 b(in)d Fn(comment-begin)e Fo(are)j(deleted)h(from)f
-(the)g(b)s(eginning)g(of)g(the)g(line.)71 b(In)630 1773
+(the)g(b)s(eginning)g(of)g(the)g(line.)71 b(In)630 2174
y(either)31 b(case,)h(the)e(line)h(is)f(accepted)i(as)f(if)f(a)h
-(newline)f(had)g(b)s(een)f(t)m(yp)s(ed.)150 1932 y Fn(dump-functions)d
-(\(\))630 2042 y Fo(Prin)m(t)g(all)i(of)e(the)h(functions)f(and)g
+(newline)f(had)g(b)s(een)f(t)m(yp)s(ed.)150 2344 y Fn(dump-functions)d
+(\(\))630 2453 y Fo(Prin)m(t)g(all)i(of)e(the)h(functions)f(and)g
(their)g(k)m(ey)h(bindings)e(to)j(the)e(Readline)h(output)f(stream.)630
-2151 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h
+2563 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h
(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)m(y)g(that)630
-2261 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fe(inputrc)k
+2673 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fe(inputrc)k
Fo(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k
-(default.)150 2420 y Fn(dump-variables)26 b(\(\))630
-2530 y Fo(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5
+(default.)150 2843 y Fn(dump-variables)26 b(\(\))630
+2952 y Fo(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5
b(ariables)22 b(and)f(their)g(v)-5 b(alues)22 b(to)g(the)f(Readline)h
-(output)f(stream.)630 2639 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)
+(output)f(stream.)630 3062 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)
g(supplied,)f(the)h(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)
-m(y)g(that)630 2749 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h
+m(y)g(that)630 3172 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h
Fe(inputrc)k Fo(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c
-(b)m(y)k(default.)150 2908 y Fn(dump-macros)c(\(\))630
-3018 y Fo(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)
+(b)m(y)k(default.)150 3342 y Fn(dump-macros)c(\(\))630
+3451 y Fo(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)
f(b)s(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630
-3127 y(output.)53 b(If)35 b(a)g(n)m(umeric)f(argumen)m(t)i(is)e
+3561 y(output.)53 b(If)35 b(a)g(n)m(umeric)f(argumen)m(t)i(is)e
(supplied,)h(the)g(output)g(is)f(formatted)i(in)e(suc)m(h)h(a)630
-3237 y(w)m(a)m(y)c(that)g(it)f(can)g(b)s(e)g(made)g(part)f(of)i(an)e
+3671 y(w)m(a)m(y)c(that)g(it)f(can)g(b)s(e)g(made)g(part)f(of)i(an)e
Fe(inputrc)35 b Fo(\014le.)41 b(This)29 b(command)h(is)g(un)m(b)s(ound)
-d(b)m(y)630 3346 y(default.)150 3506 y Fn(emacs-editing-mode)e(\(C-e\))
-630 3615 y Fo(When)30 b(in)g Fn(vi)g Fo(command)g(mo)s(de,)g(this)h
+d(b)m(y)630 3780 y(default.)150 3950 y Fn(emacs-editing-mode)e(\(C-e\))
+630 4060 y Fo(When)30 b(in)g Fn(vi)g Fo(command)g(mo)s(de,)g(this)h
(causes)f(a)h(switc)m(h)g(to)g Fn(emacs)e Fo(editing)i(mo)s(de.)150
-3774 y Fn(vi-editing-mode)26 b(\(M-C-j\))630 3884 y Fo(When)k(in)g
+4230 y Fn(vi-editing-mode)26 b(\(M-C-j\))630 4340 y Fo(When)k(in)g
Fn(emacs)f Fo(editing)i(mo)s(de,)f(this)h(causes)f(a)h(switc)m(h)g(to)g
-Fn(vi)f Fo(editing)h(mo)s(de.)150 4124 y Fm(1.5)68 b(Readline)47
-b(vi)e(Mo)t(de)150 4284 y Fo(While)32 b(the)g(Readline)g(library)f(do)s
+Fn(vi)f Fo(editing)h(mo)s(de.)150 4597 y Fm(1.5)68 b(Readline)47
+b(vi)e(Mo)t(de)150 4756 y Fo(While)32 b(the)g(Readline)g(library)f(do)s
(es)g(not)h(ha)m(v)m(e)h(a)f(full)f(set)h(of)g Fn(vi)f
Fo(editing)h(functions,)f(it)h(do)s(es)g(con)m(tain)150
-4393 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52
+4866 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52
b(The)34 b(Readline)g Fn(vi)g Fo(mo)s(de)f(b)s(eha)m(v)m(es)i(as)f(sp)s
-(eci\014ed)f(in)150 4503 y(the)e Fh(posix)e Fo(standard.)275
-4637 y(In)f(order)g(to)i(switc)m(h)g(in)m(teractiv)m(ely)i(b)s(et)m(w)m
+(eci\014ed)f(in)150 4975 y(the)e Fh(posix)e Fo(standard.)275
+5121 y(In)f(order)g(to)i(switc)m(h)g(in)m(teractiv)m(ely)i(b)s(et)m(w)m
(een)d Fn(emacs)f Fo(and)g Fn(vi)h Fo(editing)g(mo)s(des,)g(use)g(the)g
-(command)150 4747 y Fg(M-C-j)36 b Fo(\(b)s(ound)h(to)h
+(command)150 5230 y Fg(M-C-j)36 b Fo(\(b)s(ound)h(to)h
(emacs-editing-mo)s(de)i(when)d(in)g Fn(vi)h Fo(mo)s(de)f(and)g(to)i
-(vi-editing-mo)s(de)g(in)e Fn(emacs)150 4857 y Fo(mo)s(de\).)k(The)30
-b(Readline)h(default)f(is)g Fn(emacs)f Fo(mo)s(de.)275
-4991 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f(in)g Fn(vi)f
-Fo(mo)s(de,)h(y)m(ou)h(are)f(already)h(placed)f(in)g(`insertion')g(mo)s
-(de,)g(as)h(if)f(y)m(ou)150 5101 y(had)f(t)m(yp)s(ed)g(an)g(`)p
-Fn(i)p Fo('.)41 b(Pressing)29 b Fn(ESC)f Fo(switc)m(hes)i(y)m(ou)g(in)m
-(to)h(`command')e(mo)s(de,)h(where)e(y)m(ou)i(can)g(edit)g(the)150
-5210 y(text)35 b(of)f(the)g(line)g(with)f(the)h(standard)f
+(vi-editing-mo)s(de)g(in)e Fn(emacs)150 5340 y Fo(mo)s(de\).)k(The)30
+b(Readline)h(default)f(is)g Fn(emacs)f Fo(mo)s(de.)p
+eop end
+%%Page: 24 27
+TeXDict begin 24 26 bop 150 -116 a Fo(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2107 b(24)275 299 y(When)29
+b(y)m(ou)i(en)m(ter)f(a)h(line)f(in)g Fn(vi)f Fo(mo)s(de,)h(y)m(ou)h
+(are)f(already)h(placed)f(in)g(`insertion')g(mo)s(de,)g(as)h(if)f(y)m
+(ou)150 408 y(had)f(t)m(yp)s(ed)g(an)g(`)p Fn(i)p Fo('.)41
+b(Pressing)29 b Fn(ESC)f Fo(switc)m(hes)i(y)m(ou)g(in)m(to)h(`command')
+e(mo)s(de,)h(where)e(y)m(ou)i(can)g(edit)g(the)150 518
+y(text)35 b(of)f(the)g(line)g(with)f(the)h(standard)f
Fn(vi)g Fo(mo)m(v)m(emen)m(t)j(k)m(eys,)g(mo)m(v)m(e)f(to)f(previous)g
-(history)f(lines)h(with)150 5320 y(`)p Fn(k)p Fo(')d(and)e(subsequen)m
+(history)f(lines)h(with)150 628 y(`)p Fn(k)p Fo(')d(and)e(subsequen)m
(t)h(lines)h(with)f(`)p Fn(j)p Fo(',)g(and)g(so)h(forth.)p
eop end
-%%Page: 24 27
-TeXDict begin 24 26 bop 3659 -116 a Fo(24)150 299 y Fk(App)t(endix)52
+%%Page: 25 28
+TeXDict begin 25 27 bop 3659 -116 a Fo(25)150 299 y Fk(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 Fo(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 Fl(\015)e
@@ -6821,10 +6832,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: 25 28
-TeXDict begin 25 27 bop 150 -116 a Fo(App)s(endix)29
+%%Page: 26 29
+TeXDict begin 26 28 bop 150 -116 a Fo(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(25)330 299 y(under)26 b(this)i(License.)40 b(If)27
+b(26)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
@@ -6915,10 +6926,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: 26 29
-TeXDict begin 26 28 bop 150 -116 a Fo(App)s(endix)29
+%%Page: 27 30
+TeXDict begin 27 29 bop 150 -116 a Fo(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(26)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
+b(27)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
@@ -7008,10 +7019,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: 27 30
-TeXDict begin 27 29 bop 150 -116 a Fo(App)s(endix)29
+%%Page: 28 31
+TeXDict begin 28 30 bop 150 -116 a Fo(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(27)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
+b(28)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
@@ -7090,10 +7101,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: 28 31
-TeXDict begin 28 30 bop 150 -116 a Fo(App)s(endix)29
+%%Page: 29 32
+TeXDict begin 29 31 bop 150 -116 a Fo(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(28)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
+b(29)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
@@ -7178,10 +7189,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: 29 32
-TeXDict begin 29 31 bop 150 -116 a Fo(App)s(endix)29
+%%Page: 30 33
+TeXDict begin 30 32 bop 150 -116 a Fo(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(29)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
+b(30)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
@@ -7266,10 +7277,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: 30 33
-TeXDict begin 30 32 bop 150 -116 a Fo(App)s(endix)29
+%%Page: 31 34
+TeXDict begin 31 33 bop 150 -116 a Fo(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(30)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330
+b(31)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
@@ -7333,10 +7344,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: 31 34
-TeXDict begin 31 33 bop 150 -116 a Fo(App)s(endix)29
+%%Page: 32 35
+TeXDict begin 32 34 bop 150 -116 a Fo(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(31)150 299 y Fm(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
+b(32)150 299 y Fm(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 Fo(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
diff --git a/doc/texi2dvi b/doc/texi2dvi
index 173e8ab..17f4355 100755
--- a/doc/texi2dvi
+++ b/doc/texi2dvi
@@ -1,10 +1,7 @@
#! /bin/sh
# texi2dvi --- produce DVI (or PDF) files from Texinfo (or (La)TeX) sources.
-# $Id: texi2dvi 5704 2014-07-07 17:45:16Z karl $
#
-# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
-# Free Software Foundation, Inc.
+# Copyright 1992-2019 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -36,20 +33,17 @@ set -e
# In case the default sed doesn't suffice.
: ${SED=sed}
-# This string is expanded automatically when this file is checked out.
-rcs_revision='$Revision: 5704 $'
-rcs_version=`set - $rcs_revision; echo $2`
program=`echo $0 | $SED -e 's!.*/!!'`
build_mode=${TEXI2DVI_BUILD_MODE:-local}
build_dir=${TEXI2DVI_BUILD_DIRECTORY:-.}
+orig_pwd=`pwd`
+
# Initialize variables for option overriding and otherwise.
# Don't use `unset' since old bourne shells don't have this command.
# Instead, assign them an empty value.
action=compile
-batch=false # interact normally
-catcode_special=maybe
debug=false
escape="\\"
expand=false # true for expansion via makeinfo
@@ -68,13 +62,11 @@ txiprereq=19990129 # minimum texinfo.tex version with macro expansion
verb=false # true for verbose mode
translate_file= # name of charset translation file
-orig_pwd=`pwd`
-
# We have to initialize IFS to space tab newline since we save and
# restore IFS and apparently POSIX allows stupid/broken behavior with
# empty-but-set IFS.
# http://lists.gnu.org/archive/html/automake-patches/2006-05/msg00008.html
-# We need space, tab and new line, in precisely that order. And don't leave
+# We need space, tab and newline, in precisely that order. And don't leave
# trailing blanks.
space=' '
tab=' '
@@ -82,70 +74,176 @@ newline='
'
IFS="$space$tab$newline"
-# In case someone pedantic insists on using grep -E.
: ${EGREP=egrep}
# Systems which define $COMSPEC or $ComSpec use semicolons to separate
-# directories in TEXINPUTS -- except for Cygwin et al., where COMSPEC
+# directories in TEXINPUTS -- except for Cygwin and Msys, where COMSPEC
# might be inherited, but : is used.
+
+# In the case of Msys, uname returns a value derived from MSYSTEM, as
+# MSYSTEM is user configurable, it is not so safe to use it to detect
+# Msys. It is safer to use OSTYPE, this is why we set MSYSTEM to
+# $OSTYPE before calling uname
if test -n "$COMSPEC$ComSpec" \
- && uname | $EGREP -iv 'cygwin|mingw|djgpp' >/dev/null; then
+ && MSYSTEM=$OSTYPE uname | $EGREP -iv 'cygwin|msys' >/dev/null; then
path_sep=";"
else
path_sep=":"
fi
+
# Pacify verbose cds.
CDPATH=${ZSH_VERSION+.}$path_sep
-# If $TEX is set to a directory, don't use it.
-test -n "$TEX" && test -d "$TEX" && unset TEX
-#
-## --------------------- ##
-## Auxiliary functions. ##
-## --------------------- ##
-
-# In case `local' is not supported by the shell, provide a function
-# that simulates it by simply performing the assignments. This means
-# that we must not expect `local' to work, i.e., we must not (i) rely
-# on it during recursion, and (ii) have two local declarations of the
-# same variable. (ii) is easy to check statically, and our test suite
-# does make sure there is never twice a static local declaration of a
-# variable. (i) cannot be checked easily, so just be careful.
-#
-# Note that since we might use a function simulating `local', we can
-# no longer rely on the fact that no IFS-splitting is performed. So,
-# while
-#
-# foo=$bar
-#
-# is fine (no IFS-splitting), never write
-#
-# local foo=$bar
-#
-# but rather
+# Now we define numerous functions, with no other executable code.
+# The main program is at the end of the file.
+
+
+# Standard help and version functions.
#
-# local foo="$bar"
-(
- foo=bar
- test_local () {
- local foo=foo
- }
- test_local >/dev/null 2>&1
- test $foo = bar
-) || eval '
-local () {
+# usage - display usage and exit successfully.
+usage ()
+{
+ cat <<EOF
+Usage: $program [OPTION]... FILE...
+ or: texi2pdf [OPTION]... FILE...
+ or: pdftexi2dvi [OPTION]... FILE...
+
+Run each Texinfo or (La)TeX FILE through TeX in turn until all
+cross-references are resolved, building all indices. The directory
+containing each FILE is searched for included files. The suffix of FILE
+is used to determine its language ((La)TeX or Texinfo). To process
+(e)plain TeX files, set the environment variable LATEX=tex.
+
+When invoked as \`texi2pdf' or given the option --pdf generate PDF output.
+Otherwise, generate DVI.
+
+General options:
+ -D, --debug turn on shell debugging (set -x)
+ -h, --help display this help and exit successfully
+ -o, --output=OFILE leave output in OFILE; only one input FILE is allowed
+ -q, --quiet no output unless errors
+ -v, --version display version information and exit successfully
+ -V, --verbose report on what is done
+ --max-iterations=N don't process files more than N times [$max_iters]
+ --mostly-clean remove auxiliary files or directories from
+ previous runs (but not the output)
+
+Output format:
+ --dvi output a DVI file [default]
+ --dvipdf output a PDF file via DVI (using a dvi-to-pdf program)
+ --html output an HTML file from LaTeX, using HeVeA
+ --info output an Info file from LaTeX, using HeVeA
+ -p, --pdf use pdftex or pdflatex for processing
+ --ps output a PostScript file via DVI (using dvips)
+ --text output a plain text file from LaTeX, using HeVeA
+
+TeX tuning:
+ -E, --expand macro expansion using makeinfo
+ -I DIR search DIR for Texinfo files
+ -l, --language=LANG specify LANG for FILE, either latex or texinfo
+ --no-line-error do not pass --file-line-error to TeX
+ --shell-escape pass --shell-escape to TeX
+ --src-specials pass --src-specials to TeX
+ --translate-file=FILE use given charset translation file for TeX
+ -t, --command=CMD insert CMD in copy of input file
+
+Build modes:
+ --build=MODE specify the treatment of auxiliary files [$build_mode]
+ --tidy same as --build=tidy
+ -c, --clean same as --build=clean
+ --build-dir=DIR specify where the tidy compilation is performed;
+ implies --tidy;
+ defaults to TEXI2DVI_BUILD_DIRECTORY [$build_dir]
+
+The MODE specifies where the TeX compilation takes place, and, as a
+consequence, how auxiliary files are treated. The build mode can also
+be set using the environment variable TEXI2DVI_BUILD_MODE.
+
+Valid values of MODE are:
+ \`local' compile in the current directory, leaving all the auxiliary
+ files around. This is the traditional TeX use.
+ \`tidy' compile in a local *.t2d directory, where the auxiliary files
+ are left. Output files are copied back to the original file.
+ \`clean' same as \`tidy', but remove the auxiliary directory afterwards.
+ Every compilation therefore requires the full cycle.
+
+The values of these environment variables are used to run the
+corresponding commands, if they are set:
+
+ BIBER BIBTEX DVIPDF DVIPS EGREP HEVEA LATEX MAKEINDEX MAKEINFO
+ PDFLATEX PDFTEX SED T4HT TEX TEX4HT TEXINDEX TEXINDY THUMBPDF_CMD
+
+Regarding --dvipdf, if DVIPDF is not set in the environment, the
+following programs are looked for (in this order): dvipdfmx dvipdfm
+dvipdf dvi2pdf dvitopdf.
+
+If Texinfo is installed on your site, then the command
+
+ info texi2dvi
+
+should give you access to more documentation.
+
+Report bugs to bug-texinfo@gnu.org,
+general questions and discussion to help-texinfo@gnu.org.
+GNU Texinfo home page: <http://www.gnu.org/software/texinfo/>
+General help using GNU software: <http://www.gnu.org/gethelp/>
+EOF
+ exit 0
+}
+
+
+# version - Display version info and exit successfully.
+version ()
+{
+ cat <<EOF
+texi2dvi (GNU Texinfo 6.7)
+
+Copyright (C) 2019 Free Software Foundation, Inc.
+License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.
+EOF
+ exit 0
+}
+
+
+# Generic auxiliary functions.
+
+# Used to access files and directories after we have changed directory
+# (for --tidy).
+rel=
+
+# Change directory, updating some relative paths.
+cd_dir ()
+{
+ cd "$1"
+
+ # Check if argument or input file is absolute, and if so, make all the path
+ # variables absolute.
+ use_absolute=false
case $1 in
- *=*) eval "$1";;
+ [\\/]* | ?:[\\/]*) # absolute path
+ use_absolute=true ;;
+ esac
+ case $in_input in
+ [\\/]* | ?:[\\/]*)
+ use_absolute=true ;;
esac
-}
-'
+ if $use_absolute ; then
+ for cdd_dir in work_build workdir t2ddir work_bak in_input in_dir; do
+ eval "$cdd_dir=\`absolute \$$cdd_dir\`"
+ done
+ return
+ fi
+
+ # Replace each path component with ".." and add a single trailing slash.
+ rel=`echo "$1" | \$SED -e 's/[^/\\][^/\\]*/../g' -e 's/[/\\]*$/\//'`
+}
-# cd_orig
-# -------
-# Return to the original directory.
+# cd_orig - Return to the original directory.
cd_orig ()
{
# In case $orig_pwd is on a different drive (for DOS).
@@ -155,11 +253,12 @@ cd_orig ()
# - the next file is processed in correct conditions
# - the temporary file can be removed
cd "$orig_pwd" || exit 1
+
+ rel=
}
-# func_dirname FILE
-# -----------------
-# Return the directory part of FILE.
+
+# func_dirname FILE - Return the directory part of FILE.
func_dirname ()
{
dirname "$1" 2>/dev/null \
@@ -167,18 +266,15 @@ func_dirname ()
}
-# noexit FILE
-# -----------
-# Return FILE with one extension remove. foo.bar.baz -> foo.bar.
+# noext FILE - Return FILE with one extension removed:
+# foo.bar.baz -> foo.bar
noext ()
{
echo "$1" | $SED -e 's/\.[^/.][^/.]*$//'
}
-# absolute NAME -> ABS-NAME
-# -------------------------
-# Return an absolute path to NAME.
+# absolute NAME - Return an absolute path to NAME.
absolute ()
{
case $1 in
@@ -186,26 +282,21 @@ absolute ()
# Absolute paths don't need to be expanded.
echo "$1"
;;
- *) local slashes
- slashes=`echo "$1" | $SED -n 's,.*[^/]\(/*\)$,\1,p'`
- local rel
- rel=$orig_pwd/`func_dirname "$1"`
- if test -d "$rel"; then
- (cd "$rel" 2>/dev/null \
- && local n
- n=`pwd`/`basename "$1"`"$slashes"
- echo "$n")
+ *) absolute_slashes=`echo "$1" | $SED -n 's,.*[^/]\(/*\)$,\1,p'`
+ absolute_rel=$orig_pwd/`func_dirname "$1"`
+ if test -d "$absolute_rel"; then
+ (cd "$absolute_rel" 2>/dev/null \
+ && absolute_name=`pwd`/`basename "$1"`"$absolute_slashes"
+ echo "$absolute_name")
else
- error 1 "not a directory: $rel"
+ error 1 "not a directory: $absolute_rel"
fi
;;
esac
}
-# ensure_dir DIR1 DIR2...
-# -----------------------
-# Make sure the directories exist.
+# ensure_dir DIR1 DIR2... - Make sure given directories exist.
ensure_dir ()
{
for dir
@@ -221,26 +312,23 @@ ensure_dir ()
}
-# error EXIT_STATUS LINE1 LINE2...
-# --------------------------------
-# Report an error and exit with failure if EXIT_STATUS is non-null.
+# error EXIT_STATUS LINE1 LINE2... - Report an error and exit with
+# failure if EXIT_STATUS is non-null.
error ()
{
- local s="$1"
+ error_status="$1"
shift
report "$@"
- if test "$s" != 0; then
- exit $s
+ if test "$error_status" != 0; then
+ exit $error_status
fi
}
-# findprog PROG
-# -------------
-# Return true if PROG is somewhere in PATH, else false.
+# findprog PROG - Return true if PROG is somewhere in PATH, else false.
findprog ()
{
- local saveIFS="$IFS"
+ saveIFS="$IFS"
IFS=$path_sep # break path components at the path separator
for dir in $PATH; do
IFS=$saveIFS
@@ -261,9 +349,7 @@ findprog ()
return 1
}
-# report LINE1 LINE2...
-# ---------------------
-# Report some information on stderr.
+# report LINE1 LINE2... - Echo each argument to stderr.
report ()
{
for i in "$@"
@@ -273,9 +359,7 @@ report ()
}
-# run COMMAND-LINE
-# ----------------
-# Run the COMMAND-LINE verbosely, and catching errors as failures.
+# run COMMAND-LINE - Run COMMAND-LINE verbosely, catching errors as failures.
run ()
{
verbose "Running $@"
@@ -284,135 +368,7 @@ run ()
}
-# usage
-# -----
-# Display usage and exit successfully.
-usage ()
-{
- # We used to simply have `echo "$usage"', but coping with the
- # changing behavior of `echo' is much harder than simply using a
- # here-doc.
- #
- # echo '\noto' echo '\\noto' echo -e '\\noto'
- # bash 3.1 \noto \\noto \noto
- # bash 3.2 %oto \noto -e \noto
- #
- # where % denotes the eol character.
- cat <<EOF
-Usage: $program [OPTION]... FILE...
- or: texi2pdf [OPTION]... FILE...
- or: pdftexi2dvi [OPTION]... FILE...
-
-Run each Texinfo or (La)TeX FILE through TeX in turn until all
-cross-references are resolved, building all indices. The directory
-containing each FILE is searched for included files. The suffix of FILE
-is used to determine its language ((La)TeX or Texinfo). To process
-(e)plain TeX files, set the environment variable LATEX=tex.
-
-In order to make texi2dvi a drop-in replacement of TeX/LaTeX in AUC-TeX,
-the FILE may also be composed of the following simple TeX commands.
- \`\\input{FILE}' the actual file to compile
- \`\\nonstopmode' same as --batch
-
-When invoked as \`texi2pdf' or \`pdftexi2dvi', or given the option --pdf
-or --dvipdf, generate PDF output. Otherwise, generate DVI.
-
-General options:
- -b, --batch no interaction
- -D, --debug turn on shell debugging (set -x)
- -h, --help display this help and exit successfully
- -o, --output=OFILE leave output in OFILE; only one input FILE is allowed
- -q, --quiet no output unless errors (implies --batch)
- -s, --silent same as --quiet
- -v, --version display version information and exit successfully
- -V, --verbose report on what is done
-
-Output format:
- --dvi output a DVI file [default]
- --dvipdf output a PDF file via DVI (using a dvi-to-pdf program)
- --html output an HTML file from LaTeX, using HeVeA
- --info output an Info file from LaTeX, using HeVeA
- -p, --pdf use pdftex or pdflatex for processing
- --ps output a PostScript file via DVI (using dvips)
- --text output a plain text file from LaTeX, using HeVeA
-
-TeX tuning:
- -@ use @input instead of \input for preloaded Texinfo
- -e, -E, --expand force macro expansion using makeinfo
- -I DIR search DIR for Texinfo files
- -l, --language=LANG specify LANG for FILE, either latex or texinfo
- --no-line-error do not pass --file-line-error to TeX
- --shell-escape pass --shell-escape to TeX
- --src-specials pass --src-specials to TeX
- -t, --command=CMD insert CMD in copy of input file
- or --texinfo=CMD multiple values accumulate
- --translate-file=FILE use given charset translation file for TeX
-
-Build modes:
- --build=MODE specify the treatment of auxiliary files [$build_mode]
- --tidy same as --build=tidy
- -c, --clean same as --build=clean
- --build-dir=DIR specify where the tidy compilation is performed;
- implies --tidy;
- defaults to TEXI2DVI_BUILD_DIRECTORY [$build_dir]
- --mostly-clean remove the auxiliary files and directories
- but not the output
- --max-iterations=N don't process files more than N times [$max_iters]
-
-The MODE specifies where the TeX compilation takes place, and, as a
-consequence, how auxiliary files are treated. The build mode
-can also be set using the environment variable TEXI2DVI_BUILD_MODE.
-
-Valid MODEs are:
- \`local' compile in the current directory, leaving all the auxiliary
- files around. This is the traditional TeX use.
- \`tidy' compile in a local *.t2d directory, where the auxiliary files
- are left. Output files are copied back to the original file.
- \`clean' same as \`tidy', but remove the auxiliary directory afterwards.
- Every compilation therefore requires the full cycle.
-
-Using the \`tidy' mode brings several advantages:
- - the current directory is not cluttered with plethora of temporary files.
- - clutter can be even further reduced using --build-dir=dir: all the *.t2d
- directories are stored there.
- - clutter can be reduced to zero using, e.g., --build-dir=/tmp/\$USER.t2d
- or --build-dir=\$HOME/.t2d.
- - the output file is updated after every successful TeX run, for
- sake of concurrent visualization of the output. In a \`local' build
- the viewer stops during the whole TeX run.
- - if the compilation fails, the previous state of the output file
- is preserved.
- - PDF and DVI compilation are kept in separate subdirectories
- preventing any possibility of auxiliary file incompatibility.
-
-On the other hand, because \`tidy' compilation takes place in another
-directory, occasionally TeX won't be able to find some files (e.g., when
-using \\graphicspath): in that case, use -I to specify the additional
-directories to consider.
-
-The values of the BIBER, BIBTEX, DVIPDF, DVIPS, HEVEA, LATEX, MAKEINDEX,
-MAKEINFO, PDFLATEX, PDFTEX, SED, T4HT, TEX, TEX4HT, TEXINDEX, and THUMBPDF_CMD
-environment variables are used to run those commands, if they are set.
-
-Regarding --dvipdf, if DVIPDF is not set in the environment, the
-following programs are looked for (in this order): dvipdfmx dvipdfm
-dvipdf dvi2pdf dvitopdf.
-
-Any CMD strings are added after @setfilename for Texinfo input, or in
-the first line for LaTeX input.
-
-Report bugs to bug-texinfo@gnu.org,
-general questions and discussion to help-texinfo@gnu.org.
-GNU Texinfo home page: <http://www.gnu.org/software/texinfo/>
-General help using GNU software: <http://www.gnu.org/gethelp/>
-EOF
- exit 0
-}
-
-
-# verbose WORD1 WORD2
-# -------------------
-# Report some verbose information.
+# verbose WORD1 WORD2... - Echo concatenated WORDs to stderr, if $verb.
verbose ()
{
if $verb; then
@@ -421,69 +377,45 @@ verbose ()
}
-# version
-# -------
-# Display version info and exit successfully.
-version ()
-{
- cat <<EOF
-texi2dvi (GNU Texinfo 5.2) $rcs_version
-
-Copyright (C) 2014 Free Software Foundation, Inc.
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law.
-EOF
- exit 0
-}
-
-
-## ---------------- ##
-## Handling lists. ##
-## ---------------- ##
-
-
-# list_append LIST-NAME ELEM
-# --------------------------
-# Set LIST-NAME to its former contents, with ELEM appended.
+# Handling lists.
+#
+# list_append LIST-NAME ELEM - Append ELEM to (the contents of) LIST-NAME.
list_append ()
{
- local la_l="$1"
+ list_name="$1"
shift
- eval set X \$$la_l "$@"
+ eval set X \$$list_name "$@"
shift
- eval $la_l=\""$@"\"
+ eval $list_name=\""$@"\"
}
-# list_concat_dirs LIST-NAME DIR-LIST
-# -----------------------------------
-# Append to LIST-NAME all the components (included empty) from
-# the $path_sep separated list DIR-LIST. Make the paths absolute.
+# list_concat_dirs LIST-NAME DIR-LIST - Append to LIST-NAME all the
+# components (including empty ones) from the $path_sep-separated list
+# DIR-LIST. Make the paths absolute.
list_concat_dirs ()
{
- local lcd_list="$1"
+ lcd_list="$1"
# Empty path components are meaningful to tex. We rewrite them as
# `EMPTY' so they don't get lost when we split on $path_sep.
# Hopefully no one will have an actual directory named EMPTY.
- local replace_EMPTY="-e 's/^$path_sep/EMPTY$path_sep/g' \
- -e 's/$path_sep\$/${path_sep}EMPTY/g' \
- -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'"
+ lcd_replace_EMPTY="-e 's/^$path_sep/EMPTY$path_sep/g' \
+ -e 's/$path_sep\$/${path_sep}EMPTY/g' \
+ -e 's/$path_sep$path_sep/${path_sep}EMPTY${path_sep}/g'"
save_IFS=$IFS
IFS=$path_sep
- set x `echo "$2" | eval $SED $replace_EMPTY`; shift
+ set x `echo "$2" | eval $SED $lcd_replace_EMPTY`; shift
IFS=$save_IFS
- local dir
- for dir
+ for lcd_dir
do
- case $dir in
+ case $lcd_dir in
EMPTY)
list_append $lcd_list ""
;;
*)
- if test -d $dir; then
- dir=`absolute "$dir"`
- list_append $lcd_list "$dir"
+ if test -d $lcd_dir; then
+ dir=`absolute "$lcd_dir"`
+ list_append $lcd_list "$lcd_dir"
fi
;;
esac
@@ -491,64 +423,54 @@ list_concat_dirs ()
}
-# list_prefix LIST-NAME SEP -> STRING
-# -----------------------------------
-# Return a string that is composed of the LIST-NAME with each item
-# preceded by SEP.
+# list_prefix LIST-NAME SEP -> STRING - Return string with each element
+# of LIST-NAME preceded by SEP.
list_prefix ()
{
- local lp_p="$2"
+ lp_separator="$2"
eval set X \$$1
shift
- local lp_res
+ lp_result=''
for i
do
- lp_res="$lp_res \"$lp_p\" \"$i\""
+ lp_result="$lp_result \"$lp_separator\" \"$i\""
done
- echo "$lp_res"
+ echo "$lp_result"
}
-# list_infix LIST-NAME SEP -> STRING
-# ----------------------------------
-# Same as list_prefix, but a separator.
+# list_infix LIST-NAME SEP -> STRING - Same as list_prefix, but a separator.
list_infix ()
{
eval set X \$$1
shift
- local la_IFS="$IFS"
+ save_IFS="$IFS"
IFS=$path_sep
echo "$*"
- IFS=$la_IFS
+ IFS=$save_IFS
}
-# list_dir_to_abs LIST-NAME
-# -------------------------
-# Convert the list to using only absolute dir names.
+# list_dir_to_abs LIST-NAME - Convert list to using only absolute dir names.
# Currently unused, but should replace absolute_filenames some day.
list_dir_to_abs ()
{
- local ld_l="$1"
- eval set X \$$ld_l
+ ldta_list="$1"
+ eval set X \$$ldta_list
shift
- local ld_res
+ ldta_result=''
for dir
do
dir=`absolute "$dir"`
test -d "$dir" || continue
- ld_res="$ld_res \"$dir\""
+ ldta_result="$ldata_result \"$dir\""
done
- set X $ld_res; shift
- eval $ld_l=\"$@\"
+ set X $ldta_result; shift
+ eval $ldta_list=\"$@\"
}
-## ------------------------------ ##
-## Language auxiliary functions. ##
-## ------------------------------ ##
-
-
-# out_lang_set LANG
-# -----------------
+# Language auxiliary functions.
+#
+# out_lang_set LANG - set $out_lang to LANG (dvi, pdf, etc.), or error.
out_lang_set ()
{
case $1 in
@@ -557,10 +479,7 @@ out_lang_set ()
esac
}
-
-# out_lang_tex
-# ------------
-# Return the tex output language (DVI or PDF) for $OUT_LANG.
+# out_lang_tex - Return the tex output language (DVI or PDF) for $out_lang.
out_lang_tex ()
{
case $out_lang in
@@ -571,10 +490,7 @@ out_lang_tex ()
esac
}
-
-# out_lang_ext
-# ------------
-# Return the extension for $OUT_LANG.
+# out_lang_ext - Return the extension for $out_lang (pdf, dvi, etc.).
out_lang_ext ()
{
case $out_lang in
@@ -585,83 +501,64 @@ out_lang_ext ()
}
-## ------------------------- ##
-## TeX auxiliary functions. ##
-## ------------------------- ##
-
-# Save TEXINPUTS so we can construct a new TEXINPUTS path for each file.
-# Likewise for bibtex and makeindex.
-tex_envvars="BIBINPUTS BSTINPUTS DVIPSHEADERS INDEXSTYLE MFINPUTS MPINPUTS \
-TEXINPUTS TFMFONTS"
-for var in $tex_envvars; do
- eval ${var}_orig=\$$var
- export $var
-done
-
-
-# absolute_filenames TEX-PATH -> TEX-PATH
-# ---------------------------------------
-# Convert relative paths to absolute paths, so we can run in another
-# directory (e.g., in tidy build mode, or during the macro-support
-# detection). Prepend ".".
+# TeX file auxiliary functions.
+#
+# absolute_filenames TEX-PATH -> TEX-PATH - Convert relative paths to
+# absolute, so we can run in another directory (e.g., in tidy build
+# mode, or during the macro-support detection).
absolute_filenames ()
{
# Empty path components are meaningful to tex. We rewrite them as
# `EMPTY' so they don't get lost when we split on $path_sep.
# Hopefully no one will have an actual directory named EMPTY.
- local replace_empty="-e 's/^$path_sep/EMPTY$path_sep/g' \
- -e 's/$path_sep\$/${path_sep}EMPTY/g' \
- -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'"
- local res
- res=`echo "$1" | eval $SED $replace_empty`
+ af_replace_empty="-e 's/^$path_sep/EMPTY$path_sep/g' \
+ -e 's/$path_sep\$/${path_sep}EMPTY/g' \
+ -e 's/$path_sep$path_sep/${path_sep}EMPTY${path_sep}/g'"
+ af_result=`echo "$1" | eval $SED $af_replace_empty`
save_IFS=$IFS
IFS=$path_sep
- set x $res; shift
- res=.
+ set x $af_result; shift
+ af_result=
+ af_path_sep=
for dir
do
case $dir in
EMPTY)
- res=$res$path_sep
+ af_result=$af_result$af_path_sep
;;
*)
if test -d "$dir"; then
- res=$res$path_sep`absolute "$dir"`
+ af_result=$af_result$af_path_sep`absolute "$dir"`
else
# Even if $dir is not a directory, preserve it in the path.
# It might contain metacharacters that TeX will expand in
# turn, e.g., /some/path/{a,b,c}. This will not get the
# implicit absolutification of the path, but we can't help that.
- res=$res$path_sep$dir
+ af_result=$af_result$af_path_sep$dir
fi
;;
esac
+ af_path_sep=$path_sep
done
- echo "$res"
+ echo "$af_result"
}
-# output_base_name FILE
-# ---------------------
-# The name of FILE, possibly renamed to satisfy --output.
-# FILE is local, there is no directory part.
+# output_base_name FILE - Return the name of FILE, possibly renamed to
+# satisfy --output. FILE is local, i.e., without any directory part.
output_base_name ()
{
case $oname in
'') echo "$1";;
- *) local out_noext
- out_noext=`noext "$oname"`
- local file_ext
- file_ext=`echo "$1" | $SED 's/^.*\.//'`
- echo "$out_noext.$file_ext"
+ *) obn_out_noext=`noext "$oname"`
+ obn_file_ext=`echo "$1" | $SED 's/^.*\.//'`
+ echo "$obn_out_noext.$obn_file_ext"
;;
esac
}
-# destdir
-# -------
-# Return the name of the directory where the output is expected.
+# destdir - Return the directory where the output is expected.
destdir ()
{
case $oname in
@@ -671,15 +568,13 @@ destdir ()
}
-# move_to_dest FILE...
-# --------------------
-# Move FILE to the place where the user expects it. Truly move it, that
-# is, it must not remain in its build location unless that is also the
-# output location. (Otherwise it might appear as an extra file in make
-# distcheck.)
+# move_to_dest FILE... - Move FILE(s) to the place where the user expects.
+# Truly move it, that is, it must not remain in its build location
+# unless that is also the output location. (Otherwise it might appear
+# as an extra file in make distcheck.)
#
-# FILE can be the principal output (in which case -o directly applies), or
-# an auxiliary file with the same base name.
+# FILE can be the principal output (in which case -o directly applies),
+# or an auxiliary file with the same base name.
move_to_dest ()
{
# echo "move_to_dest $*, tidy=$tidy, oname=$oname"
@@ -690,23 +585,17 @@ move_to_dest ()
false:) return;;
esac
- local destfile
- local destdir
- local destbase
- local sourcedir
- local sourcebase
-
for file
do
test -f "$file" \
|| error 1 "no such file or directory: $file"
case $tidy:$oname in
- true:) destdir=$orig_pwd
- destfile=$destdir/$file;;
- true:*) destfile=`output_base_name "$file"`
- destdir=`dirname "$destfile"`;;
- false:*) destfile=$oname
- destdir=`dirname "$destfile"`;;
+ true:) mtd_destdir=$orig_pwd
+ mtd_destfile=$mtd_destdir/$file;;
+ true:*) mtd_destfile=`output_base_name "$file"`
+ mtd_destdir=`dirname "$mtd_destfile"`;;
+ false:*) mtd_destfile=$oname
+ mtd_destdir=`dirname "$mtd_destfile"`;;
esac
# We want to compare the source location and the output location,
@@ -716,45 +605,39 @@ move_to_dest ()
# directory names, canonicalized with pwd. We can't use cmp -s
# since the output file might not actually change from run to run;
# e.g., TeX DVI output is timestamped to only the nearest minute.
- destdir=`cd "$destdir" && pwd`
- destbase=`basename "$destfile"`
-
- sourcedir=`dirname "$file"`
- sourcedir=`cd "$sourcedir" && pwd`
- sourcebase=`basename "$file"`
-
- if test "$sourcedir/$sourcebase" != "$destdir/$destbase"; then
- verbose "Moving $file to $destfile"
- rm -f "$destfile"
- mv "$file" "$destfile"
+ mtd_destdir=`cd "$mtd_destdir" && pwd`
+ mtd_destbase=`basename "$mtd_destfile"`
+
+ mtd_sourcedir=`dirname "$file"`
+ mtd_sourcedir=`cd "$mtd_sourcedir" && pwd`
+ mtd_sourcebase=`basename "$file"`
+
+ if test "$mtd_sourcedir/$mtd_sourcebase" != "$mtd_destdir/$mtd_destbase"
+ then
+ verbose "Moving $file to $mtd_destfile"
+ rm -f "$mtd_destfile"
+ mv "$file" "$mtd_destfile"
fi
done
}
-## --------------------- ##
-## Managing xref files. ##
-## --------------------- ##
-
-# aux_file_p FILE
-# ---------------
-# Return with success if FILE is an aux file.
+# Managing xref files.
+#
+# aux_file_p FILE - Echo FILE if FILE is an aux file.
aux_file_p ()
{
- test -f "$1" || return 1
+ test -f "$1" || return 0
case $1 in
- *.aux) return 0;;
- *) return 1;;
+ *.aux) echo "$1";;
+ *) return 0;;
esac
}
-# bibaux_file_p FILE
-# ------------------
-# Return with success if FILE is an aux file containing citation
-# requests.
+# bibaux_file_p FILE - Echo FILE if FILE contains citation requests.
bibaux_file_p ()
{
- test -s "$1" || return 1
+ test -s "$1" || return 0
if (grep '^\\bibstyle[{]' "$1" \
&& grep '^\\bibdata[{]' "$1" \
## The following line is suspicious: fails when there
@@ -763,17 +646,15 @@ bibaux_file_p ()
## && grep '^\\citation[{]' "$f"
) >&6 2>&1;
then
- return 0
+ echo "$1"
fi
- return 1
+ return 0
}
-# index_file_p FILE
-# -----------------
-# Return with success if FILE is an index file.
+# index_file_p FILE - Echo FILE if FILE is an index file.
index_file_p ()
{
- test -f "$1" || return 1
+ test -f "$1" || return 0
case $in_lang:$latex2html:`out_lang_tex`:`$SED '1q' "$1"` in
# When working with TeX4HT, *.idx are created by LaTeX. They must
# be processed to produce *.4ix, *.4dx files. The *.4dx file is
@@ -781,20 +662,21 @@ index_file_p ()
# handled by run_index, so we are only interested in the *.idx
# files, which have each "\indexentry" preceded by a
# "\beforeentry".
- latex:tex4ht:html:"\\beforeentry {"*) return 0;;
+ latex:tex4ht:html:"\\beforeentry {"*) echo $1;;
# When index.sty is used, there is a space before the brace.
- latex:*:*:"\\indexentry{"*|latex:*:*:"\\indexentry {"*) return 0;;
-
- texinfo:*:*:"\\entry{"*) return 0;;
+ latex:*:*:"\\indexentry{"*|latex:*:*:"\\indexentry {"*) echo $1;;
- *) return 1;;
+ texinfo:*:*:"\\entry{"*) echo $1;;
+ texinfo:*:*:"@entry{"*) echo $1;;
+ # @entry is output from newer versions of texinfo.tex
esac
+ return 0
}
-# xref_file_p FILE
-# ----------------
-# Return with success if FILE is an xref file (indexes, tables and lists).
+########### not used currently
+# xref_file_p FILE - Return success if FILE is an xref file (indexes,
+# tables and lists).
xref_file_p ()
{
test -f "$1" || return 1
@@ -810,67 +692,52 @@ xref_file_p ()
}
-# generated_files_get FILENAME-NOEXT [PREDICATE-FILTER]
-# -----------------------------------------------------
-# Return the list of files generated by the TeX compilation of FILENAME-NOEXT.
-generated_files_get ()
+# Used in generated_files_get
+generated_files_get_from_log ()
{
- local filter=true
- if test -n "$2"; then
- filter=$2
+ if test -f "$1.log"; then
+ # Usually the output is like: \openout1 = `foobar.tex'.
+ # (including the final period)
+ # but luatex outputs: \openout1 = foobar.tex
+ # (no quotes, no period).
+ # So we have to make the punctuation optional.
+ grep '^\\openout[0-9]' "$1.log" \
+ | $SED -e "s/\\\\openout[^=]*= *[\`']*//" \
+ -e "s/'\.$//"
fi
+}
- # Gather the files created by TeX.
- (
- if test -f "$1.log"; then
- $SED -n -e "s,^\\\\openout.* = \`\\(.*\\)'\\.,\\1,p" "$1.log"
- fi
- echo "$1.log"
- ) |
- # Depending on these files, infer outputs from other tools.
- while read file; do
- echo $file
- case $in_lang in
- texinfo)
- # texindex: texinfo.cp -> texinfo.cps
- if index_file_p $file; then
- echo ${file}s
- fi
- ;;
- latex)
- if aux_file_p $file; then
- # bibtex: *.aux -> *.bbl and *.blg.
- echo $file | $SED 's/^\(.*\)\.aux$/\1.bbl/'
- echo $file | $SED 's/^\(.*\)\.aux$/\1.blg/'
- # -recorder: .fls
- echo $file | $SED 's/^\(.*\)\.aux$/\1.fls/'
- fi
- ;;
- esac
- done |
- # Filter existing files matching the criterion.
- #
- # With an input file name containing a space, this produces a
- # "command not found" message (and filtering is ineffective).
- # The situation with a newline is presumably even worse.
- while read file; do
- if $filter "$file"; then
- echo $file
+# Used in generated_files_get
+generated_files_get_from_fls ()
+{
+ if test -f "$1.fls"; then
+ grep '^OUTPUT ' "$1.fls" | cut -b 8- \
+ | grep -v '\.dvi$' | grep -v '\.log$' | grep -v '\.pdf$' || true
+ fi
+}
+
+# generated_files_get - Output the list of files generated by the TeX
+# compilation.
+generated_files_get ()
+{
+ $generated_files_get_method "$in_noext"
+ if test $generated_files_get_method = generated_files_get_from_fls; then
+ if test -r "$in_noext.fl"; then
+ report 'WARNING!! The fl index may typeset as garbage!' # goes to stderr
+ report 'Try upgrading your version of texinfo.tex, or else try setting'
+ report 'the environment variable TEXI2DVI_USE_RECORDER to '\''no'\''.'
+report 'Once you'\''ve done that, delete the file with an '\''fl'\'' extension.'
fi
- done |
- sort |
- # Some files are opened several times, e.g., listings.sty's *.vrb.
- uniq
+ fi
}
-# xref_files_save
-# ---------------
-# Save the xref files.
+# xref_files_save - set xref_files_orig from xref_files_new, and save xref
+# files in $work_bak.
xref_files_save ()
{
# Save copies of auxiliary files for later comparison.
- xref_files_orig=`generated_files_get "$in_noext" xref_file_p`
+ xref_files_orig=$xref_files_new
if test -n "$xref_files_orig"; then
verbose "Backing up xref files: $xref_files_orig"
# The following line improves `cp $xref_files_orig "$work_bak"'
@@ -880,14 +747,24 @@ xref_files_save ()
# Users may have, e.g., --keep-old-files. Don't let this interfere.
# (Don't use unset for the sake of ancient shells.)
TAR_OPTIONS=; export TAR_OPTIONS
- tar cf - $xref_files_orig | (cd "$work_bak" && tar xf -)
+ tar cf - $xref_files_orig | (cd "$rel$work_bak" && tar xf -)
+ fi
+
+ # Remove auxiliary files in same directory as main input file. Otherwise,
+ # these will likely be read instead of those in the build dir.
+ if $tidy ; then
+ secondary_xref_files=`sorted_index_files`
+ for f in $xref_files_new $secondary_xref_files ; do
+ if test -f "$rel$in_dir/$f" ; then
+ remove $rel$in_dir/$f
+ fi
+ done
fi
}
-# xref_files_changed
-# ------------------
-# Whether the xref files were changed since the previous run.
+# xref_files_changed - Return success if the xref files have changed
+# since the previous run.
xref_files_changed ()
{
# LaTeX (and the package changebar) report in the LOG file if it
@@ -898,14 +775,14 @@ xref_files_changed ()
if grep "Rerun to get" "$in_noext.log" >&6 2>&1; then
return 0
fi
- # biblatex report of whether rerunning is needed.
+ # Similarly, check for biblatex report of whether rerunning is needed.
if grep "biblatex.*(re)run" "$in_noext.log" >&6 2>&1; then
return 0
fi
# If old and new lists don't have the same file list,
# then something has definitely changed.
- xref_files_new=`generated_files_get "$in_noext" xref_file_p`
+ xref_files_new=`generated_files_get`
verbose "Original xref files = $xref_files_orig"
verbose "New xref files = $xref_files_new"
if test "x$xref_files_orig" != "x$xref_files_new"; then
@@ -916,31 +793,32 @@ xref_files_changed ()
for this_file in $xref_files_new; do
verbose "Comparing xref file `echo $this_file | $SED 's|\./||g'` ..."
# cmp -s returns nonzero exit status if files differ.
- if cmp -s "$this_file" "$work_bak/$this_file"; then :; else
+ if cmp -s "$this_file" "$rel$work_bak/$this_file"; then :; else
verbose "xref file `echo $this_file | $SED 's|\./||g'` differed ..."
if $debug; then
- diff -u "$work_bak/$this_file" "$this_file"
+ diff -u "$rel$work_bak/$this_file" "$this_file"
fi
return 0
fi
done
+ secondary_xref_files=`sorted_index_files`
+ verbose "Secondary xref files = $secondary_xref_files"
+ for this_file in $secondary_xref_files; do
+ if test -f $this_file; then :; else
+ verbose "$this_file missing ..."
+ return 0
+ fi
+ done
+
# No change.
return 1
}
-
-
-## ----------------------- ##
-## Running the TeX suite. ##
-## ----------------------- ##
-
-
-
-# run_tex ()
-# ----------
-# Run TeX as "$tex $in_input", taking care of errors and logs.
-run_tex ()
+# Running the TeX suite.
+#
+# Set tex_cmd variable, for running TeX.
+make_tex_cmd ()
{
case $in_lang:$latex2html:`out_lang_tex` in
latex:*:dvi|latex:tex4ht:html)
@@ -955,18 +833,9 @@ run_tex ()
*) tex=$TEX
esac;;
texinfo:*:pdf) tex=$PDFTEX;;
-
*) error 1 "$out_lang not supported for $in_lang";;
esac
- # do the special catcode trick for ~ in filenames only for Texinfo,
- # not LaTeX.
- if test x"$in_lang" = xtexinfo && test $catcode_special = maybe; then
- catcode_special=true
- else
- catcode_special=false
- fi
-
# Beware of aux files in subdirectories that require the
# subdirectory to exist.
case $in_lang:$tidy in
@@ -981,7 +850,7 @@ run_tex ()
esac
# Note that this will be used via an eval: quote properly.
- local cmd="$tex"
+ tex_cmd="$tex"
# If possible, make TeX report error locations in GNU format.
if $line_error; then
@@ -995,98 +864,90 @@ run_tex ()
# The mk program and perhaps others want to parse TeX's
# original error messages.
case $tex_help in
- *file-line-error*) cmd="$cmd --file-line-error";;
+ *file-line-error*) tex_cmd="$tex_cmd --file-line-error";;
esac
fi
+ # Tell TeX about -recorder option, if specified
+ # recorder_option_maybe is in { " -recorder", "" }
+ tex_cmd="$tex_cmd$recorder_option_maybe"
+
+
# Tell TeX about TCX file, if specified.
- test -n "$translate_file" && cmd="$cmd --translate-file=$translate_file"
+ test -n "$translate_file" \
+ && tex_cmd="$tex_cmd --translate-file=$translate_file"
# Tell TeX to make source specials (for backtracking from output to
# source, given a sufficiently smart editor), if specified.
- test -n "$src_specials" && cmd="$cmd $src_specials"
+ test -n "$src_specials" && tex_cmd="$tex_cmd $src_specials"
# Tell TeX to allow running external executables
- test -n "$shell_escape" && cmd="$cmd $shell_escape"
-
- # Tell TeX to be batch if requested.
- if $batch; then
- # \batchmode does not show terminal output at all, so we don't
- # want that. And even in batch mode, TeX insists on having input
- # from the user. Close its stdin to make it impossible.
- cmd="$cmd </dev/null '${escape}nonstopmode'"
- fi
+ test -n "$shell_escape" && tex_cmd="$tex_cmd $shell_escape"
- # we'd like to handle arbitrary input file names, especially
- # foo~bar/a~b.tex, since Debian likes ~ characters.
- if $catcode_special; then
- # $normaltilde is just to reduce line length in this source file.
- # The idea is to define \normaltilde as a catcode other ~ character,
- # then make the active ~ be equivalent to that, instead of the plain
- # TeX tie. Then when the active ~ appears in the filename, it will
- # be expanded to itself, as far as \input will see. (This is the
- # same thing that texinfo.tex does in general, BTW.)
- normaltilde="${escape}catcode126=12 ${escape}def${escape}normaltilde{~}"
- cmd="$cmd '$normaltilde${escape}catcode126=13 ${escape}let~\normaltilde '"
- fi
- # Other special (non-active) characters could be supported by
- # resetting their catcodes to other on the command line and changing
- # texinfo.tex to initialize everything to plain catcodes. Maybe someday.
-
- # append the \input command.
- cmd="$cmd '${escape}input'"
-
- # TeX's \input does not (easily or reliably) support whitespace
- # characters or other special characters in file names. Our intensive
- # use of absolute file names makes this worse: the enclosing directory
- # names may include white spaces. Improve the situation using a
- # symbolic link to the filename in the current directory, in tidy mode
- # only. Do not alter in_input.
- #
- # The filename is almost always tokenized using plain TeX conventions
- # (the exception would be if the user made a texinfo.fmt file). Not
- # all the plain TeX special characters cause trouble, but there's no
- # harm in making the link.
- #
- case $tidy:`func_dirname "$in_input"` in
- true:*["$space$tab$newline\"#\$%\\^_{}~"]*)
- _run_tex_file_name=`basename "$in_input"`
- if test ! -f "$_run_tex_file_name"; then
- # It might not be a file, clear it.
- run rm -f "$_run_tex_file_name"
- run ln -s "$in_input"
- fi
- cmd="$cmd '$_run_tex_file_name'"
- ;;
+ # Run without interaction.
+ # \batchmode does not show terminal output at all, so we don't
+ # want that. And even in batch mode, TeX insists on having input
+ # from the user. Close its stdin to make it impossible.
+ tex_cmd="$tex_cmd </dev/null '${escape}nonstopmode'"
+}
- *)
- cmd="$cmd '$in_input'"
- ;;
- esac
- verbose "$0: Running $cmd ..."
- if eval "$cmd" >&5; then
+# run_tex - Run TeX, taking care of errors and logs.
+run_tex ()
+{
+ # Check for any unusual characters in the filename.
+ # However, >, \ and any whitespace characters are not supported
+ # filenames.
+ in_input_funnies=`echo "$in_input" \
+ | $SED -e 's![^}#$%&^_{~]!!g' -e 's!\(.\)!\1\''
+!g' | uniq`
+
+ if test -n "$in_input_funnies" ; then
+ # Make > an end group character, as it's unlikely to appear in
+ # a filename.
+ tex_cmd="$tex_cmd '${escape}bgroup${escape}catcode62=2${escape}relax'"
+
+ # If the filename has funny characters, change the TeX category codes of
+ # some characters within a group, and use \expandafter to input the file
+ # outside of the group.
+ for w in $in_input_funnies ; do
+ tex_cmd="$tex_cmd '${escape}catcode\`${escape}$w=12${escape}relax'"
+ done
+
+ # Set \toks0 to "\input FILENAME\relax"
+ tex_cmd="$tex_cmd '${escape}toks0${escape}bgroup${escape}input' '$rel$in_input' '${escape}relax>"
+
+ # Expand \toks0 after the end of the group
+ tex_cmd="$tex_cmd${escape}expandafter${escape}egroup"
+ tex_cmd="$tex_cmd${escape}the${escape}toks0${escape}relax'"
+ else
+ # In the case of a simple filename, just pass the filename
+ # with no funny tricks.
+ tex_cmd="$tex_cmd '${escape}input' '$rel$in_input'"
+ fi
+
+ verbose "$0: Running $tex_cmd ..."
+ if (eval "$tex_cmd" >&5); then
case $out_lang in
dvi | pdf ) move_to_dest "$in_noext.$out_lang";;
esac
else
- error 1 "$tex exited with bad status, quitting."
+ tex_failed=true
fi
}
-# run_bibtex ()
-# -------------
-# Run bibtex on (or biber) current file.
-# - If its input (AUX) exists.
-# - If some citations are missing (LOG contains `Citation').
-# or the LOG complains of a missing .bbl
+
+# run_bibtex - Run bibtex (or biber) on current file
+# - if its input (AUX) exists,
+# - or if some citations are missing (LOG contains `Citation'),
+# - or if the LOG complains of a missing .bbl.
#
# Don't try to be too smart:
# 1. Running bibtex only if the bbl file exists and is older than
# the LaTeX file is wrong, since the document might include files
# that have changed.
#
-# 3. Because there can be several AUX (if there are \include's),
+# 2. Because there can be several AUX (if there are \include's),
# but a single LOG, looking for missing citations in LOG is
# easier, though we take the risk of matching false messages.
run_bibtex ()
@@ -1109,7 +970,7 @@ run_bibtex ()
&& grep '^\\bibdata' "$in_noext.aux") ) \
>&6 2>&1; \
then
- bibtex_aux=`generated_files_get "$in_noext" bibaux_file_p`
+ bibtex_aux=`filter_files bibaux_file_p`
for f in $bibtex_aux; do
run $bibtex "$f"
done
@@ -1122,16 +983,31 @@ run_bibtex ()
fi
}
-# run_index ()
-# ------------
-# Run texindex (or makeindex or texindy) on current index files. If
-# they already exist, and after running TeX a first time the index
-# files don't change, then there's no reason to run TeX again. But we
-# won't know that if the index files are out of date or nonexistent.
+
+# filter_file PREDICATE - Go through the list of files in xref_files_new
+# and use PREDICATE on each one to optionally print it or print other files
+# based on the filename.
+filter_files ()
+{
+ test -n "$xref_files_new" || return 0
+ echo "$xref_files_new" |
+ # Filter existing files matching the criterion.
+ #
+ while read file; do
+ $1 "$file"
+ done |
+ sort |
+ # Some files are opened several times, e.g., listings.sty's *.vrb.
+ uniq
+}
+
+# run_index - Run texindex (or makeindex or texindy) on current index
+# files. If they already exist, and after running TeX a first time the
+# index files don't change, then there's no reason to run TeX again.
+# But we won't know that if the index files are out of date or nonexistent.
run_index ()
{
- local index_files
- index_files=`generated_files_get $in_noext index_file_p`
+ index_files=`filter_files index_file_p`
test -n "$index_files" \
|| return 0
@@ -1139,8 +1015,6 @@ run_index ()
: ${TEXINDEX:=texindex}
: ${TEXINDY:=texindy}
- local index_file
- local index_noext
case $in_lang:$latex2html:`out_lang_tex` in
latex:tex4ht:html)
for index_file in $index_files
@@ -1168,16 +1042,14 @@ run_index ()
}
-# run_tex4ht ()
-# -------------
-# Run the last two phases of TeX4HT: tex4ht extracts the HTML from the
-# instrumented DVI file, and t4ht converts the figures and installs
-# the files when given -d.
+# run_tex4ht - Run the last two phases of TeX4HT: tex4ht extracts the
+# HTML from the instrumented DVI file, and t4ht converts the figures and
+# installs the files when given -d.
#
# Because knowing exactly which files are created is complex (in
# addition the names are not simple to compute), which makes it
-# difficult to install the output files in a second step, it is much
-# simpler to install directly the output files.
+# difficult to install the output files in a second step, we
+# tell t4ht to install the output files.
run_tex4ht ()
{
case $in_lang:$latex2html:`out_lang_tex` in
@@ -1191,8 +1063,7 @@ run_tex4ht ()
}
-# run_thumbpdf ()
-# ---------------
+# run_thumbpdf - Run thumbpdf.
run_thumbpdf ()
{
if test `out_lang_tex` = pdf \
@@ -1212,14 +1083,15 @@ run_thumbpdf ()
}
-# run_dvipdf FILE.dvi
-# -------------------
-# Convert FILE.dvi to FILE.pdf.
+# run_dvipdf FILE.dvi - Convert FILE.dvi to FILE.pdf.
run_dvipdf ()
{
# Find which dvi->pdf program is available.
- if test -z "$dvipdf"; then
- for i in "$DVIPDF" dvipdfmx dvipdfm dvipdf dvi2pdf dvitopdf; do
+ if test -n "$DVIPDF"; then
+ dvipdf=$DVIPDF # user envvar, use it without checking
+
+ elif test -z "$dvipdf"; then
+ for i in dvipdfmx dvipdfm dvipdf dvi2pdf dvitopdf; do
if findprog $i; then
dvipdf=$i
fi
@@ -1234,31 +1106,39 @@ run_dvipdf ()
fi
}
-# run_tex_suite ()
-# ----------------
-# Run the TeX tools until a fix point is reached.
+# run_tex_suite - Run the TeX tools until a stable point is reached.
run_tex_suite ()
{
+ make_tex_cmd
+
# Move to the working directory.
if $tidy; then
verbose "cd $work_build"
- cd "$work_build" || exit 1
+ cd_dir "$work_build" || exit 1
fi
# Count the number of cycles.
- local cycle=0
+ suite_cycle=0
+
+ # Start by checking the log files for what files were created last
+ # time. This will mean that if they don't change, we finish in 1 cycle.
+ xref_files_new=`generated_files_get`
+ xref_files_save
while :; do
- # check for probably LaTeX loop (e.g. varioref)
- if test $cycle -eq "$max_iters"; then
+ # check for (probably) LaTeX loop (e.g. varioref)
+ if test $suite_cycle -eq "$max_iters"; then
error 0 "Maximum of $max_iters cycles exceeded"
break
fi
# report progress
- cycle=`expr $cycle + 1`
- verbose "Cycle $cycle for $command_line_filename"
+ suite_cycle=`expr $suite_cycle + 1`
+ verbose "Cycle $suite_cycle for $command_line_filename"
+ tex_failed=false
+ run_core_conversion
+ xref_files_changed || break
xref_files_save
# We run bibtex first, because it's more likely for the indexes
@@ -1266,11 +1146,13 @@ run_tex_suite ()
# would be rare.
run_bibtex
run_index
- run_core_conversion
-
- xref_files_changed || break
done
+ if $tex_failed ; then
+ # TeX failed, and the xref files did not change.
+ error 1 "$tex exited with bad status, quitting."
+ fi
+
# If we were using thumbpdf and producing PDF, then run thumbpdf
# and TeX one last time.
run_thumbpdf
@@ -1295,53 +1177,11 @@ run_tex_suite ()
cd_orig
}
-## -------------------------------- ##
-## TeX processing auxiliary tools. ##
-## -------------------------------- ##
-
-# A sed script that preprocesses Texinfo sources in order to keep the
-# iftex sections only. We want to remove non-TeX sections, and comment
-# (with `@c _texi2dvi') TeX sections so that makeinfo does not try to
-# parse them. Nevertheless, while commenting TeX sections, don't
-# comment @macro/@end macro so that makeinfo does propagate them.
-# Unfortunately makeinfo --iftex --no-ifinfo doesn't work well enough
-# (yet), makeinfo can't parse the TeX commands, so work around with sed.
-#
-# We assume that `@c _texi2dvi' starting a line is not present in the
-# document.
+# TeX processing auxiliary tools.
#
-comment_iftex=\
-'/^@tex/,/^@end tex/{
- s/^/@c _texi2dvi/
-}
-/^@iftex/,/^@end iftex/{
- s/^/@c _texi2dvi/
- /^@c _texi2dvi@macro/,/^@c _texi2dvi@end macro/{
- s/^@c _texi2dvi//
- }
-}
-/^@ifnottex/,/^@end ifnottex/{
- s/^/@c (_texi2dvi)/
-}
-/^@ifinfo/,/^@end ifinfo/{
- /^@node/p
- /^@menu/,/^@end menu/p
- t
- s/^/@c (_texi2dvi)/
-}
-s/^@ifnotinfo/@c _texi2dvi@ifnotinfo/
-s/^@end ifnotinfo/@c _texi2dvi@end ifnotinfo/'
-
-# Uncommenting is simpler: remove any leading `@c texi2dvi'; repeated
-# copies can sneak in via macro invocations.
-uncomment_iftex='s/^@c _texi2dvi\(@c _texi2dvi\)*//'
-
-
-# run_makeinfo ()
-# ---------------
-# Expand macro commands in the original source file using Makeinfo.
-# Always use `end' footnote style, since the `separate' style
+# run_makeinfo - Expand macro commands in the original source file using
+# Makeinfo. Always use `end' footnote style, since the `separate' style
# generates different output (arguably this is a bug in -E). Discard
# main info output, the user asked to run TeX, not makeinfo.
run_makeinfo ()
@@ -1395,15 +1235,14 @@ to tex itself simply not working."
work_src=$workdir/src
ensure_dir "$work_src"
in_src=$work_src/$in_base
- local miincludes
- miincludes=`list_prefix includes -I`
+ run_mi_includes=`list_prefix includes -I`
verbose "Macro-expanding $command_line_filename to $in_src ..."
# eval $makeinfo because it might be defined as something complex
# (running missing) and then we end up with things like '"-I"',
# and "-I" (including the quotes) is not an option name. This
# happens with gettext 0.14.5, at least.
$SED "$comment_iftex" "$command_line_filename" \
- | eval $makeinfo --footnote-style=end -I "$in_dir" $miincludes \
+ | eval $makeinfo --footnote-style=end -I "$in_dir" $run_mi_includes \
-o /dev/null --macro-expand=- \
| $SED "$uncomment_iftex" >"$in_src"
# Continue only if everything succeeded.
@@ -1416,9 +1255,62 @@ to tex itself simply not working."
fi
}
-# insert_commands ()
-# ------------------
-# Used most commonly for @finalout, @smallbook, etc.
+# Unfortunately, makeinfo --iftex --no-ifinfo doesn't work well enough
+# in versions before 5.0, as makeinfo can't parse the TeX commands
+# inside @tex blocks, so work around with sed.
+#
+# This sed script preprocesses Texinfo sources in order to keep the
+# iftex sections only. We want to remove non-TeX sections, and comment
+# (with `@c _texi2dvi') TeX sections so that makeinfo does not try to
+# parse them. Nevertheless, while commenting TeX sections, don't
+# comment @macro/@end macro so that makeinfo does propagate them.
+# Similarly, preserve the @top node to avoid makeinfo complaining about
+# it being missed. Comment it out after preprocessing, so that it does
+# not appear in the generated document.
+#
+# We assume that `@c _texi2dvi' or `@c (_texi2dvi)' starting a line is
+# not present in the document. Additionally, conditionally defined
+# macros inside the @top node may end up with the wrong value, although
+# this is unlikely in practice.
+#
+comment_iftex=\
+'/^@tex/,/^@end tex/{
+ s/^/@c _texi2dvi/
+}
+/^@iftex/,/^@end iftex/{
+ s/^/@c _texi2dvi/
+ /^@c _texi2dvi@macro/,/^@c _texi2dvi@end macro/{
+ s/^@c _texi2dvi//
+ }
+}
+/^@ifnottex/,/^@end ifnottex/{
+ s/^/@c (_texi2dvi)/
+ /^@c (_texi2dvi)@node Top/,/^@c (_texi2dvi)@end ifnottex/ {
+ /^@c (_texi2dvi)@end ifnottex/b
+ s/^@c (_texi2dvi)//
+ }
+}
+/^@ifinfo/,/^@end ifinfo/{
+ /^@node/p
+ /^@menu/,/^@end menu/p
+ t
+ s/^/@c (_texi2dvi)/
+}
+s/^@ifnotinfo/@c _texi2dvi@ifnotinfo/
+s/^@end ifnotinfo/@c _texi2dvi@end ifnotinfo/'
+
+# Uncomment @iftex blocks by removing any leading `@c texi2dvi' (repeated
+# copies can sneak in via macro invocations). Likewise, comment out
+# the @top node inside a @ifnottex block.
+uncomment_iftex=\
+'s/^@c _texi2dvi\(@c _texi2dvi\)*//
+/^@c (_texi2dvi)@ifnottex/,/^@c (_texi2dvi)@end ifnottex/{
+ s/^/@c (_texi2dvi)/
+}'
+
+
+# insert_commands - Insert $textra commands at the beginning of the file.
+# Recommended to be used for @finalout, @smallbook, etc.
insert_commands ()
{
if test -n "$textra"; then
@@ -1427,10 +1319,15 @@ insert_commands ()
in_xtr=$work_xtr/$in_base
ensure_dir "$work_xtr"
verbose "Inserting extra commands: $textra"
- local textra_cmd
case $in_lang in
latex) textra_cmd=1i;;
- texinfo) textra_cmd='/^@setfilename/a';;
+ texinfo)
+ textra_cmd='/^\\input texinfo/a'
+ # insert after @setfilename line if present
+ if head -n 10 $in_input | grep '^@setfilename' ; then
+ textra_cmd='/^@setfilename/a'
+ fi
+ ;;
*) error 1 "internal error, unknown language: $in_lang";;
esac
$SED "$textra_cmd\\
@@ -1453,10 +1350,9 @@ $textra" "$in_input" >"$in_xtr"
esac
}
-# compute_language FILENAME
-# -------------------------
-# Return the short string describing the language in which FILENAME
-# is written: `texinfo' or `latex'.
+
+# compute_language FILENAME - Return the short string for the language
+# in which FILENAME is written: `texinfo' or `latex'.
compute_language ()
{
# If the user explicitly specified the language, use that.
@@ -1477,9 +1373,7 @@ compute_language ()
}
-# run_hevea (MODE)
-# ----------------
-# Convert to HTML/INFO/TEXT.
+# run_hevea (MODE) - Convert to HTML/INFO/TEXT.
#
# Don't pass `-noiso' to hevea: it's useless in HTML since anyway the
# charset is set to latin1, and troublesome in other modes since
@@ -1490,27 +1384,27 @@ compute_language ()
# to handle images some day.
run_hevea ()
{
- local hevea="${HEVEA:-hevea}"
- local run_hevea="$hevea"
+ run_hevea_name="${HEVEA:-hevea}"
+ run_hevea_cmd="$run_hevea_name"
case $1 in
html) ;;
- text|info) run_hevea="$run_hevea -$1";;
- *) error 1 "run_hevea: invalid argument: $1";;
+ text|info) run_hevea_cmd="$run_hevea_cmd -$1";;
+ *) error 1 "run_hevea_cmd: invalid argument: $1";;
esac
# Compiling to the tmp directory enables to preserve a previous
# successful compilation.
- run_hevea="$run_hevea -fix -O -o '$out_base'"
- run_hevea="$run_hevea `list_prefix includes -I` -I '$orig_pwd' "
- run_hevea="$run_hevea '$in_input'"
+ run_hevea_cmd="$run_hevea_cmd -fix -O -o '$out_base'"
+ run_hevea_cmd="$run_hevea_cmd `list_prefix includes -I` -I '$orig_pwd' "
+ run_hevea_cmd="$run_hevea_cmd '$rel$in_input'"
if $debug; then
- run_hevea="$run_hevea -v -v"
+ run_hevea_cmd="$run_hevea_cmd -v -v"
fi
- verbose "running $run_hevea"
- if eval "$run_hevea" >&5; then
+ verbose "running $run_hevea_cmd"
+ if eval "$run_hevea_cmd" >&5; then
# hevea leaves trailing white spaces, this is annoying.
case $1 in text|info)
perl -pi -e 's/[ \t]+$//g' "$out_base"*;;
@@ -1521,14 +1415,12 @@ run_hevea ()
move_to_dest "$out_base"*;;
esac
else
- error 1 "$hevea exited with bad status, quitting."
+ error 1 "$run_hevea_name exited with bad status, quitting."
fi
}
-# run_core_conversion ()
-# ----------------------
-# Run the TeX (or HeVeA).
+# run_core_conversion - Run TeX (or HeVeA).
run_core_conversion ()
{
case $in_lang:$latex2html:`out_lang_tex` in
@@ -1542,23 +1434,22 @@ run_core_conversion ()
}
-# compile ()
-# ----------
-# Run the full compilation chain, from pre-processing to installation
-# of the output at its expected location.
+# compile - Run the full compilation chain, from pre-processing to
+# installation of the output at its expected location.
compile ()
{
- # Source file might include additional sources.
- # We want `.:$orig_pwd' before anything else. (We'll add `.:' later
- # after all other directories have been turned into absolute paths.)
- # `.' goes first to ensure that any old .aux, .cps,
- # etc. files in ${directory} don't get used in preference to fresher
- # files in `.'. Include orig_pwd in case we are in clean build mode, where
- # we have cd'd to a temp directory.
+ # Set include path for tools:
+ # . Include current directory in case there are files there already, so
+ # we don't have more TeX runs than necessary. orig_pwd is used in case
+ # we are in clean build mode, where we have cd'd to a temp directory.
+ # . Include directory containing file, in case there are other
+ # files @include'd.
+ # . Keep a final path_sep to get the default (system) TeX
+ # directories included.
+ # . If we have any includes, put those at the end.
+
common="$orig_pwd$path_sep$in_dir$path_sep"
#
- # If we have any includes, put those at the end.
- # Keep a final path_sep to get the default (system) TeX directories included.
txincludes=`list_infix includes $path_sep`
test -n "$txincludes" && common="$common$txincludes$path_sep"
#
@@ -1566,7 +1457,7 @@ compile ()
eval val="\$common\$${var}_orig"
# Convert relative paths to absolute paths, so we can run in another
# directory (e.g., in clean build mode, or during the macro-support
- # detection). ".:" is added here.
+ # detection).
val=`absolute_filenames "$val"`
eval $var="\"$val\""
export $var
@@ -1579,13 +1470,137 @@ compile ()
# --command, --texinfo
insert_commands
- # Run until a fix point is reached.
+ # Run until a fixed point is reached.
run_tex_suite
}
+# make_openout_test FLAGS EXTENSION
+# - Run TeX with an input file that performs an \openout. Pass FLAGS to TeX.
+#
+make_openout_test ()
+{
+ recorder_option_maybe="$1"
+ make_tex_cmd
+
+ ensure_dir "$workdir"/check_recorder
+ cd_dir "$workdir"/check_recorder
+
+ cat > openout.tex <<EOF
+\newwrite\ourwrite
+\immediate\openout\ourwrite dum.dum
+\bye
+EOF
+ # \bye doesn't work for LaTeX, but it will cause latex
+ # to exit with an input error.
+ tex_cmd="$tex_cmd '${escape}input' ./openout.tex"
+ # ./ in case . isn't in path
+ verbose "$0: running $tex_cmd ..."
+ rm -fr "openout.$2"
+ (eval "$tex_cmd" >/dev/null 2>&1)
+}
+
+# Check tex supports -recorder option
+check_recorder_support ()
+{
+ verbose "Checking TeX recorder support..."
+ make_openout_test " -recorder" fls
+ if test -f openout.fls && grep '^OUTPUT dum.dum$' openout.fls > /dev/null
+ then
+ cd_orig
+ verbose "Checking TeX recorder support... yes"
+ return 0
+ else
+ cd_orig
+ verbose "Checking TeX recorder support... no"
+ return 1
+ fi
+}
+
+# Check tex supports \openout traces in log
+check_openout_in_log_support ()
+{
+ verbose "Checking TeX \openout in log support..."
+ make_openout_test "" log
+ if test -f openout.log \
+ && grep '^\\openout..\? *= *`\?dum\.dum'\''\?' openout.log >/dev/null
+ then
+ cd_orig
+ verbose "Checking TeX \openout in log support... yes"
+ return 0
+ else
+ cd_orig
+ verbose "Checking TeX \openout in log support... no"
+ return 1
+ fi
+}
+
+# Set that output auxiliary files are detected with the -recorder option,
+# which creates a file JOBNAME.fls which is a machine-readable listing of
+# files read and written during the job.
+set_aux_files_from_fls ()
+{
+ recorder_option_maybe=" -recorder"
+ generated_files_get_method=generated_files_get_from_fls
+}
+
+# Set that output auxiliary files are detected with searching for \openout
+# in the log file.
+set_aux_files_from_log ()
+{
+ recorder_option_maybe=''
+ generated_files_get_method=generated_files_get_from_log
+}
+
+# Decide whether output auxiliary files are detected with the -recorder
+# option, or by searching for \openout in the log file.
+decide_aux_files_method ()
+{
+ # Select output file detection method
+ # Valid values of TEXI2DVI_USE_RECORDER are:
+ # yes use the -recorder option, no checks.
+ # no scan for \openout in the log file, no checks.
+ # yesmaybe check whether -recorder option is supported, and if yes
+ # use it, otherwise check for tracing \openout in the
+ # log file is supported, and if yes use it, else it is an
+ # error.
+ # nomaybe same as `yesmaybe', except that the \openout trace in
+ # log file is checked first.
+ #
+ # The default behaviour is `nomaybe'.
+
+ test -n "$TEXI2DVI_USE_RECORDER" || TEXI2DVI_USE_RECORDER=nomaybe
+
+ case $TEXI2DVI_USE_RECORDER in
+ yes) set_aux_files_from_fls;;
+
+ no) set_aux_files_from_log;;
+
+ yesmaybe)
+ if check_recorder_support; then
+ set_aux_files_from_fls
+ elif check_openout_in_log_support; then
+ set_aux_files_from_log
+ else
+ error 1 "TeX neither supports -recorder nor outputs \\openout lines in its log file"
+ fi
+ ;;
+
+ nomaybe)
+ if check_openout_in_log_support; then
+ set_aux_files_from_log
+ elif check_recorder_support; then
+ set_aux_files_from_fls
+ else
+ error 1 "TeX neither supports -recorder nor outputs \\openout lines in its log file"
+ fi
+ ;;
+
+ *) error 1 "Invalid value of TEXI2DVI_USE_RECORDER environment variable : $TEXI2DVI_USE_RECORDER.";;
-# remove FILES
-# ------------
+ esac
+}
+
+# remove FILE...
remove ()
{
verbose "Removing" "$@"
@@ -1593,42 +1608,154 @@ remove ()
}
-# mostly_clean
-# ------------
-# Remove auxiliary files and directories. Changes the current directory.
+# all_files - Echo the names of all files generated, including those by
+# auxiliary tools like texindex.
+all_files ()
+{
+ echo $in_noext.log
+ echo $in_noext.fls
+ echo $xref_files_new
+ echo `sorted_index_files`
+}
+
+sorted_index_files ()
+{
+ filter_files sorted_index_filter
+}
+
+# Print the name of a generated file based on FILE if there is one.
+sorted_index_filter ()
+{
+ case $in_lang in
+ texinfo)
+ # texindex: texinfo.cp -> texinfo.cps
+ if test -n "`index_file_p $1`" ; then
+ echo $1s
+ fi
+ ;;
+ esac
+}
+
+
+# Not currently used - use with filter_files to add secondary files created by
+# bibtex
+bibtex_secondary_files ()
+{
+ case $in_lang in
+ latex)
+ if test -n "`aux_file_p $1`"; then
+ # bibtex: *.aux -> *.bbl and *.blg.
+ echo $1 | $SED 's/^\(.*\)\.aux$/\1.bbl/'
+ echo $1 | $SED 's/^\(.*\)\.aux$/\1.blg/'
+ fi
+ ;;
+ esac
+}
+
+# mostly_clean - Remove auxiliary files and directories. Changes back to
+# the original directory.
mostly_clean ()
{
cd_orig
set X "$t2ddir"
shift
$tidy || {
- local log="$work_build/$in_noext.log"
- set X ${1+"$@"} "$log" `generated_files_get "$work_build/$in_noext"`
+ set X ${1+"$@"} `all_files`
shift
}
remove ${1+"$@"}
}
-# cleanup ()
-# ----------
-# Remove what should be removed according to options.
+# cleanup - Remove what should be removed according to options.
# Called at the end of each compilation cycle, and at the end of
# the script. Changes the current directory.
cleanup ()
{
- case $build_mode in
- local) cd_orig; remove "$t2ddir";;
- clean) mostly_clean;;
- tidy) ;;
+ case $clean:$tidy in
+ true:true) mostly_clean ;; # build mode is "clean"
+ false:false) cd_orig; remove "$t2ddir";; # build mode is "local"
esac
}
+# input_file_name_decode - Decode COMMAND_LINE_FILENAME, and set the
+# following shell variables:
+#
+# - COMMAND_LINE_FILENAME
+# The filename given on the commmand line, but cleaned of TeX commands.
+# - IN_DIR
+# The directory containing the input file.
+# - IN_BASE
+# The input file base name (no directory part).
+# - IN_NOEXT
+# The input file name with neither file extensions nor directory part.
+# - IN_INPUT
+# The path to the input file for passing as a command-line argument
+# to TeX. Defaults to COMMAND_LINE_FILENAME, but might change if the
+# input is preprocessed.
+input_file_name_decode ()
+{
+ case $command_line_filename in
+ *\\input{*}*)
+ # Let AUC-TeX error parser deal with line numbers.
+ line_error=false
+ command_line_filename=`\
+ expr X"$command_line_filename" : X'.*input{\([^}]*\)}'`
+ ;;
+ esac
+
+ # If the COMMAND_LINE_FILENAME is not absolute (e.g., --debug.tex),
+ # prepend `./' in order to avoid that the tools take it as an option.
+ echo "$command_line_filename" | LC_ALL=C $EGREP '^(/|[A-Za-z]:/)' >&6 \
+ || command_line_filename="./$command_line_filename"
+
+ # See if the file exists. If it doesn't we're in trouble since, even
+ # though the user may be able to reenter a valid filename at the tex
+ # prompt (assuming they're attending the terminal), this script won't
+ # be able to find the right xref files and so forth.
+ test -r "$command_line_filename" \
+ || error 1 "cannot read $command_line_filename, skipping."
+
+ # Get the name of the current directory.
+ in_dir=`func_dirname "$command_line_filename"`
+
+ # Strip directory part but leave extension.
+ in_base=`basename "$command_line_filename"`
+ # Strip extension.
+ in_noext=`noext "$in_base"`
+
+ # The normalized file name to compile. Must always point to the
+ # file to actually compile (in case of recoding, macro-expansion etc.).
+ in_input=$in_dir/$in_base
+
+
+ # Compute the output file name.
+ if test x"$oname" != x; then
+ out_name=$oname
+ else
+ out_name=$in_noext.`out_lang_ext`
+ fi
+ out_dir=`func_dirname "$out_name"`
+ out_dir_abs=`absolute "$out_dir"`
+ out_base=`basename "$out_name"`
+ out_noext=`noext "$out_base"`
+}
+
+
+#
+#################### Main program starts ##########################
-## ---------------------- ##
-## Command line parsing. ##
-## ---------------------- ##
+# Initialize more variables.
+#
+# Save TEXINPUTS so we can construct a new TEXINPUTS path for each file.
+# Likewise for bibtex and makeindex.
+tex_envvars="BIBINPUTS BSTINPUTS DVIPSHEADERS INDEXSTYLE MFINPUTS MPINPUTS \
+TEXINPUTS TFMFONTS"
+for var in $tex_envvars; do
+ eval ${var}_orig=\$$var
+ export $var
+done
# Push a token among the arguments that will be used to notice when we
# ended options/arguments parsing.
@@ -1640,10 +1767,7 @@ cleanup ()
arg_sep="$$--$$"
set dummy ${1+"$@"} "$arg_sep"; shift
-#
-# Parse command line arguments.
while test x"$1" != x"$arg_sep"; do
-
# Handle --option=value by splitting apart and putting back on argv.
case "$1" in
--*=*)
@@ -1656,9 +1780,8 @@ while test x"$1" != x"$arg_sep"; do
case "$1" in
-@ ) escape=@;;
- -~ ) catcode_special=false;;
- # Silently and without documentation accept -b and --b[atch] as synonyms.
- -b | --batch) batch=true;;
+ -~ ) verbose "Option -~ is obsolete: texi2dvi ignores it.";;
+ -b | --batch) ;; # Obsolete
--build) shift; build_mode=$1;;
--build-dir) shift; build_dir=$1; build_mode=tidy;;
-c | --clean) build_mode=clean;;
@@ -1681,7 +1804,7 @@ while test x"$1" != x"$arg_sep"; do
out_lang_set `echo "x$1" | $SED 's/^x--//'`;;
-p) out_lang_set pdf;;
- -q | -s | --quiet | --silent) quiet=true; batch=true;;
+ -q | -s | --quiet | --silent) quiet=true;;
--src-specials) src_specials=--src-specials;;
--shell-escape) shell_escape=--shell-escape;;
--tex4ht) latex2html=tex4ht;;
@@ -1733,9 +1856,15 @@ esac
# We can't do much without tex.
+# End up with the TEX and PDFTEX variables set to what we are going to use.
#
-if findprog ${TEX:-tex}; then :; else cat <<EOM
-You don't have a working TeX binary (${TEX:-tex}) installed anywhere in
+# If $TEX is set to a directory, don't use it.
+test -n "$TEX" && test -d "$TEX" && unset TEX
+
+# But otherwise, use $TEX if it is set.
+if test -z "$TEX"; then
+ if findprog tex; then :; else cat <<EOM >&2
+You don't have a working TeX binary (tex) installed anywhere in
your PATH, and texi2dvi cannot proceed without one. If you want to use
this script, you'll need to install TeX (if you don't have it) or change
your PATH or TEX environment variable (if you do). See the --help
@@ -1744,20 +1873,19 @@ output for more details.
For information about obtaining TeX, please see http://tug.org/texlive,
or do a web search for TeX and your operating system or distro.
EOM
- exit 1
-fi
-
+ exit 1
+ fi
-# We want to use etex (or pdftex) if they are available, and the user
-# didn't explicitly specify. We don't check for elatex and pdfelatex
-# because (as of 2003), the LaTeX team has asked that new distributions
-# use etex by default anyway.
-#
-# End up with the TEX and PDFTEX variables set to what we are going to use.
-if test -z "$TEX"; then
+ # We want to use etex (or pdftex) if they are available, and the user
+ # didn't explicitly specify. We don't check for elatex and pdfelatex
+ # because (as of 2003), the LaTeX team has asked that new distributions
+ # use etex by default anyway.
+ #
if findprog etex; then TEX=etex; else TEX=tex; fi
fi
-#
+
+# For many years, the pdftex binary has included the e-tex extensions,
+# but for those people with ancient TeX distributions ...
if test -z "$PDFTEX"; then
if findprog pdfetex; then PDFTEX=pdfetex; else PDFTEX=pdftex; fi
fi
@@ -1767,12 +1895,9 @@ fi
# 0 standard input
# 1 standard output (--verbose messages)
# 2 standard error
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
# 5 tools output (turned off by --quiet)
# 6 tracing/debugging (set -x output, etc.)
-
# Main tools' output (TeX, etc.) that TeX users are used to seeing.
#
# If quiet, discard, else redirect to the message flow.
@@ -1797,87 +1922,8 @@ else
exec 6>/dev/null
fi
-#
-
-# input_file_name_decode
-# ----------------------
-# Decode COMMAND_LINE_FILENAME, and compute:
-# - COMMAND_LINE_FILENAME clean of TeX commands
-# - IN_DIR
-# The directory to the input file, possibly absolute if needed.
-# - IN_DIR_ABS
-# The absolute directory of the input file.
-# - IN_BASE
-# The input file base name (no directory part).
-# - IN_NOEXT
-# The input file name without extensions (nor directory part).
-# - IN_INPUT
-# Defaults to COMMAND_LINE_FILENAME, but might change if the
-# input is preprocessed. With directory, possibly absolute.
-input_file_name_decode ()
-{
- # See if we are run from within AUC-Tex, in which case we are
- # passed `\input{FOO.tex}' or even `\nonstopmode\input{FOO.tex}'.
- case $command_line_filename in
- *\\nonstopmode*)
- batch=true;;
- esac
- case $command_line_filename in
- *\\input{*}*)
- # Let AUC-TeX error parser deal with line numbers.
- line_error=false
- command_line_filename=`\
- expr X"$command_line_filename" : X'.*input{\([^}]*\)}'`
- ;;
- esac
-
- # If the COMMAND_LINE_FILENAME is not absolute (e.g., --debug.tex),
- # prepend `./' in order to avoid that the tools take it as an option.
- echo "$command_line_filename" | LC_ALL=C $EGREP '^(/|[A-Za-z]:/)' >&6 \
- || command_line_filename="./$command_line_filename"
-
- # See if the file exists. If it doesn't we're in trouble since, even
- # though the user may be able to reenter a valid filename at the tex
- # prompt (assuming they're attending the terminal), this script won't
- # be able to find the right xref files and so forth.
- test -r "$command_line_filename" \
- || error 1 "cannot read $command_line_filename, skipping."
-
- # Get the name of the current directory.
- in_dir=`func_dirname "$command_line_filename"`
- in_dir_abs=`absolute "$in_dir"`
- # In a clean build, we `cd', so get an absolute file name.
- if $tidy; then
- in_dir=$in_dir_abs
- fi
-
- # Strip directory part but leave extension.
- in_base=`basename "$command_line_filename"`
- # Strip extension.
- in_noext=`noext "$in_base"`
-
- # The normalized file name to compile. Must always point to the
- # file to actually compile (in case of recoding, macro-expansion etc.).
- in_input=$in_dir/$in_base
-
-
- # Compute the output file name.
- if test x"$oname" != x; then
- out_name=$oname
- else
- out_name=$in_noext.`out_lang_ext`
- fi
- out_dir=`func_dirname "$out_name"`
- out_dir_abs=`absolute "$out_dir"`
- out_base=`basename "$out_name"`
- out_noext=`noext "$out_base"`
-}
-
-
-## -------------- ##
-## TeXify files. ##
-## -------------- ##
+# Main program main loop - TeXify each file in turn.
for command_line_filename
do
verbose "Processing $command_line_filename ..."
@@ -1905,8 +1951,6 @@ do
ensure_dir "$build_dir" "$t2ddir"
- # We will change directory, better work with an absolute path...
- t2ddir=`absolute "$t2ddir"`
# Sometimes there are incompatibilities between auxiliary files for
# DVI and PDF. The contents can also change whether we work on PDF
# and/or DVI. So keep separate spaces for each.
@@ -1927,6 +1971,9 @@ do
# Make those directories.
ensure_dir "$work_build" "$work_bak"
+ # Decide how to find auxiliary files created by TeX.
+ decide_aux_files_method
+
case $action in
compile)
# Compile the document.
@@ -1935,6 +1982,7 @@ do
;;
mostly-clean)
+ xref_files_new=`generated_files_get`
mostly_clean
;;
esac
@@ -1942,3 +1990,7 @@ done
verbose "done."
exit 0 # exit successfully, not however we ended the loop.
+# Local Variables:
+# sh-basic-offset: 2
+# sh-indentation: 2
+# End:
diff --git a/doc/version.texi b/doc/version.texi
index f9c774c..9cb7069 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -4,7 +4,7 @@ Copyright (C) 1988-2019 Free Software Foundation, Inc.
@set EDITION 8.0
@set VERSION 8.0
-@set UPDATED 6 March 2019
-@set UPDATED-MONTH March 2019
+@set UPDATED 25 November 2019
+@set UPDATED-MONTH November 2019
-@set LASTCHANGE Wed Mar 6 09:51:02 EST 2019
+@set LASTCHANGE Mon Nov 25 10:53:13 EST 2019
diff --git a/funmap.c b/funmap.c
index aaf144d..0dab389 100644
--- a/funmap.c
+++ b/funmap.c
@@ -1,6 +1,6 @@
/* funmap.c -- attach names to functions. */
-/* Copyright (C) 1987-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2020 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -157,7 +157,7 @@ static const FUNMAP default_funmap[] = {
{ "vi-backward-bigword", rl_vi_bWord },
{ "vi-backward-word", rl_vi_bword },
{ "vi-bWord", rl_vi_bWord },
- { "vi-bword", rl_vi_bword },
+ { "vi-bword", rl_vi_bword }, /* BEWARE: name matching is case insensitive */
{ "vi-change-case", rl_vi_change_case },
{ "vi-change-char", rl_vi_change_char },
{ "vi-change-to", rl_vi_change_to },
@@ -171,13 +171,13 @@ static const FUNMAP default_funmap[] = {
{ "vi-end-bigword", rl_vi_eWord },
{ "vi-end-word", rl_vi_end_word },
{ "vi-eof-maybe", rl_vi_eof_maybe },
- { "vi-eword", rl_vi_eword },
+ { "vi-eword", rl_vi_eword }, /* BEWARE: name matching is case insensitive */
{ "vi-fWord", rl_vi_fWord },
{ "vi-fetch-history", rl_vi_fetch_history },
{ "vi-first-print", rl_vi_first_print },
{ "vi-forward-bigword", rl_vi_fWord },
{ "vi-forward-word", rl_vi_fword },
- { "vi-fword", rl_vi_fword },
+ { "vi-fword", rl_vi_fword }, /* BEWARE: name matching is case insensitive */
{ "vi-goto-mark", rl_vi_goto_mark },
{ "vi-insert-beg", rl_vi_insert_beg },
{ "vi-insertion-mode", rl_vi_insert_mode },
diff --git a/histexpand.c b/histexpand.c
index adcf5dc..b986dba 100644
--- a/histexpand.c
+++ b/histexpand.c
@@ -89,7 +89,7 @@ char history_expansion_char = '!';
char history_subst_char = '^';
/* During tokenization, if this character is seen as the first character
- of a word, then it, and all subsequent characters upto a newline are
+ of a word, then it, and all subsequent characters up to a newline are
ignored. For a Bourne shell, this should be '#'. Bash special cases
the interactive comment character to not be a comment delimiter. */
char history_comment_char = '\0';
@@ -180,7 +180,7 @@ get_history_event (const char *string, int *caller_index, int delimiting_quote)
}
/* Hack case of numeric line specification. */
- if (string[i] == '-')
+ if (string[i] == '-' && _rl_digit_p (string[i+1]))
{
sign = -1;
i++;
@@ -230,10 +230,12 @@ get_history_event (const char *string, int *caller_index, int delimiting_quote)
}
#endif /* HANDLE_MULTIBYTE */
- if ((!substring_okay && (whitespace (c) || c == ':' ||
- (history_event_delimiter_chars && member (c, history_event_delimiter_chars)) ||
- (history_search_delimiter_chars && member (c, history_search_delimiter_chars)) ||
- string[i] == delimiting_quote)) ||
+ if ((!substring_okay &&
+ (whitespace (c) || c == ':' ||
+ (i > local_index && history_event_delimiter_chars && c == '-') ||
+ (c != '-' && history_event_delimiter_chars && member (c, history_event_delimiter_chars)) ||
+ (history_search_delimiter_chars && member (c, history_search_delimiter_chars)) ||
+ string[i] == delimiting_quote)) ||
string[i] == '\n' ||
(substring_okay && string[i] == '?'))
break;
@@ -409,7 +411,10 @@ hist_error(char *s, int start, int current, int errtype)
}
temp = (char *)xmalloc (ll + elen + 3);
- strncpy (temp, s + start, ll);
+ if (s[start])
+ strncpy (temp, s + start, ll);
+ else
+ ll = 0;
temp[ll] = ':';
temp[ll + 1] = ' ';
strcpy (temp + ll + 2, emsg);
@@ -624,7 +629,7 @@ history_expand_internal (char *string, int start, int qc, int *end_index_ptr, ch
return an error state after adding this line to the
history. */
case 'p':
- print_only++;
+ print_only = 1;
break;
/* :t discards all but the last part of the pathname. */
@@ -1356,6 +1361,11 @@ get_history_word_specifier (char *spec, char *from, int *caller_index)
i++;
last = '$';
}
+ else if (spec[i] == '^')
+ {
+ i++;
+ last = 1;
+ }
#if 0
else if (!spec[i] || spec[i] == ':')
/* check against `:' because there could be a modifier separator */
diff --git a/histfile.c b/histfile.c
index dea8972..6e13b84 100644
--- a/histfile.c
+++ b/histfile.c
@@ -26,6 +26,8 @@
#define READLINE_LIBRARY
#if defined (__TANDEM)
+# define _XOPEN_SOURCE_EXTENDED 1
+# include <unistd.h>
# include <floss.h>
#endif
diff --git a/input.c b/input.c
index 0090e97..c34dabf 100644
--- a/input.c
+++ b/input.c
@@ -22,6 +22,8 @@
#define READLINE_LIBRARY
#if defined (__TANDEM)
+# define _XOPEN_SOURCE_EXTENDED 1
+# define _TANDEM_SOURCE 1
# include <floss.h>
#endif
diff --git a/isearch.c b/isearch.c
index 951fce5..c8f60a0 100644
--- a/isearch.c
+++ b/isearch.c
@@ -185,11 +185,13 @@ rl_display_search (char *search_string, int flags, int where)
strcpy (message + msglen, "i-search)`");
msglen += 10;
- if (search_string)
+ if (search_string && *search_string)
{
strcpy (message + msglen, search_string);
msglen += searchlen;
}
+ else
+ _rl_optimize_redisplay ();
strcpy (message + msglen, "': ");
@@ -294,6 +296,7 @@ _rl_isearch_fini (_rl_search_cxt *cxt)
and rl_get_next_history take care of it. */
_rl_fix_point (0);
+/* _rl_optimize_redisplay (); */
rl_clear_message ();
}
@@ -388,7 +391,12 @@ add_character:
/* Translate the keys we do something with to opcodes. */
if (c >= 0 && cxt->keymap[c].type == ISFUNC)
{
- f = cxt->keymap[c].function;
+ /* If we have a multibyte character, see if it's bound to something that
+ affects the search. */
+ if (cxt->mb[1])
+ f = rl_function_of_keyseq (cxt->mb, cxt->keymap, (int *)NULL);
+ else
+ f = cxt->keymap[c].function;
if (f == rl_reverse_search_history)
cxt->lastc = (cxt->sflags & SF_REVERSE) ? -1 : -2;
diff --git a/posixdir.h b/posixdir.h
index 0921c5d..af5be80 100644
--- a/posixdir.h
+++ b/posixdir.h
@@ -46,7 +46,7 @@
# define D_NAMLEN(d) ((d)->d_namlen)
#endif /* !HAVE_DIRENT_H */
-/* The bash code fairly consistenly uses d_fileno; make sure it's available */
+/* The bash code fairly consistently uses d_fileno; make sure it's available */
#if defined (HAVE_STRUCT_DIRENT_D_INO) && !defined (HAVE_STRUCT_DIRENT_D_FILENO)
# define d_fileno d_ino
#endif
diff --git a/posixstat.h b/posixstat.h
index 3eb7f29..b607786 100644
--- a/posixstat.h
+++ b/posixstat.h
@@ -1,7 +1,7 @@
/* posixstat.h -- Posix stat(2) definitions for systems that
don't have them. */
-/* Copyright (C) 1987,1991 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2019 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -132,6 +132,26 @@
# define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR)
# define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP)
# define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH)
+#else /* !S_IRWXU */
+ /* S_IRWXU is defined, but "group" and "other" bits might not be
+ (happens in certain versions of MinGW). */
+# if !defined (S_IRGRP)
+# define S_IRGRP (S_IREAD >> 3) /* read, group */
+# define S_IWGRP (S_IWRITE >> 3) /* write, group */
+# define S_IXGRP (S_IEXEC >> 3) /* execute, group */
+# endif /* !S_IRGRP */
+
+# if !defined (S_IROTH)
+# define S_IROTH (S_IREAD >> 6) /* read, other */
+# define S_IWOTH (S_IWRITE >> 6) /* write, other */
+# define S_IXOTH (S_IEXEC >> 6) /* execute, other */
+# endif /* !S_IROTH */
+# if !defined (S_IRWXG)
+# define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP)
+# endif
+# if !defined (S_IRWXO)
+# define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH)
+# endif
#endif /* !S_IRWXU */
/* These are non-standard, but are used in builtins.c$symbolic_umask() */
diff --git a/readline.c b/readline.c
index 0805fd4..1adc383 100644
--- a/readline.c
+++ b/readline.c
@@ -1,7 +1,7 @@
/* readline.c -- a general facility for reading lines of input
with emacs style editing and completion. */
-/* Copyright (C) 1987-2019 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2020 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -870,6 +870,8 @@ _rl_dispatch_subseq (register int key, Keymap map, int got_subseq)
_rl_prev_macro_key ();
else
_rl_unget_char (key);
+ if (rl_key_sequence_length > 0)
+ rl_executing_keyseq[--rl_key_sequence_length] = '\0';
return -2;
}
else if (got_subseq)
@@ -882,6 +884,8 @@ _rl_dispatch_subseq (register int key, Keymap map, int got_subseq)
_rl_prev_macro_key ();
else
_rl_unget_char (key);
+ if (rl_key_sequence_length > 0)
+ rl_executing_keyseq[--rl_key_sequence_length] = '\0';
return -1;
}
else
@@ -974,7 +978,11 @@ _rl_dispatch_subseq (register int key, Keymap map, int got_subseq)
_rl_pushed_input_available () == 0 &&
_rl_dispatching_keymap[ANYOTHERKEY].function &&
_rl_input_queued (_rl_keyseq_timeout*1000) == 0)
- return (_rl_subseq_result (-2, map, key, got_subseq));
+ {
+ if (rl_key_sequence_length > 0)
+ rl_executing_keyseq[--rl_key_sequence_length] = '\0';
+ return (_rl_subseq_result (-2, map, key, got_subseq));
+ }
newkey = _rl_subseq_getchar (key);
if (newkey < 0)
@@ -1065,6 +1073,8 @@ _rl_subseq_result (int r, Keymap map, int key, int got_subseq)
_rl_prev_macro_key ();
else
_rl_unget_char (key);
+ if (rl_key_sequence_length > 0)
+ rl_executing_keyseq[--rl_key_sequence_length] = '\0';
_rl_dispatching_keymap = map;
return -2;
}
@@ -1075,6 +1085,8 @@ _rl_subseq_result (int r, Keymap map, int key, int got_subseq)
_rl_prev_macro_key ();
else
_rl_unget_char (key);
+ if (rl_key_sequence_length > 0)
+ rl_executing_keyseq[--rl_key_sequence_length] = '\0';
_rl_dispatching_keymap = map;
return -1;
}
diff --git a/rlmbutil.h b/rlmbutil.h
index 6fd03f6..4d3e907 100644
--- a/rlmbutil.h
+++ b/rlmbutil.h
@@ -28,7 +28,7 @@
/* check multibyte capability for I18N code */
/************************************************/
-/* For platforms which support the ISO C amendement 1 functionality we
+/* For platforms which support the ISO C amendment 1 functionality we
support user defined character classes. */
/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
#if defined (HAVE_WCTYPE_H) && defined (HAVE_WCHAR_H) && defined (HAVE_LOCALE_H)
diff --git a/rlprivate.h b/rlprivate.h
index 76631d7..1a99a5a 100644
--- a/rlprivate.h
+++ b/rlprivate.h
@@ -276,6 +276,7 @@ extern void _rl_erase_at_end_of_line PARAMS((int));
extern void _rl_clear_to_eol PARAMS((int));
extern void _rl_clear_screen PARAMS((void));
extern void _rl_update_final PARAMS((void));
+extern void _rl_optimize_redisplay PARAMS((void));
extern void _rl_redisplay_after_sigwinch PARAMS((void));
extern void _rl_clean_up_for_exit PARAMS((void));
extern void _rl_erase_entire_line PARAMS((void));
diff --git a/signals.c b/signals.c
index d738db4..055de2e 100644
--- a/signals.c
+++ b/signals.c
@@ -144,6 +144,8 @@ _rl_signal_handler (int sig)
#if defined (SIGWINCH)
if (sig == SIGWINCH)
{
+ RL_SETSTATE(RL_STATE_SIGHANDLER);
+
rl_resize_terminal ();
/* XXX - experimental for now */
/* Call a signal hook because though we called the original signal handler
@@ -151,6 +153,8 @@ _rl_signal_handler (int sig)
ourselves. */
if (rl_signal_event_hook)
(*rl_signal_event_hook) ();
+
+ RL_UNSETSTATE(RL_STATE_SIGHANDLER);
}
else
#endif
@@ -220,7 +224,7 @@ _rl_handle_signal (int sig)
sane without stopping on SIGTTOU if we have been placed into the
background. Even trying to get the current terminal pgrp with
tcgetpgrp() will generate SIGTTOU, so we don't bother. Don't bother
- doing this if we've been stopped on SIGTTOU; it's aready too late. */
+ doing this if we've been stopped on SIGTTOU; it's already too late. */
sigemptyset (&set);
sigaddset (&set, SIGTTOU);
sigprocmask (SIG_BLOCK, &set, (sigset_t *)NULL);
diff --git a/support/shlib-install b/support/shlib-install
index f4eea27..661355d 100755
--- a/support/shlib-install
+++ b/support/shlib-install
@@ -17,7 +17,7 @@ LDCONFIG=ldconfig
PROGNAME=`basename $0`
USAGE="$PROGNAME [-D] -O host_os [-V host_vendor] -d installation-dir [-b bin-dir] -i install-prog [-U] library"
-# process options
+# process options - should use getopts
while [ $# -gt 0 ]; do
case "$1" in
@@ -118,7 +118,7 @@ INSTALL_LINK2='${echo} cd $INSTALLDIR && ${echo} ${LN} $LIBNAME $LINK2'
# Create symlinks to the installed library. This section is incomplete.
#
case "$host_os-$host_vendor" in
-*linux*|freebsd*-gentoo)
+*linux*|freebsd*|dragonfly*)
# libname.so.M -> libname.so.M.N
${echo} ${RM} ${INSTALLDIR}/$LINK2
if [ -z "$uninstall" ]; then
@@ -154,38 +154,6 @@ solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|irix[56]*|sysv[45]*|dgux*|interix*)
fi
;;
-
-# FreeBSD 3.x and above can have either a.out or ELF shared libraries
-freebsd3*|freebsdaout*)
- if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
- # libname.so -> libname.so.M
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
- if [ -z "$uninstall" ]; then
- eval $INSTALL_LINK1
- fi
- else
- # libname.so.M -> libname.so.M.N
- ${echo} ${RM} ${INSTALLDIR}/$LINK2
- if [ -z "$uninstall" ]; then
- eval $INSTALL_LINK2
- fi
-
- # libname.so -> libname.so.M.N
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
- if [ -z "$uninstall" ]; then
- eval $INSTALL_LINK1
- fi
- fi
- ;;
-
-freebsd[4-9]*|freebsd1[0-9]*|freebsdelf*|dragonfly*)
- # libname.so -> libname.so.M
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
- if [ -z "$uninstall" ]; then
- eval $INSTALL_LINK1
- fi
- ;;
-
hpux1*)
# libname.sl -> libname.M
${echo} ${RM} ${INSTALLDIR}/$LINK1.sl
diff --git a/support/shobj-conf b/support/shobj-conf
index 95fa1ae..5a3f977 100644
--- a/support/shobj-conf
+++ b/support/shobj-conf
@@ -10,7 +10,7 @@
# Chet Ramey
# chet@po.cwru.edu
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2019 Free Software Foundation, Inc.
#
# This file is part of GNU Bash, the Bourne Again SHell.
#
@@ -65,7 +65,7 @@ while [ $# -gt 0 ]; do
done
case "${host_os}-${SHOBJ_CC}-${host_vendor}" in
-nsk-cc-tandem)
+nsk-cc-tandem|nsk-c99-tandem)
SHOBJ_CFLAGS=-Wglobalized
case `uname -m` in
NSR*)
@@ -123,7 +123,7 @@ sunos5*|solaris2*)
;;
# All versions of Linux (including Gentoo/FreeBSD) or the semi-mythical GNU Hurd.
-linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
+linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*|dragonfly*)
SHOBJ_CFLAGS=-fPIC
SHOBJ_LD='${CC}'
SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
@@ -132,44 +132,6 @@ linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
;;
-freebsd2*)
- SHOBJ_CFLAGS=-fpic
- SHOBJ_LD=ld
- SHOBJ_LDFLAGS='-x -Bshareable'
-
- SHLIB_XLDFLAGS='-R$(libdir)'
- SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
- ;;
-
-# FreeBSD-3.x ELF
-freebsd3*|freebsdaout*)
- SHOBJ_CFLAGS=-fPIC
- SHOBJ_LD='${CC}'
-
- if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
- SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
-
- SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
- SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
- else
- SHOBJ_LDFLAGS='-shared'
-
- SHLIB_XLDFLAGS='-R$(libdir)'
- SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
- fi
- ;;
-
-# FreeBSD-4.x and later have only ELF
-freebsd[4-9]*|freebsd1[0-9]*|freebsdelf*|dragonfly*)
- SHOBJ_CFLAGS=-fPIC
- SHOBJ_LD='${CC}'
-
- SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
- SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
-
- SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
- ;;
-
# Darwin/MacOS X
darwin*)
# Common definitions for all darwin/mac os x versions