]> git.ipfire.org Git - thirdparty/readline.git/commitdiff
Readline-5.2 import
authorChet Ramey <chet.ramey@case.edu>
Thu, 24 Nov 2011 00:16:49 +0000 (19:16 -0500)
committerChet Ramey <chet.ramey@case.edu>
Thu, 24 Nov 2011 00:16:49 +0000 (19:16 -0500)
61 files changed:
CHANGELOG
CHANGES
INSTALL
NEWS
README
aclocal.m4
bind.c
callback.c
complete.c
config.h.in
configure
configure.in
display.c
doc/history.dvi
doc/history.html
doc/history.info
doc/history.ps
doc/history.texi
doc/hstech.texi
doc/hsuser.texi
doc/readline.0
doc/readline.3
doc/readline.dvi
doc/readline.html
doc/readline.info
doc/readline.ps
doc/readline_3.ps
doc/rlman.texi
doc/rltech.texi
doc/rluser.texi
doc/rluserman.dvi
doc/rluserman.html
doc/rluserman.info
doc/rluserman.ps
doc/rluserman.texi
doc/version.texi
examples/excallback.c
examples/rlfe/Makefile.in
histexpand.c
histfile.c
history.c
input.c
isearch.c
kill.c
macro.c
misc.c
readline.c
readline.h
rlconf.h
rlmbutil.h
rlprivate.h
rltty.c
search.c
signals.c
support/shlib-install
support/shobj-conf
terminal.c
text.c
tilde.c
undo.c
vi_mode.c

index b6499c3b71628fae0d3221a5d5fec2345bbfead8..c64d959376a8752e8f70239dc34c112008d37c4a 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -918,3 +918,43 @@ configure.in
        - changed release status to `release'
 
 [readline-5.1 frozen]
+
+                                  12/9
+                                  ----
+[readline-5.1 released]
+
+                                  12/14
+                                  -----
+examples/rlfe/Makefile.in
+       - add @LIBS@ to LIBS assignment to pick up extra libraries from
+         configure
+
+                                1/3/2006
+                                --------
+support/shlib-install
+       - Install shared libraries with execute bit set on Linux
+
+                                   6/9
+                                   ---
+[readline-5.2-alpha frozen]
+
+                                  6/26
+                                  ----
+configure.in
+       - set CROSS_COMPILE to the empty string by default, so we don't inherit
+         a random value from the environment
+
+                                   7/8
+                                   ---
+[readline-5.2-alpha released]
+
+
+[readline-5.2-beta released]
+
+                                  9/12
+                                  ----
+config.h.in
+        - add defines for wcscoll, iswctype, iswupper, iswlower, towupper,
+          towlower functions
+        - replace define for wctomb with one for wcrtomb
+        - add defines for wchar_t, wint_t, wctype_t types
diff --git a/CHANGES b/CHANGES
index 1ba0c1256df4092d38967548edcebf69854a4fca..87e01e14091d08bc7b2f6ddcb47b317821a6b98d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,77 @@
+This document details the changes between this version, readline-5.2,
+and the previous version, readline-5.1.
+
+1.  Changes to Readline
+
+a.  Fixed a problem that caused segmentation faults when using readline in
+    callback mode and typing consecutive DEL characters on an empty line.
+
+b.  Fixed several redisplay problems with multibyte characters, all having to
+    do with the different code paths and variable meanings between single-byte
+    and multibyte character redisplay.
+
+c.  Fixed a problem with key sequence translation when presented with the
+    sequence \M-\C-x.
+
+d.  Fixed a problem that prevented the `a' command in vi mode from being
+    undone and redone properly.
+
+e.  Fixed a problem that prevented empty inserts in vi mode from being undone
+    properly.
+
+f.  Fixed a problem that caused readline to initialize with an incorrect idea
+    of whether or not the terminal can autowrap.
+
+g.  Fixed output of key bindings (like bash `bind -p') to honor the setting of
+    convert-meta and use \e where appropriate.
+
+h.  Changed the default filename completion function to call the filename
+    dequoting function if the directory completion hook isn't set.  This means
+    that any directory completion hooks need to dequote the directory name,
+    since application-specific hooks need to know how the word was quoted,
+    even if no other changes are made.
+
+i.  Fixed a bug with creating the prompt for a non-interactive search string
+    when there are non-printing characters in the primary prompt.
+
+j.  Fixed a bug that caused prompts with invisible characters to be redrawn
+    multiple times in a multibyte locale.
+
+k.  Fixed a bug that could cause the key sequence scanning code to return the
+    wrong function.
+
+l.  Fixed a problem with the callback interface that caused it to fail when
+    using multi-character keyboard macros.
+
+m.  Fixed a bug that could cause a core dump when an edited history entry was
+    re-executed under certain conditions.
+
+n.  Fixed a bug that caused readline to reference freed memory when attmpting
+    to display a portion of the prompt.
+
+o.  Fixed a bug with prompt redisplay in a multi-byte locale to avoid redrawing
+    the prompt and input line multiple times.
+
+p.  Fixed history expansion to not be confused by here-string redirection.
+
+q.  Readline no longer treats read errors by converting them to newlines, as
+    it does with EOF.  This caused partial lines to be returned from readline().
+
+r.  Fixed a redisplay bug that occurred in multibyte-capable locales when the
+    prompt was one character longer than the screen width.
+
+2.  New Features in Readline
+
+a.  Calling applications can now set the keyboard timeout to 0, allowing
+    poll-like behavior.
+
+b.  The value of SYS_INPUTRC (configurable at compilation time) is now used as
+    the default last-ditch startup file.
+
+c.  The history file reading functions now allow windows-like \r\n line
+    terminators.
+
+-------------------------------------------------------------------------------
 This document details the changes between this version, readline-5.1,
 and the previous version, readline-5.0.
 
diff --git a/INSTALL b/INSTALL
index 1a73c779000dbd9ea33b1e3690e75a8d4001b5ea..f360b9e7907a710184694caaa5301566f456121f 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,7 @@
 Basic Installation
 ==================
 
-These are installation instructions for Readline-5.1.
+These are installation instructions for Readline-5.2.
 
 The simplest way to compile readline is:
 
diff --git a/NEWS b/NEWS
index c5e67dc793fac87ddc3d62bbad08dca516879702..96711a00264cc482286799f02923b69a30a1469b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,32 +1,13 @@
-This is a terse description of the new features added to readline-5.1 since
-the release of readline-5.0.
+This is a terse description of the new features added to readline-5.2 since
+the release of readline-5.1.
 
 1.  New Features in Readline
 
-a.  The key sequence sent by the keypad `delete' key is now automatically   
-    bound to delete-char.
+a.  Calling applications can now set the keyboard timeout to 0, allowing
+    poll-like behavior.
 
-b.  A negative argument to menu-complete now cycles backward through the
-    completion list.
+b.  The value of SYS_INPUTRC (configurable at compilation time) is now used as
+    the default last-ditch startup file.
 
-c.  A new bindable readline variable:  bind-tty-special-chars.  If non-zero,
-    readline will bind the terminal special characters to their readline
-    equivalents when it's called (on by default).
-
-d.  New bindable command: vi-rubout.  Saves deleted text for possible  
-    reinsertion, as with any vi-mode `text modification' command; `X' is bound
-    to this in vi command mode.
-
-e.  If the rl_completion_query_items is set to a value < 0, readline never
-    asks the user whether or not to view the possible completions.
-
-f.  New application-callable auxiliary function, rl_variable_value, returns
-    a string corresponding to a readline variable's value.
-
-g.  When parsing inputrc files and variable binding commands, the parser
-    strips trailing whitespace from values assigned to boolean variables
-    before checking them.
-
-h.  A new external application-controllable variable that allows the LINES
-    and COLUMNS environment variables to set the window size regardless of
-    what the kernel returns.
+c.  The history file reading functions now allow windows-like \r\n line
+    terminators.
diff --git a/README b/README
index 8dd09cc5373c85abae7c21911d2cda6520ae7063..8da99626aa1afbb40b382f2791acbce306073c1e 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
 Introduction
 ============
 
-This is the Gnu Readline library, version 5.1.
+This is the Gnu Readline library, version 5.2.
 
 The Readline library provides a set of functions for use by applications
 that allow users to edit command lines as they are typed in.  Both
@@ -183,4 +183,4 @@ list (mirrored to the Usenet newsgroup gnu.bash.bug) often contains
 Readline bug reports and fixes. 
 
 Chet Ramey
-chet@po.cwru.edu
+chet.ramey@case.edu
index 8a700845d5fadec758428e07603346ac4093781e..eda151c03008be778dc7ad3b20c6d0a3737cc570 100644 (file)
@@ -933,7 +933,7 @@ AC_DEFINE(HAVE_STRUCT_STAT_ST_BLOCKS)
 fi
 ])
 
-AC_DEFUN(BASH_CHECK_LIB_TERMCAP,
+AC_DEFUN([BASH_CHECK_LIB_TERMCAP],
 [
 if test "X$bash_cv_termcap_lib" = "X"; then
 _bash_needmsg=yes
@@ -1540,20 +1540,24 @@ fi
 AC_DEFUN(BASH_CHECK_DEV_FD,
 [AC_MSG_CHECKING(whether /dev/fd is available)
 AC_CACHE_VAL(bash_cv_dev_fd,
-[if test -d /dev/fd  && test -r /dev/fd/0 < /dev/null; then
+[bash_cv_dev_fd=""
+if test -d /dev/fd  && test -r /dev/fd/0 < /dev/null; then
 # check for systems like FreeBSD 5 that only provide /dev/fd/[012]
-   exec 3<&0
+   exec 3</dev/null
    if test -r /dev/fd/3; then
      bash_cv_dev_fd=standard
    else
      bash_cv_dev_fd=absent
    fi
    exec 3<&-
- elif test -d /proc/self/fd && test -r /proc/self/fd/0 < /dev/null; then
-   bash_cv_dev_fd=whacky
- else
-   bash_cv_dev_fd=absent
- fi
+fi
+if test -z "$bash_cv_dev_fd" ; then 
+  if test -d /proc/self/fd && test -r /proc/self/fd/0 < /dev/null; then
+    bash_cv_dev_fd=whacky
+  else
+    bash_cv_dev_fd=absent
+  fi
+fi
 ])
 AC_MSG_RESULT($bash_cv_dev_fd)
 if test $bash_cv_dev_fd = "standard"; then
@@ -1667,6 +1671,8 @@ fi
 dnl
 dnl check for availability of multibyte characters and functions
 dnl
+dnl geez, I wish I didn't have to check for all of this stuff separately
+dnl
 AC_DEFUN(BASH_CHECK_MULTIBYTE,
 [
 AC_CHECK_HEADERS(wctype.h)
@@ -1674,23 +1680,22 @@ AC_CHECK_HEADERS(wchar.h)
 AC_CHECK_HEADERS(langinfo.h)
 
 AC_CHECK_FUNC(mbsrtowcs, AC_DEFINE(HAVE_MBSRTOWCS))
-AC_CHECK_FUNC(mbrtowc, AC_DEFINE(HAVE_MBRTOWC))
 AC_CHECK_FUNC(mbrlen, AC_DEFINE(HAVE_MBRLEN))
-AC_CHECK_FUNC(wctomb, AC_DEFINE(HAVE_WCTOMB))
-AC_CHECK_FUNC(wcwidth, AC_DEFINE(HAVE_WCWIDTH))
+
+AC_CHECK_FUNC(wcrtomb, AC_DEFINE(HAVE_WCRTOMB))
+AC_CHECK_FUNC(wcscoll, AC_DEFINE(HAVE_WCSCOLL))
 AC_CHECK_FUNC(wcsdup, AC_DEFINE(HAVE_WCSDUP))
+AC_CHECK_FUNC(wcwidth, AC_DEFINE(HAVE_WCWIDTH))
+AC_CHECK_FUNC(wctype, AC_DEFINE(HAVE_WCTYPE))
 
-AC_CACHE_CHECK([for mbstate_t], bash_cv_have_mbstate_t,
-[AC_TRY_COMPILE([
-#include <wchar.h>], [
-  mbstate_t ps;
-  mbstate_t *psp;
-  psp = (mbstate_t *)0;
-], bash_cv_have_mbstate_t=yes,  bash_cv_have_mbstate_t=no)])
-if test $bash_cv_have_mbstate_t = yes; then
+dnl checks for both mbrtowc and mbstate_t
+AC_FUNC_MBRTOWC
+if test $ac_cv_func_mbrtowc = yes; then
        AC_DEFINE(HAVE_MBSTATE_T)
 fi
 
+AC_CHECK_FUNCS(iswlower iswupper towlower towupper iswctype)
+
 AC_CACHE_CHECK([for nl_langinfo and CODESET], bash_cv_langinfo_codeset,
 [AC_TRY_LINK(
 [#include <langinfo.h>],
@@ -1700,6 +1705,43 @@ if test $bash_cv_langinfo_codeset = yes; then
   AC_DEFINE(HAVE_LANGINFO_CODESET)
 fi
 
+dnl check for wchar_t in <wchar.h>
+AC_CACHE_CHECK([for wchar_t in wchar.h], bash_cv_type_wchar_t,
+[AC_TRY_COMPILE(
+[#include <wchar.h>
+],
+[
+        wchar_t foo;
+        foo = 0;
+], bash_cv_type_wchar_t=yes, bash_cv_type_wchar_t=no)])
+if test $bash_cv_type_wchar_t = yes; then
+        AC_DEFINE(HAVE_WCHAR_T, 1, [systems should define this type here])
+fi
+
+dnl check for wctype_t in <wctype.h>
+AC_CACHE_CHECK([for wctype_t in wctype.h], bash_cv_type_wctype_t,
+[AC_TRY_COMPILE(
+[#include <wctype.h>],
+[
+        wctype_t foo;
+        foo = 0;
+], bash_cv_type_wctype_t=yes, bash_cv_type_wctype_t=no)])
+if test $bash_cv_type_wctype_t = yes; then
+        AC_DEFINE(HAVE_WCTYPE_T, 1, [systems should define this type here])
+fi
+
+dnl check for wint_t in <wctype.h>
+AC_CACHE_CHECK([for wint_t in wctype.h], bash_cv_type_wint_t,
+[AC_TRY_COMPILE(
+[#include <wctype.h>],
+[
+        wint_t foo;
+        foo = 0;
+], bash_cv_type_wint_t=yes, bash_cv_type_wint_t=no)])
+if test $bash_cv_type_wint_t = yes; then
+        AC_DEFINE(HAVE_WINT_T, 1, [systems should define this type here])
+fi
+
 ])
 
 dnl need: prefix exec_prefix libdir includedir CC TERMCAP_LIB
@@ -1707,7 +1749,7 @@ dnl require:
 dnl    AC_PROG_CC
 dnl    BASH_CHECK_LIB_TERMCAP
 
-AC_DEFUN(RL_LIB_READLINE_VERSION,
+AC_DEFUN([RL_LIB_READLINE_VERSION],
 [
 AC_REQUIRE([BASH_CHECK_LIB_TERMCAP])
 
diff --git a/bind.c b/bind.c
index 7559d32f6b36ce40615e8c634584735d95599d26..08c906bfcc3371682f4bd91945b858d7770e5af1 100644 (file)
--- 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-2005 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2006 Free Software Foundation, Inc.
 
    This file is part of the GNU Readline Library, a library for
    reading lines of text with interactive input and history editing.
@@ -370,7 +370,10 @@ rl_generic_bind (type, keyseq, data, map)
 
       ic = uc;
       if (ic < 0 || ic >= KEYMAP_SIZE)
-       return -1;
+        {
+          free (keys);
+         return -1;
+        }
 
       if (META_CHAR (ic) && _rl_convert_meta_chars_to_ascii)
        {
@@ -462,12 +465,21 @@ rl_translate_keyseq (seq, array, len)
                }
              else if (c == 'M')
                {
-                 i++;
-                 /* XXX - should obey convert-meta setting? */
+                 i++;          /* seq[i] == '-' */
+                 /* XXX - obey convert-meta setting */
                  if (_rl_convert_meta_chars_to_ascii && _rl_keymap[ESC].type == ISKMAP)
                    array[l++] = ESC;   /* ESC is meta-prefix */
+                 else if (seq[i+1] == '\\' && seq[i+2] == 'C' && seq[i+3] == '-')
+                   {
+                     i += 4;
+                     temp = (seq[i] == '?') ? RUBOUT : CTRL (_rl_to_upper (seq[i]));
+                     array[l++] = META (temp);
+                   }
                  else
                    {
+                     /* This doesn't yet handle things like \M-\a, which may
+                        or may not have any reasonable meaning.  You're
+                        probably better off using straight octal or hex. */
                      i++;
                      array[l++] = META (seq[i]);
                    }
@@ -565,6 +577,11 @@ rl_untranslate_keyseq (seq)
       kseq[i++] = '-';
       c = UNMETA (c);
     }
+  else if (c == ESC)
+    {
+      kseq[i++] = '\\';
+      c = 'e';
+    }
   else if (CTRL_CHAR (c))
     {
       kseq[i++] = '\\';
@@ -613,7 +630,12 @@ _rl_untranslate_macro_value (seq)
          *r++ = '-';
          c = UNMETA (c);
        }
-      else if (CTRL_CHAR (c) && c != ESC)
+      else if (c == ESC)
+       {
+         *r++ = '\\';
+         c = 'e';
+       }
+      else if (CTRL_CHAR (c))
        {
          *r++ = '\\';
          *r++ = 'C';
@@ -672,7 +694,7 @@ rl_function_of_keyseq (keyseq, map, type)
 {
   register int i;
 
-  if (!map)
+  if (map == 0)
     map = _rl_keymap;
 
   for (i = 0; keyseq && keyseq[i]; i++)
@@ -681,25 +703,27 @@ rl_function_of_keyseq (keyseq, map, type)
 
       if (META_CHAR (ic) && _rl_convert_meta_chars_to_ascii)
        {
-         if (map[ESC].type != ISKMAP)
+         if (map[ESC].type == ISKMAP)
+           {
+             map = FUNCTION_TO_KEYMAP (map, ESC);
+             ic = UNMETA (ic);
+           }
+         /* XXX - should we just return NULL here, since this obviously
+            doesn't match? */
+         else
            {
              if (type)
                *type = map[ESC].type;
 
              return (map[ESC].function);
            }
-         else
-           {
-             map = FUNCTION_TO_KEYMAP (map, ESC);
-             ic = UNMETA (ic);
-           }
        }
 
       if (map[ic].type == ISKMAP)
        {
          /* If this is the last key in the key sequence, return the
             map. */
-         if (!keyseq[i + 1])
+         if (keyseq[i + 1] == '\0')
            {
              if (type)
                *type = ISKMAP;
@@ -709,7 +733,12 @@ rl_function_of_keyseq (keyseq, map, type)
          else
            map = FUNCTION_TO_KEYMAP (map, ic);
        }
-      else
+      /* If we're not at the end of the key sequence, and the current key
+        is bound to something other than a keymap, then the entire key
+        sequence is not bound. */
+      else if (map[ic].type != ISKMAP && keyseq[i+1])
+       return ((rl_command_func_t *)NULL);
+      else     /* map[ic].type != ISKMAP && keyseq[i+1] == 0 */
        {
          if (type)
            *type = map[ic].type;
@@ -791,6 +820,7 @@ rl_re_read_init_file (count, ignore)
      1. the filename used for the previous call
      2. the value of the shell variable `INPUTRC'
      3. ~/.inputrc
+     4. /etc/inputrc
    If the file existed and could be opened and read, 0 is returned,
    otherwise errno is returned. */
 int
@@ -799,17 +829,18 @@ rl_read_init_file (filename)
 {
   /* Default the filename. */
   if (filename == 0)
+    filename = last_readline_init_file;
+  if (filename == 0)
+    filename = sh_get_env_value ("INPUTRC");
+  if (filename == 0 || *filename == 0)
     {
-      filename = last_readline_init_file;
-      if (filename == 0)
-        filename = sh_get_env_value ("INPUTRC");
-      if (filename == 0)
-       filename = DEFAULT_INPUTRC;
+      filename = DEFAULT_INPUTRC;
+      /* Try to read DEFAULT_INPUTRC; fall back to SYS_INPUTRC on failure */
+      if (_rl_read_init_file (filename, 0) == 0)
+       return 0;
+      filename = SYS_INPUTRC;
     }
 
-  if (*filename == 0)
-    filename = DEFAULT_INPUTRC;
-
 #if defined (__MSDOS__)
   if (_rl_read_init_file (filename, 0) == 0)
     return 0;
@@ -1506,8 +1537,6 @@ rl_variable_value (name)
      const char *name;
 {
   register int i;
-  int  v;
-  char *ret;
 
   /* Check for simple variables first. */
   i = find_boolean_var (name);
@@ -1948,12 +1977,16 @@ rl_invoking_keyseqs_in_map (function, map)
                char *keyname = (char *)xmalloc (6 + strlen (seqs[i]));
 
                if (key == ESC)
-#if 0
-                 sprintf (keyname, "\\e");
-#else
-               /* XXX - experimental */
-                 sprintf (keyname, "\\M-");
-#endif
+                 {
+                   /* If ESC is the meta prefix and we're converting chars
+                      with the eighth bit set to ESC-prefixed sequences, then
+                      we can use \M-.  Otherwise we need to use the sequence
+                      for ESC. */
+                   if (_rl_convert_meta_chars_to_ascii && map[ESC].type == ISKMAP)
+                     sprintf (keyname, "\\M-");
+                   else
+                     sprintf (keyname, "\\e");
+                 }
                else if (CTRL_CHAR (key))
                  sprintf (keyname, "\\C-%c", _rl_to_lower (UNCTRL (key)));
                else if (key == RUBOUT)
@@ -2170,7 +2203,6 @@ _rl_get_string_variable_value (name)
 {
   static char numbuf[32];
   char *ret;
-  int n;
 
   if (_rl_stricmp (name, "bell-style") == 0)
     {
index 9120969ca238f627341c8a1bbfeaead7af744048..ada04d8593bfe2f0762c2b009e7b3fd86aac9383 100644 (file)
@@ -43,6 +43,7 @@
 #include "rldefs.h"
 #include "readline.h"
 #include "rlprivate.h"
+#include "xmalloc.h"
 
 /* Private data for callback registration functions.  See comments in
    rl_callback_read_char for more details. */
@@ -124,73 +125,73 @@ rl_callback_read_char ()
       return;
     }
 
-  if  (RL_ISSTATE (RL_STATE_ISEARCH))
+  do
     {
-      eof = _rl_isearch_callback (_rl_iscxt);
-      if (eof == 0 && (RL_ISSTATE (RL_STATE_ISEARCH) == 0) && RL_ISSTATE (RL_STATE_INPUTPENDING))
-       rl_callback_read_char ();
-
-      return;
-    }
-  else if  (RL_ISSTATE (RL_STATE_NSEARCH))
-    {
-      eof = _rl_nsearch_callback (_rl_nscxt);
-      return;
-    }
-  else if (RL_ISSTATE (RL_STATE_NUMERICARG))
-    {
-      eof = _rl_arg_callback (_rl_argcxt);
-      if (eof == 0 && (RL_ISSTATE (RL_STATE_NUMERICARG) == 0) && RL_ISSTATE (RL_STATE_INPUTPENDING))
-       rl_callback_read_char ();
-      /* XXX - this should handle _rl_last_command_was_kill better */
-      else if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0)
-       _rl_internal_char_cleanup ();
+      if  (RL_ISSTATE (RL_STATE_ISEARCH))
+       {
+         eof = _rl_isearch_callback (_rl_iscxt);
+         if (eof == 0 && (RL_ISSTATE (RL_STATE_ISEARCH) == 0) && RL_ISSTATE (RL_STATE_INPUTPENDING))
+           rl_callback_read_char ();
 
-      return;
-    }
-  else if (RL_ISSTATE (RL_STATE_MULTIKEY))
-    {
-      eof = _rl_dispatch_callback (_rl_kscxt); /* For now */
-      while ((eof == -1 || eof == -2) && RL_ISSTATE (RL_STATE_MULTIKEY) && _rl_kscxt && (_rl_kscxt->flags & KSEQ_DISPATCHED))
-       eof = _rl_dispatch_callback (_rl_kscxt);
-      if (RL_ISSTATE (RL_STATE_MULTIKEY) == 0)
+         return;
+       }
+      else if  (RL_ISSTATE (RL_STATE_NSEARCH))
        {
-         _rl_internal_char_cleanup ();
-         _rl_want_redisplay = 1;
+         eof = _rl_nsearch_callback (_rl_nscxt);
+         return;
        }
-    }
-  else if (_rl_callback_func)
-    {
-      /* This allows functions that simply need to read an additional character
-        (like quoted-insert) to register a function to be called when input is
-        available.  _rl_callback_data is simply a pointer to a struct that has
-        the argument count originally passed to the registering function and
-        space for any additional parameters.  */
-      eof = (*_rl_callback_func) (_rl_callback_data);
-      /* If the function `deregisters' itself, make sure the data is cleaned
-        up. */
-      if (_rl_callback_func == 0)
+      else if (RL_ISSTATE (RL_STATE_NUMERICARG))
+       {
+         eof = _rl_arg_callback (_rl_argcxt);
+         if (eof == 0 && (RL_ISSTATE (RL_STATE_NUMERICARG) == 0) && RL_ISSTATE (RL_STATE_INPUTPENDING))
+           rl_callback_read_char ();
+         /* XXX - this should handle _rl_last_command_was_kill better */
+         else if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0)
+           _rl_internal_char_cleanup ();
+
+         return;
+       }
+      else if (RL_ISSTATE (RL_STATE_MULTIKEY))
        {
-         if (_rl_callback_data)        
+         eof = _rl_dispatch_callback (_rl_kscxt);      /* For now */
+         while ((eof == -1 || eof == -2) && RL_ISSTATE (RL_STATE_MULTIKEY) && _rl_kscxt && (_rl_kscxt->flags & KSEQ_DISPATCHED))
+           eof = _rl_dispatch_callback (_rl_kscxt);
+         if (RL_ISSTATE (RL_STATE_MULTIKEY) == 0)
            {
-             _rl_callback_data_dispose (_rl_callback_data);
-             _rl_callback_data = 0;
+             _rl_internal_char_cleanup ();
+             _rl_want_redisplay = 1;
            }
-         _rl_internal_char_cleanup ();
        }
-    }
-  else
-    eof = readline_internal_char ();
+      else if (_rl_callback_func)
+       {
+         /* This allows functions that simply need to read an additional
+            character (like quoted-insert) to register a function to be
+            called when input is available.  _rl_callback_data is simply a
+            pointer to a struct that has the argument count originally
+            passed to the registering function and space for any additional
+            parameters.  */
+         eof = (*_rl_callback_func) (_rl_callback_data);
+         /* If the function `deregisters' itself, make sure the data is
+            cleaned up. */
+         if (_rl_callback_func == 0)
+           {
+             if (_rl_callback_data)    
+               {
+                 _rl_callback_data_dispose (_rl_callback_data);
+                 _rl_callback_data = 0;
+               }
+             _rl_internal_char_cleanup ();
+           }
+       }
+      else
+       eof = readline_internal_char ();
 
-  if (rl_done == 0 && _rl_want_redisplay)
-    {
-      (*rl_redisplay_function) ();
-      _rl_want_redisplay = 0;
-    }
+      if (rl_done == 0 && _rl_want_redisplay)
+       {
+         (*rl_redisplay_function) ();
+         _rl_want_redisplay = 0;
+       }
 
-  /* We loop in case some function has pushed input back with rl_execute_next. */
-  for (;;)
-    {
       if (rl_done)
        {
          line = readline_internal_teardown (eof);
@@ -212,11 +213,8 @@ rl_callback_read_char ()
          if (in_handler == 0 && rl_linefunc)
            _rl_callback_newline ();
        }
-      if (rl_pending_input || _rl_pushed_input_available () || RL_ISSTATE (RL_STATE_MACROINPUT))
-       eof = readline_internal_char ();
-      else
-       break;
     }
+  while (rl_pending_input || _rl_pushed_input_available () || RL_ISSTATE (RL_STATE_MACROINPUT));
 }
 
 /* Remove the handler, and make sure the terminal is in its normal state. */
index d93c15ae55d2602bdc75fa9360d378830cfeb636..73f834a68a79a2fe0d47087de3c06dd7e5fab282 100644 (file)
@@ -950,7 +950,7 @@ gen_completion_matches (text, start, end, our_func, found_quote, quote_char)
      rl_compentry_func_t *our_func;
      int found_quote, quote_char;
 {
-  char **matches, *temp;
+  char **matches;
 
   rl_completion_found_quote = found_quote;
   rl_completion_quote_character = quote_char;
@@ -969,21 +969,9 @@ gen_completion_matches (text, start, end, our_func, found_quote, quote_char)
        }
     }
 
-  /* Beware -- we're stripping the quotes here.  Do this only if we know
-     we are doing filename completion and the application has defined a
-     filename dequoting function. */
-  temp = (char *)NULL;
-
-  if (found_quote && our_func == rl_filename_completion_function &&
-      rl_filename_dequoting_function)
-    {
-      /* delete single and double quotes */
-      temp = (*rl_filename_dequoting_function) (text, quote_char);
-      text = temp;     /* not freeing text is not a memory leak */
-    }
+  /* XXX -- filename dequoting moved into rl_filename_completion_function */
 
   matches = rl_completion_matches (text, our_func);
-  FREE (temp);
   return matches;  
 }
 
@@ -1116,7 +1104,8 @@ compute_lcd_of_matches (match_list, matches, text)
 #if defined (HANDLE_MULTIBYTE)
            if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
              {
-               mbstate_t ps_back = ps1;
+               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)
@@ -1974,13 +1963,30 @@ rl_filename_completion_function (text, state)
       if (rl_directory_rewrite_hook)
        (*rl_directory_rewrite_hook) (&dirname);
 
+      /* The directory completion hook should perform any necessary
+        dequoting. */
       if (rl_directory_completion_hook && (*rl_directory_completion_hook) (&dirname))
        {
          free (users_dirname);
          users_dirname = savestring (dirname);
        }
-
+      else if (rl_completion_found_quote && rl_filename_dequoting_function)
+       {
+         /* delete single and double quotes */
+         temp = (*rl_filename_dequoting_function) (users_dirname, rl_completion_quote_character);
+         free (users_dirname);
+         users_dirname = temp;
+       }
       directory = opendir (dirname);
+
+      /* Now dequote a non-null filename. */
+      if (filename && *filename && rl_completion_found_quote && rl_filename_dequoting_function)
+       {
+         /* delete single and double quotes */
+         temp = (*rl_filename_dequoting_function) (filename, rl_completion_quote_character);
+         free (filename);
+         filename = temp;
+       }
       filename_len = strlen (filename);
 
       rl_filename_completion_desired = 1;
index b4aae982a7b39cbeddd421a6850c2732445578cd..03178a442aa44098812367ba340822795444f270 100644 (file)
 /* Define if you have the isascii function. */
 #undef HAVE_ISASCII
 
+/* Define if you have the iswctype function.  */
+#undef HAVE_ISWCTYPE
+
+/* Define if you have the iswlower function.  */
+#undef HAVE_ISWLOWER
+
+/* Define if you have the iswupper function.  */
+#undef HAVE_ISWUPPER
+
 /* Define if you have the isxdigit function. */
 #undef HAVE_ISXDIGIT
 
 /* Define if you have the tcgetattr function.  */
 #undef HAVE_TCGETATTR
 
+/* Define if you have the towlower function.  */
+#undef HAVE_TOWLOWER
+
+/* Define if you have the towupper function.  */
+#undef HAVE_TOWUPPER
+
 /* Define if you have the vsnprintf function.  */
 #undef HAVE_VSNPRINTF
 
-/* Define if you have the wctomb function.  */
-#undef HAVE_WCTOMB 
+/* Define if you have the wcrtomb function.  */
+#undef HAVE_WCRTOMB 
+
+/* Define if you have the wcscoll function.  */
+#undef HAVE_WCSCOLL
+
+/* Define if you have the wctype function.  */
+#undef HAVE_WCTYPE
 
 /* Define if you have the wcwidth function.  */
 #undef HAVE_WCWIDTH
 /* Define if you have the <wchar.h> header file.  */
 #undef HAVE_WCHAR_H
 
-/* Define if you have the <varargs.h> header file.  */
+/* Define if you have the <wctype.h> header file.  */
 #undef HAVE_WCTYPE_H
 
 #undef HAVE_MBSTATE_T
 
+/* Define if you have wchar_t in <wctype.h>. */
+#undef HAVE_WCHAR_T 
+
+/* Define if you have wctype_t in <wctype.h>. */
+#undef HAVE_WCTYPE_T
+
+/* Define if you have wint_t in <wctype.h>. */  
+#undef HAVE_WINT_T  
+
 /* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
 #undef HAVE_LANGINFO_CODESET
 
index 17a9eeb10a46ec2a242701eee228f237d844dd94..5706839e5b16ef6979e6309bebaf0d0c6987c236 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #! /bin/sh
-# From configure.in for Readline 5.1, version 2.58.
+# From configure.in for Readline 5.2, version 2.61.
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for readline 5.1-beta1.
+# Generated by GNU Autoconf 2.59 for readline 5.2.
 #
 # Report bugs to <bug-readline@gnu.org>.
 #
@@ -270,8 +270,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='readline'
 PACKAGE_TARNAME='readline'
-PACKAGE_VERSION='5.1-beta1'
-PACKAGE_STRING='readline 5.1-beta1'
+PACKAGE_VERSION='5.2'
+PACKAGE_STRING='readline 5.2'
 PACKAGE_BUGREPORT='bug-readline@gnu.org'
 
 ac_unique_file="readline.h"
@@ -781,7 +781,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures readline 5.1-beta1 to adapt to many kinds of systems.
+\`configure' configures readline 5.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -842,7 +842,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of readline 5.1-beta1:";;
+     short | recursive ) echo "Configuration of readline 5.2:";;
    esac
   cat <<\_ACEOF
 
@@ -968,7 +968,7 @@ fi
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-readline configure 5.1-beta1
+readline configure 5.2
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -982,7 +982,7 @@ cat >&5 <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by readline $as_me 5.1-beta1, which was
+It was created by readline $as_me 5.2, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1350,7 +1350,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
           ac_config_headers="$ac_config_headers config.h"
 
 
-LIBVERSION=5.1
+LIBVERSION=5.2
 
 # Make sure we can run config.sub.
 $ac_config_sub sun4 >/dev/null 2>&1 ||
@@ -1462,6 +1462,7 @@ fi
 
 
 
+CROSS_COMPILE=
 if test "x$cross_compiling" = "xyes"; then
     case "${host}" in
     *-cygwin*)
@@ -7403,9 +7404,9 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for mbrtowc" >&5
-echo $ECHO_N "checking for mbrtowc... $ECHO_C" >&6
-if test "${ac_cv_func_mbrtowc+set}" = set; then
+echo "$as_me:$LINENO: checking for mbrlen" >&5
+echo $ECHO_N "checking for mbrlen... $ECHO_C" >&6
+if test "${ac_cv_func_mbrlen+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -7414,12 +7415,12 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-/* Define mbrtowc to an innocuous variant, in case <limits.h> declares mbrtowc.
+/* Define mbrlen to an innocuous variant, in case <limits.h> declares mbrlen.
    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define mbrtowc innocuous_mbrtowc
+#define mbrlen innocuous_mbrlen
 
 /* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char mbrtowc (); below.
+    which can conflict with char mbrlen (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
 
@@ -7429,7 +7430,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 # include <assert.h>
 #endif
 
-#undef mbrtowc
+#undef mbrlen
 
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -7438,14 +7439,14 @@ extern "C"
 #endif
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
-char mbrtowc ();
+char mbrlen ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_mbrtowc) || defined (__stub___mbrtowc)
+#if defined (__stub_mbrlen) || defined (__stub___mbrlen)
 choke me
 #else
-char (*f) () = mbrtowc;
+char (*f) () = mbrlen;
 #endif
 #ifdef __cplusplus
 }
@@ -7454,7 +7455,7 @@ char (*f) () = mbrtowc;
 int
 main ()
 {
-return f != mbrtowc;
+return f != mbrlen;
   ;
   return 0;
 }
@@ -7481,28 +7482,29 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_func_mbrtowc=yes
+  ac_cv_func_mbrlen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_mbrtowc=no
+ac_cv_func_mbrlen=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_mbrtowc" >&5
-echo "${ECHO_T}$ac_cv_func_mbrtowc" >&6
-if test $ac_cv_func_mbrtowc = yes; then
+echo "$as_me:$LINENO: result: $ac_cv_func_mbrlen" >&5
+echo "${ECHO_T}$ac_cv_func_mbrlen" >&6
+if test $ac_cv_func_mbrlen = yes; then
   cat >>confdefs.h <<\_ACEOF
-#define HAVE_MBRTOWC 1
+#define HAVE_MBRLEN 1
 _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for mbrlen" >&5
-echo $ECHO_N "checking for mbrlen... $ECHO_C" >&6
-if test "${ac_cv_func_mbrlen+set}" = set; then
+
+echo "$as_me:$LINENO: checking for wcrtomb" >&5
+echo $ECHO_N "checking for wcrtomb... $ECHO_C" >&6
+if test "${ac_cv_func_wcrtomb+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -7511,12 +7513,12 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-/* Define mbrlen to an innocuous variant, in case <limits.h> declares mbrlen.
+/* Define wcrtomb to an innocuous variant, in case <limits.h> declares wcrtomb.
    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define mbrlen innocuous_mbrlen
+#define wcrtomb innocuous_wcrtomb
 
 /* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char mbrlen (); below.
+    which can conflict with char wcrtomb (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
 
@@ -7526,7 +7528,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 # include <assert.h>
 #endif
 
-#undef mbrlen
+#undef wcrtomb
 
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -7535,14 +7537,14 @@ extern "C"
 #endif
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
-char mbrlen ();
+char wcrtomb ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_mbrlen) || defined (__stub___mbrlen)
+#if defined (__stub_wcrtomb) || defined (__stub___wcrtomb)
 choke me
 #else
-char (*f) () = mbrlen;
+char (*f) () = wcrtomb;
 #endif
 #ifdef __cplusplus
 }
@@ -7551,7 +7553,7 @@ char (*f) () = mbrlen;
 int
 main ()
 {
-return f != mbrlen;
+return f != wcrtomb;
   ;
   return 0;
 }
@@ -7578,28 +7580,125 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_func_mbrlen=yes
+  ac_cv_func_wcrtomb=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_mbrlen=no
+ac_cv_func_wcrtomb=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_mbrlen" >&5
-echo "${ECHO_T}$ac_cv_func_mbrlen" >&6
-if test $ac_cv_func_mbrlen = yes; then
+echo "$as_me:$LINENO: result: $ac_cv_func_wcrtomb" >&5
+echo "${ECHO_T}$ac_cv_func_wcrtomb" >&6
+if test $ac_cv_func_wcrtomb = yes; then
   cat >>confdefs.h <<\_ACEOF
-#define HAVE_MBRLEN 1
+#define HAVE_WCRTOMB 1
+_ACEOF
+
+fi
+
+echo "$as_me:$LINENO: checking for wcscoll" >&5
+echo $ECHO_N "checking for wcscoll... $ECHO_C" >&6
+if test "${ac_cv_func_wcscoll+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define wcscoll to an innocuous variant, in case <limits.h> declares wcscoll.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define wcscoll innocuous_wcscoll
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char wcscoll (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef wcscoll
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char wcscoll ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_wcscoll) || defined (__stub___wcscoll)
+choke me
+#else
+char (*f) () = wcscoll;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != wcscoll;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_wcscoll=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_wcscoll=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_wcscoll" >&5
+echo "${ECHO_T}$ac_cv_func_wcscoll" >&6
+if test $ac_cv_func_wcscoll = yes; then
+  cat >>confdefs.h <<\_ACEOF
+#define HAVE_WCSCOLL 1
 _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for wctomb" >&5
-echo $ECHO_N "checking for wctomb... $ECHO_C" >&6
-if test "${ac_cv_func_wctomb+set}" = set; then
+echo "$as_me:$LINENO: checking for wcsdup" >&5
+echo $ECHO_N "checking for wcsdup... $ECHO_C" >&6
+if test "${ac_cv_func_wcsdup+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -7608,12 +7707,12 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-/* Define wctomb to an innocuous variant, in case <limits.h> declares wctomb.
+/* Define wcsdup to an innocuous variant, in case <limits.h> declares wcsdup.
    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define wctomb innocuous_wctomb
+#define wcsdup innocuous_wcsdup
 
 /* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char wctomb (); below.
+    which can conflict with char wcsdup (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
 
@@ -7623,7 +7722,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 # include <assert.h>
 #endif
 
-#undef wctomb
+#undef wcsdup
 
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -7632,14 +7731,14 @@ extern "C"
 #endif
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
-char wctomb ();
+char wcsdup ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_wctomb) || defined (__stub___wctomb)
+#if defined (__stub_wcsdup) || defined (__stub___wcsdup)
 choke me
 #else
-char (*f) () = wctomb;
+char (*f) () = wcsdup;
 #endif
 #ifdef __cplusplus
 }
@@ -7648,7 +7747,7 @@ char (*f) () = wctomb;
 int
 main ()
 {
-return f != wctomb;
+return f != wcsdup;
   ;
   return 0;
 }
@@ -7675,21 +7774,21 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_func_wctomb=yes
+  ac_cv_func_wcsdup=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_wctomb=no
+ac_cv_func_wcsdup=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_wctomb" >&5
-echo "${ECHO_T}$ac_cv_func_wctomb" >&6
-if test $ac_cv_func_wctomb = yes; then
+echo "$as_me:$LINENO: result: $ac_cv_func_wcsdup" >&5
+echo "${ECHO_T}$ac_cv_func_wcsdup" >&6
+if test $ac_cv_func_wcsdup = yes; then
   cat >>confdefs.h <<\_ACEOF
-#define HAVE_WCTOMB 1
+#define HAVE_WCSDUP 1
 _ACEOF
 
 fi
@@ -7791,9 +7890,9 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for wcsdup" >&5
-echo $ECHO_N "checking for wcsdup... $ECHO_C" >&6
-if test "${ac_cv_func_wcsdup+set}" = set; then
+echo "$as_me:$LINENO: checking for wctype" >&5
+echo $ECHO_N "checking for wctype... $ECHO_C" >&6
+if test "${ac_cv_func_wctype+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -7802,12 +7901,12 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-/* Define wcsdup to an innocuous variant, in case <limits.h> declares wcsdup.
+/* Define wctype to an innocuous variant, in case <limits.h> declares wctype.
    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define wcsdup innocuous_wcsdup
+#define wctype innocuous_wctype
 
 /* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char wcsdup (); below.
+    which can conflict with char wctype (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
 
@@ -7817,7 +7916,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 # include <assert.h>
 #endif
 
-#undef wcsdup
+#undef wctype
 
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -7826,14 +7925,14 @@ extern "C"
 #endif
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
-char wcsdup ();
+char wctype ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_wcsdup) || defined (__stub___wcsdup)
+#if defined (__stub_wctype) || defined (__stub___wctype)
 choke me
 #else
-char (*f) () = wcsdup;
+char (*f) () = wctype;
 #endif
 #ifdef __cplusplus
 }
@@ -7842,7 +7941,7 @@ char (*f) () = wcsdup;
 int
 main ()
 {
-return f != wcsdup;
+return f != wctype;
   ;
   return 0;
 }
@@ -7869,29 +7968,30 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_func_wcsdup=yes
+  ac_cv_func_wctype=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_wcsdup=no
+ac_cv_func_wctype=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_wcsdup" >&5
-echo "${ECHO_T}$ac_cv_func_wcsdup" >&6
-if test $ac_cv_func_wcsdup = yes; then
+echo "$as_me:$LINENO: result: $ac_cv_func_wctype" >&5
+echo "${ECHO_T}$ac_cv_func_wctype" >&6
+if test $ac_cv_func_wctype = yes; then
   cat >>confdefs.h <<\_ACEOF
-#define HAVE_WCSDUP 1
+#define HAVE_WCTYPE 1
 _ACEOF
 
 fi
 
 
-echo "$as_me:$LINENO: checking for mbstate_t" >&5
-echo $ECHO_N "checking for mbstate_t... $ECHO_C" >&6
-if test "${bash_cv_have_mbstate_t+set}" = set; then
+
+  echo "$as_me:$LINENO: checking whether mbrtowc and mbstate_t are properly declared" >&5
+echo $ECHO_N "checking whether mbrtowc and mbstate_t are properly declared... $ECHO_C" >&6
+if test "${ac_cv_func_mbrtowc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -7900,23 +8000,18 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-
 #include <wchar.h>
 int
 main ()
 {
-
-  mbstate_t ps;
-  mbstate_t *psp;
-  psp = (mbstate_t *)0;
-
+mbstate_t state; return ! (sizeof state && mbrtowc);
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -7930,30 +8025,146 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
+        { ac_try='test -s conftest$ac_exeext'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  bash_cv_have_mbstate_t=yes
+  ac_cv_func_mbrtowc=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-bash_cv_have_mbstate_t=no
+ac_cv_func_mbrtowc=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $bash_cv_have_mbstate_t" >&5
-echo "${ECHO_T}$bash_cv_have_mbstate_t" >&6
-if test $bash_cv_have_mbstate_t = yes; then
+echo "$as_me:$LINENO: result: $ac_cv_func_mbrtowc" >&5
+echo "${ECHO_T}$ac_cv_func_mbrtowc" >&6
+  if test $ac_cv_func_mbrtowc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_MBRTOWC 1
+_ACEOF
+
+  fi
+
+if test $ac_cv_func_mbrtowc = yes; then
        cat >>confdefs.h <<\_ACEOF
 #define HAVE_MBSTATE_T 1
 _ACEOF
 
 fi
 
+
+
+
+
+
+for ac_func in iswlower iswupper towlower towupper iswctype
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
 echo "$as_me:$LINENO: checking for nl_langinfo and CODESET" >&5
 echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6
 if test "${bash_cv_langinfo_codeset+set}" = set; then
@@ -8015,6 +8226,199 @@ _ACEOF
 
 fi
 
+echo "$as_me:$LINENO: checking for wchar_t in wchar.h" >&5
+echo $ECHO_N "checking for wchar_t in wchar.h... $ECHO_C" >&6
+if test "${bash_cv_type_wchar_t+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <wchar.h>
+
+int
+main ()
+{
+
+        wchar_t foo;
+        foo = 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  bash_cv_type_wchar_t=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+bash_cv_type_wchar_t=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $bash_cv_type_wchar_t" >&5
+echo "${ECHO_T}$bash_cv_type_wchar_t" >&6
+if test $bash_cv_type_wchar_t = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_WCHAR_T 1
+_ACEOF
+
+fi
+
+echo "$as_me:$LINENO: checking for wctype_t in wctype.h" >&5
+echo $ECHO_N "checking for wctype_t in wctype.h... $ECHO_C" >&6
+if test "${bash_cv_type_wctype_t+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <wctype.h>
+int
+main ()
+{
+
+        wctype_t foo;
+        foo = 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  bash_cv_type_wctype_t=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+bash_cv_type_wctype_t=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $bash_cv_type_wctype_t" >&5
+echo "${ECHO_T}$bash_cv_type_wctype_t" >&6
+if test $bash_cv_type_wctype_t = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_WCTYPE_T 1
+_ACEOF
+
+fi
+
+echo "$as_me:$LINENO: checking for wint_t in wctype.h" >&5
+echo $ECHO_N "checking for wint_t in wctype.h... $ECHO_C" >&6
+if test "${bash_cv_type_wint_t+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <wctype.h>
+int
+main ()
+{
+
+        wint_t foo;
+        foo = 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  bash_cv_type_wint_t=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+bash_cv_type_wint_t=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $bash_cv_type_wint_t" >&5
+echo "${ECHO_T}$bash_cv_type_wint_t" >&6
+if test $bash_cv_type_wint_t = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_WINT_T 1
+_ACEOF
+
+fi
+
 
 
 case "$host_cpu" in
@@ -8479,7 +8883,7 @@ _ASBOX
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by readline $as_me 5.1-beta1, which was
+This file was extended by readline $as_me 5.2, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -8542,7 +8946,7 @@ _ACEOF
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-readline config.status 5.1-beta1
+readline config.status 5.2
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
index a7863986d8eba3cc7d185a1f6bfd2f0be8b66e65..868773be69695bcf0f9efc8c6999f5b3e1f4625e 100644 (file)
@@ -22,9 +22,9 @@ dnl Process this file with autoconf to produce a configure script.
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 # 02111-1307, USA.
 
-AC_REVISION([for Readline 5.1, version 2.59])
+AC_REVISION([for Readline 5.2, version 2.61])
 
-AC_INIT(readline, 5.1-release, bug-readline@gnu.org)
+AC_INIT(readline, 5.2, bug-readline@gnu.org)
 
 dnl make sure we are using a recent autoconf version
 AC_PREREQ(2.50)
@@ -34,7 +34,7 @@ AC_CONFIG_AUX_DIR(./support)
 AC_CONFIG_HEADERS(config.h)
 
 dnl update the value of RL_READLINE_VERSION in readline.h when this changes
-LIBVERSION=5.1
+LIBVERSION=5.2
 
 AC_CANONICAL_HOST
 
@@ -75,6 +75,7 @@ dnl files as necessary
 dnl Note that host and target machine are the same, and different than the
 dnl build machine.
 
+CROSS_COMPILE=
 if test "x$cross_compiling" = "xyes"; then
     case "${host}" in
     *-cygwin*)
index 0d3ae6e5da9034b3ad58578ff5fb22952cd7acc1..47ff06159747583defb3a320b92a8b4614497856 100644 (file)
--- a/display.c
+++ b/display.c
@@ -1,6 +1,6 @@
 /* display.c -- readline redisplay facility. */
 
-/* Copyright (C) 1987-2005 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2006 Free Software Foundation, Inc.
 
    This file is part of the GNU Readline Library, a library for
    reading lines of text with interactive input and history editing.
 extern char *strchr (), *strrchr ();
 #endif /* !strchr && !__STDC__ */
 
-#if defined (HACK_TERMCAP_MOTION)
-extern char *_rl_term_forward_char;
-#endif
-
 static void update_line PARAMS((char *, char *, int, int, int, int));
 static void space_to_eol PARAMS((int));
 static void delete_chars PARAMS((int));
@@ -80,9 +76,18 @@ static int *inv_lbreaks, *vis_lbreaks;
 static int inv_lbsize, vis_lbsize;
 
 /* Heuristic used to decide whether it is faster to move from CUR to NEW
-   by backing up or outputting a carriage return and moving forward. */
+   by backing up or outputting a carriage return and moving forward.  CUR
+   and NEW are either both buffer positions or absolute screen positions. */
 #define CR_FASTER(new, cur) (((new) + 1) < ((cur) - (new)))
 
+/* _rl_last_c_pos is an absolute cursor position in multibyte locales and a
+   buffer index in others.  This macro is used when deciding whether the
+   current cursor position is in the middle of a prompt string containing
+   invisible characters. */
+#define PROMPT_ENDING_INDEX \
+  ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) ? prompt_physical_chars : prompt_last_invisible+1)
+  
+
 /* **************************************************************** */
 /*                                                                 */
 /*                     Display stuff                               */
@@ -135,6 +140,7 @@ int _rl_last_c_pos = 0;
 int _rl_last_v_pos = 0;
 
 static int cpos_adjusted;
+static int cpos_buffer_position;
 
 /* Number of lines currently on screen minus 1. */
 int _rl_vis_botlin = 0;
@@ -162,6 +168,7 @@ static int line_size = 1024;
    include invisible characters. */
 
 static char *local_prompt, *local_prompt_prefix;
+static int local_prompt_len;
 static int prompt_visible_length, prompt_prefix_length;
 
 /* The number of invisible characters in the line currently being
@@ -197,6 +204,7 @@ static char *saved_local_prefix;
 static int saved_last_invisible;
 static int saved_visible_length;
 static int saved_prefix_length;
+static int saved_local_length;
 static int saved_invis_chars_first_line;
 static int saved_physical_chars;
 
@@ -220,7 +228,7 @@ expand_prompt (pmt, lp, lip, niflp, vlp)
      char *pmt;
      int *lp, *lip, *niflp, *vlp;
 {
-  char *r, *ret, *p;
+  char *r, *ret, *p, *igstart;
   int l, rl, last, ignoring, ninvis, invfl, invflset, ind, pind, physchars;
 
   /* Short-circuit if we can. */
@@ -244,19 +252,21 @@ expand_prompt (pmt, lp, lip, niflp, vlp)
   invfl = 0;   /* invisible chars in first line of prompt */
   invflset = 0;        /* we only want to set invfl once */
 
+  igstart = 0;
   for (rl = ignoring = last = ninvis = physchars = 0, p = pmt; p && *p; p++)
     {
       /* This code strips the invisible character string markers
         RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE */
-      if (*p == RL_PROMPT_START_IGNORE)
+      if (ignoring == 0 && *p == RL_PROMPT_START_IGNORE)               /* XXX - check ignoring? */
        {
-         ignoring++;
+         ignoring = 1;
+         igstart = p;
          continue;
        }
       else if (ignoring && *p == RL_PROMPT_END_IGNORE)
        {
          ignoring = 0;
-         if (p[-1] != RL_PROMPT_START_IGNORE)
+         if (p != (igstart + 1))
            last = r - ret - 1;
          continue;
        }
@@ -356,6 +366,7 @@ rl_expand_prompt (prompt)
   FREE (local_prompt_prefix);
 
   local_prompt = local_prompt_prefix = (char *)0;
+  local_prompt_len = 0;
   prompt_last_invisible = prompt_invis_chars_first_line = 0;
   prompt_visible_length = prompt_physical_chars = 0;
 
@@ -371,6 +382,7 @@ rl_expand_prompt (prompt)
                                            &prompt_invis_chars_first_line,
                                            &prompt_physical_chars);
       local_prompt_prefix = (char *)0;
+      local_prompt_len = local_prompt ? strlen (local_prompt) : 0;
       return (prompt_visible_length);
     }
   else
@@ -389,6 +401,7 @@ rl_expand_prompt (prompt)
                                                   &prompt_invis_chars_first_line,
                                                   (int *)NULL);
       *t = c;
+      local_prompt_len = local_prompt ? strlen (local_prompt) : 0;
       return (prompt_prefix_length);
     }
 }
@@ -445,7 +458,7 @@ rl_redisplay ()
 {
   register int in, out, c, linenum, cursor_linenum;
   register char *line;
-  int c_pos, inv_botlin, lb_botlin, lb_linenum, o_cpos;
+  int inv_botlin, lb_botlin, lb_linenum, o_cpos;
   int newlines, lpos, temp, modmark, n0, num;
   char *prompt_this_line;
 #if defined (HANDLE_MULTIBYTE)
@@ -469,7 +482,7 @@ rl_redisplay ()
     }
 
   /* Draw the line into the buffer. */
-  c_pos = -1;
+  cpos_buffer_position = -1;
 
   line = invisible_line;
   out = inv_botlin = 0;
@@ -496,24 +509,23 @@ rl_redisplay ()
      number of non-visible characters in the prompt string. */
   if (rl_display_prompt == rl_prompt || local_prompt)
     {
-      int local_len = local_prompt ? strlen (local_prompt) : 0;
       if (local_prompt_prefix && forced_display)
        _rl_output_some_chars (local_prompt_prefix, strlen (local_prompt_prefix));
 
-      if (local_len > 0)
+      if (local_prompt_len > 0)
        {
-         temp = local_len + out + 2;
+         temp = local_prompt_len + out + 2;
          if (temp >= line_size)
            {
              line_size = (temp + 1024) - (temp % 1024);
              visible_line = (char *)xrealloc (visible_line, line_size);
              line = invisible_line = (char *)xrealloc (invisible_line, line_size);
            }
-         strncpy (line + out, local_prompt, local_len);
-         out += local_len;
+         strncpy (line + out, local_prompt, local_prompt_len);
+         out += local_prompt_len;
        }
       line[out] = '\0';
-      wrap_offset = local_len - prompt_visible_length;
+      wrap_offset = local_prompt_len - prompt_visible_length;
     }
   else
     {
@@ -614,6 +626,7 @@ rl_redisplay ()
      contents of the command line? */
   while (lpos >= _rl_screenwidth)
     {
+      int z;
       /* fix from Darin Johnson <darin@acuson.com> for prompt string with
          invisible characters that is longer than the screen width.  The
          prompt_invis_chars_first_line variable could be made into an array
@@ -622,37 +635,46 @@ rl_redisplay ()
          prompts that exceed two physical lines?
          Additional logic fix from Edward Catmur <ed@catmur.co.uk> */
 #if defined (HANDLE_MULTIBYTE)
-      n0 = num;
-      temp = local_prompt ? strlen (local_prompt) : 0;
-      while (num < temp)
+      if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
        {
-         if (_rl_col_width  (local_prompt, n0, num) > _rl_screenwidth)
+         n0 = num;
+          temp = local_prompt_len;
+          while (num < temp)
            {
-             num = _rl_find_prev_mbchar (local_prompt, num, MB_FIND_ANY);
-             break;
+             z = _rl_col_width  (local_prompt, n0, num);
+             if (z > _rl_screenwidth)
+               {
+                 num = _rl_find_prev_mbchar (local_prompt, num, MB_FIND_ANY);
+                 break;
+               }
+             else if (z == _rl_screenwidth)
+               break;
+             num++;
            }
-         num++;
+          temp = num;
        }
-      temp = num +
-#else
-      temp = ((newlines + 1) * _rl_screenwidth) +
+      else
 #endif /* !HANDLE_MULTIBYTE */
-             ((local_prompt_prefix == 0) ? ((newlines == 0) ? prompt_invis_chars_first_line
-                                                           : ((newlines == 1) ? wrap_offset : 0))
-                                        : ((newlines == 0) ? wrap_offset :0));
+       temp = ((newlines + 1) * _rl_screenwidth);
+
+      /* Now account for invisible characters in the current line. */
+      temp += ((local_prompt_prefix == 0) ? ((newlines == 0) ? prompt_invis_chars_first_line
+                                                            : ((newlines == 1) ? wrap_offset : 0))
+                                         : ((newlines == 0) ? wrap_offset :0));
              
       inv_lbreaks[++newlines] = temp;
 #if defined (HANDLE_MULTIBYTE)
-      lpos -= _rl_col_width (local_prompt, n0, num);
-#else
-      lpos -= _rl_screenwidth;
+      if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
+       lpos -= _rl_col_width (local_prompt, n0, num);
+      else
 #endif
+       lpos -= _rl_screenwidth;
     }
 
   prompt_last_screen_line = newlines;
 
   /* Draw the rest of the line (after the prompt) into invisible_line, keeping
-     track of where the cursor is (c_pos), the number of the line containing
+     track of where the cursor is (cpos_buffer_position), the number of the line containing
      the cursor (lb_linenum), the last line number (lb_botlin and inv_botlin).
      It maintains an array of line breaks for display (inv_lbreaks).
      This handles expanding tabs for display and displaying meta characters. */
@@ -705,7 +727,7 @@ rl_redisplay ()
 
       if (in == rl_point)
        {
-         c_pos = out;
+         cpos_buffer_position = out;
          lb_linenum = newlines;
        }
 
@@ -799,7 +821,7 @@ rl_redisplay ()
                  }
              if (in == rl_point)
                {
-                 c_pos = out;
+                 cpos_buffer_position = out;
                  lb_linenum = newlines;
                }
              for (i = in; i < in+wc_bytes; i++)
@@ -830,9 +852,9 @@ rl_redisplay ()
 
     }
   line[out] = '\0';
-  if (c_pos < 0)
+  if (cpos_buffer_position < 0)
     {
-      c_pos = out;
+      cpos_buffer_position = out;
       lb_linenum = newlines;
     }
 
@@ -841,7 +863,7 @@ rl_redisplay ()
   inv_lbreaks[newlines+1] = out;
   cursor_linenum = lb_linenum;
 
-  /* C_POS == position in buffer where cursor should be placed.
+  /* CPOS_BUFFER_POSITION == position in buffer where cursor should be placed.
      CURSOR_LINENUM == line number where the cursor should be placed. */
 
   /* PWP: now is when things get a bit hairy.  The visible and invisible
@@ -886,6 +908,8 @@ rl_redisplay ()
          /* For each line in the buffer, do the updating display. */
          for (linenum = 0; linenum <= inv_botlin; linenum++)
            {
+             /* This can lead us astray if we execute a program that changes
+                the locale from a non-multibyte to a multibyte one. */
              o_cpos = _rl_last_c_pos;
              cpos_adjusted = 0;
              update_line (VIS_LINE(linenum), INV_LINE(linenum), linenum,
@@ -898,7 +922,11 @@ rl_redisplay ()
                 change update_line itself.  There is one case in which
                 update_line adjusts _rl_last_c_pos itself (so it can pass
                 _rl_move_cursor_relative accurate values); it communicates
-                this back by setting cpos_adjusted */
+                this back by setting cpos_adjusted.  If we assume that
+                _rl_last_c_pos is correct (an absolute cursor position) each
+                time update_line is called, then we can assume in our
+                calculations that o_cpos does not need to be adjusted by
+                wrap_offset. */
              if (linenum == 0 && (MB_CUR_MAX > 1 && rl_byte_oriented == 0) &&
                  cpos_adjusted == 0 &&
                  _rl_last_c_pos != o_cpos &&
@@ -967,7 +995,11 @@ rl_redisplay ()
             invisible character in the prompt string. */
          nleft = prompt_visible_length + wrap_offset;
          if (cursor_linenum == 0 && wrap_offset > 0 && _rl_last_c_pos > 0 &&
-             _rl_last_c_pos <= prompt_last_invisible && local_prompt)
+#if 0
+             _rl_last_c_pos <= PROMPT_ENDING_INDEX && local_prompt)
+#else
+             _rl_last_c_pos < PROMPT_ENDING_INDEX && local_prompt)
+#endif
            {
 #if defined (__MSDOS__)
              putc ('\r', rl_outstream);
@@ -986,8 +1018,8 @@ rl_redisplay ()
             in the buffer? */
          pos = inv_lbreaks[cursor_linenum];
          /* nleft == number of characters in the line buffer between the
-            start of the line and the cursor position. */
-         nleft = c_pos - pos;
+            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
             multibyte locale, however, _rl_last_c_pos is an absolute cursor
@@ -999,6 +1031,7 @@ rl_redisplay ()
             those characters here and call _rl_backspace() directly. */
          if (wrap_offset && cursor_linenum == 0 && nleft < _rl_last_c_pos)
            {
+             /* TX == new physical cursor position in multibyte locale. */
              if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
                tx = _rl_col_width (&visible_line[pos], 0, nleft) - visible_wrap_offset;
              else
@@ -1032,11 +1065,11 @@ rl_redisplay ()
         will be LMARGIN. */
 
       /* The number of characters that will be displayed before the cursor. */
-      ndisp = c_pos - wrap_offset;
+      ndisp = cpos_buffer_position - wrap_offset;
       nleft  = prompt_visible_length + wrap_offset;
       /* Where the new cursor position will be on the screen.  This can be
         longer than SCREENWIDTH; if it is, lmargin will be adjusted. */
-      phys_c_pos = c_pos - (last_lmargin ? last_lmargin : wrap_offset);
+      phys_c_pos = cpos_buffer_position - (last_lmargin ? last_lmargin : wrap_offset);
       t = _rl_screenwidth / 3;
 
       /* If the number of characters had already exceeded the screenwidth,
@@ -1047,7 +1080,7 @@ rl_redisplay ()
         two-thirds of the way across the screen. */
       if (phys_c_pos > _rl_screenwidth - 2)
        {
-         lmargin = c_pos - (2 * t);
+         lmargin = cpos_buffer_position - (2 * t);
          if (lmargin < 0)
            lmargin = 0;
          /* If the left margin would be in the middle of a prompt with
@@ -1061,7 +1094,7 @@ rl_redisplay ()
        {
          /* If we are moving back towards the beginning of the line and
             the last margin is no longer correct, compute a new one. */
-         lmargin = ((c_pos - 1) / t) * t;      /* XXX */
+         lmargin = ((cpos_buffer_position - 1) / t) * t;       /* XXX */
          if (wrap_offset && lmargin > 0 && lmargin < nleft)
            lmargin = nleft;
        }
@@ -1106,7 +1139,7 @@ rl_redisplay ()
          if (visible_first_line_len > _rl_screenwidth)
            visible_first_line_len = _rl_screenwidth;
 
-         _rl_move_cursor_relative (c_pos - lmargin, &invisible_line[lmargin]);
+         _rl_move_cursor_relative (cpos_buffer_position - lmargin, &invisible_line[lmargin]);
          last_lmargin = lmargin;
        }
     }
@@ -1164,7 +1197,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
   int col_lendiff, col_temp;
 #if defined (HANDLE_MULTIBYTE)
   mbstate_t ps_new, ps_old;
-  int new_offset, old_offset, tmp;
+  int new_offset, old_offset;
 #endif
 
   /* If we're at the right edge of a terminal that supports xn, we're
@@ -1397,11 +1430,11 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
      sequences (like drawing the `unbold' sequence without a corresponding
      `bold') that manifests itself on certain terminals. */
 
-  lendiff = local_prompt ? strlen (local_prompt) : 0;
+  lendiff = local_prompt_len;
   od = ofd - old;      /* index of first difference in visible line */
   if (current_line == 0 && !_rl_horizontal_scroll_mode &&
       _rl_term_cr && lendiff > prompt_visible_length && _rl_last_c_pos > 0 &&
-      od >= lendiff && _rl_last_c_pos <= prompt_last_invisible)
+      od >= lendiff && _rl_last_c_pos < PROMPT_ENDING_INDEX)
     {
 #if defined (__MSDOS__)
       putc ('\r', rl_outstream);
@@ -1420,7 +1453,19 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
        _rl_last_c_pos = lendiff;
     }
 
+  /* When this function returns, _rl_last_c_pos is correct, and an absolute
+     cursor postion in multibyte mode, but a buffer index when not in a
+     multibyte locale. */
   _rl_move_cursor_relative (od, old);
+#if 1
+#if defined (HANDLE_MULTIBYTE)
+  /* We need to indicate that the cursor position is correct in the presence of
+     invisible characters in the prompt string.  Let's see if setting this when
+     we make sure we're at the end of the drawn prompt string works. */
+  if (current_line == 0 && MB_CUR_MAX > 1 && rl_byte_oriented == 0 && _rl_last_c_pos == prompt_physical_chars)
+    cpos_adjusted = 1;
+#endif
+#endif
 
   /* if (len (new) > len (old))
      lendiff == difference in buffer
@@ -1648,10 +1693,11 @@ rl_on_new_line_with_prompt ()
 int
 rl_forced_update_display ()
 {
+  register char *temp;
+
   if (visible_line)
     {
-      register char *temp = visible_line;
-
+      temp = visible_line;
       while (*temp)
        *temp++ = '\0';
     }
@@ -1686,8 +1732,14 @@ _rl_move_cursor_relative (new, data)
   if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
     {
       dpos = _rl_col_width (data, 0, new);
-      if (dpos > woff)
-       dpos -= woff;
+      if (dpos > prompt_last_invisible)                /* XXX - don't use woff here */
+       {
+         dpos -= woff;
+         /* Since this will be assigned to _rl_last_c_pos at the end (more
+            precisely, _rl_last_c_pos == dpos when this function returns),
+            let the caller know. */
+         cpos_adjusted = 1;
+       }
     }
   else
 #endif
@@ -1706,7 +1758,7 @@ _rl_move_cursor_relative (new, data)
   else
 #endif
   i = _rl_last_c_pos - woff;
-  if (new == 0 || CR_FASTER (new, _rl_last_c_pos) ||
+  if (dpos == 0 || CR_FASTER (dpos, _rl_last_c_pos) ||
       (_rl_term_autowrap && i == _rl_screenwidth))
     {
 #if defined (__MSDOS__)
@@ -1728,19 +1780,27 @@ _rl_move_cursor_relative (new, data)
         sequence telling the terminal to move forward one character.
         That kind of control is for people who don't know what the
         data is underneath the cursor. */
-#if defined (HACK_TERMCAP_MOTION)
-      if (_rl_term_forward_char)
-       {
-         for (i = cpos; i < dpos; i++)
-           tputs (_rl_term_forward_char, 1, _rl_output_character_function);
-       }
-      else
-#endif /* HACK_TERMCAP_MOTION */
+
+      /* However, we need a handle on where the current display position is
+        in the buffer for the immediately preceding comment to be true.
+        In multibyte locales, we don't currently have that info available.
+        Without it, we don't know where the data we have to display begins
+        in the buffer and we have to go back to the beginning of the screen
+        line.  In this case, we can use the terminal sequence to move forward
+        if it's available. */
       if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
        {
-         tputs (_rl_term_cr, 1, _rl_output_character_function);
-         for (i = 0; i < new; i++)
-           putc (data[i], rl_outstream);
+         if (_rl_term_forward_char)
+           {
+             for (i = cpos; i < dpos; i++)
+               tputs (_rl_term_forward_char, 1, _rl_output_character_function);
+           }
+         else
+           {
+             tputs (_rl_term_cr, 1, _rl_output_character_function);
+             for (i = 0; i < new; i++)
+               putc (data[i], rl_outstream);
+           }
        }
       else
        for (i = cpos; i < new; i++)
@@ -1889,6 +1949,7 @@ rl_message (va_alist)
                                         &prompt_invis_chars_first_line,
                                         &prompt_physical_chars);
   local_prompt_prefix = (char *)NULL;
+  local_prompt_len = local_prompt ? strlen (local_prompt) : 0;
   (*rl_redisplay_function) ();
 
   return 0;
@@ -1912,6 +1973,7 @@ rl_message (format, arg1, arg2)
                                         &prompt_invis_chars_first_line,
                                         &prompt_physical_chars);
   local_prompt_prefix = (char *)NULL;
+  local_prompt_len = local_prompt ? strlen (local_prompt) : 0;
   (*rl_redisplay_function) ();
       
   return 0;
@@ -1948,12 +2010,14 @@ rl_save_prompt ()
   saved_local_prompt = local_prompt;
   saved_local_prefix = local_prompt_prefix;
   saved_prefix_length = prompt_prefix_length;
+  saved_local_length = local_prompt_len;
   saved_last_invisible = prompt_last_invisible;
   saved_visible_length = prompt_visible_length;
   saved_invis_chars_first_line = prompt_invis_chars_first_line;
   saved_physical_chars = prompt_physical_chars;
 
   local_prompt = local_prompt_prefix = (char *)0;
+  local_prompt_len = 0;
   prompt_last_invisible = prompt_visible_length = prompt_prefix_length = 0;
   prompt_invis_chars_first_line = prompt_physical_chars = 0;
 }
@@ -1966,6 +2030,7 @@ rl_restore_prompt ()
 
   local_prompt = saved_local_prompt;
   local_prompt_prefix = saved_local_prefix;
+  local_prompt_len = saved_local_length;
   prompt_prefix_length = saved_prefix_length;
   prompt_last_invisible = saved_last_invisible;
   prompt_visible_length = saved_visible_length;
@@ -1974,6 +2039,7 @@ rl_restore_prompt ()
 
   /* can test saved_local_prompt to see if prompt info has been saved. */
   saved_local_prompt = saved_local_prefix = (char *)0;
+  saved_local_length = 0;
   saved_last_invisible = saved_visible_length = saved_prefix_length = 0;
   saved_invis_chars_first_line = saved_physical_chars = 0;
 }
@@ -2162,7 +2228,8 @@ _rl_update_final ()
       char *last_line;
 
       last_line = &visible_line[vis_lbreaks[_rl_vis_botlin]];
-      _rl_move_cursor_relative (_rl_screenwidth - 1, last_line);
+      cpos_buffer_position = -1;       /* don't know where we are in buffer */
+      _rl_move_cursor_relative (_rl_screenwidth - 1, last_line);       /* XXX */
       _rl_clear_to_eol (0);
       putc (last_line[_rl_screenwidth - 1], rl_outstream);
     }
@@ -2205,6 +2272,7 @@ redraw_prompt (t)
                                   &prompt_invis_chars_first_line,
                                   &prompt_physical_chars);
   local_prompt_prefix = (char *)NULL;
+  local_prompt_len = local_prompt ? strlen (local_prompt) : 0;
 
   rl_forced_update_display ();
 
@@ -2307,12 +2375,14 @@ _rl_col_width (str, start, end)
      int start, end;
 {
   wchar_t wc;
-  mbstate_t ps = {0};
+  mbstate_t ps;
   int tmp, point, width, max;
 
   if (end <= start)
     return 0;
 
+  memset (&ps, 0, sizeof (mbstate_t));
+
   point = 0;
   max = end;
 
index 6377d9d4ec2ad48730c4f2115e5fc6d907a0c68d..19b3e5ca9c081f6904d6a33a336eba39abcfe0f1 100644 (file)
Binary files a/doc/history.dvi and b/doc/history.dvi differ
index 439426aba21045d3ef9988d35a86b0593c4e42d5..015a3e29e9a3bac09856c211261d09d8666628e9 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on December, 6  2005 by texi2html 1.64 -->
+<!-- Created on July, 6  2006 by texi2html 1.64 -->
 <!-- 
 Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
             Karl Berry  <karl@freefriends.org>
@@ -2100,7 +2100,7 @@ to permit their use in free software.
 <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="history.html#SEC_About"> ? </A>]</TD>
 </TR></TABLE>
 <H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>December, 6  2005</I>
+This document was generated by <I>Chet Ramey</I> on <I>July, 6  2006</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 <P></P>  
@@ -2262,7 +2262,7 @@ the following structure:
 <BR>  
 <FONT SIZE="-1">
 This document was generated
-by <I>Chet Ramey</I> on <I>December, 6  2005</I>
+by <I>Chet Ramey</I> on <I>July, 6  2006</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 
index 1074c694fda03e7be58efd1fd5ec0aad7a1e1449..50c2598945de4e78c0668e5a294f23d59c972342 100644 (file)
@@ -1,11 +1,11 @@
 This is history.info, produced by makeinfo version 4.7 from
 /Users/chet/src/bash/readline-src/doc/history.texi.
 
-   This document describes the GNU History library (version 5.1-beta1,
-11 November 2005), a programming tool that provides a consistent user
+   This document describes the GNU History library (version 5.2, 26
+April 2006), a programming tool that provides a consistent user
 interface for recalling lines of previously typed input.
 
-   Copyright (C) 1988-2004 Free Software Foundation, Inc.
+   Copyright (C) 1988-2006 Free Software Foundation, Inc.
 
    Permission is granted to make and distribute verbatim copies of this
 manual provided the copyright notice and this permission notice are
@@ -13,7 +13,7 @@ preserved on all copies.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Free Documentation License,
-     Version 1.1 or any later version published by the Free Software
+     Version 1.2 or any later version published by the Free Software
      Foundation; with no Invariant Sections, with the Front-Cover texts
      being "A GNU Manual," and with the Back-Cover Texts as in (a)
      below.  A copy of the license is included in the section entitled
@@ -1325,28 +1325,28 @@ Appendix C Function and Variable Index
 
 \1f
 Tag Table:
-Node: Top\7f1323
-Node: Using History Interactively\7f1948
-Node: History Interaction\7f2456
-Node: Event Designators\7f3880
-Node: Word Designators\7f4815
-Node: Modifiers\7f6454
-Node: Programming with GNU History\7f7681
-Node: Introduction to History\7f8413
-Node: History Storage\7f10103
-Node: History Functions\7f11238
-Node: Initializing History and State Management\7f12227
-Node: History List Management\7f13039
-Node: Information About the History List\7f15071
-Node: Moving Around the History List\7f16568
-Node: Searching the History List\7f17569
-Node: Managing the History File\7f19501
-Node: History Expansion\7f21321
-Node: History Variables\7f23229
-Node: History Programming Example\7f26035
-Node: Copying This Manual\7f28712
-Node: GNU Free Documentation License\7f28972
-Node: Concept Index\7f51378
-Node: Function and Variable Index\7f52218
+Node: Top\7f1314
+Node: Using History Interactively\7f1939
+Node: History Interaction\7f2447
+Node: Event Designators\7f3871
+Node: Word Designators\7f4806
+Node: Modifiers\7f6445
+Node: Programming with GNU History\7f7672
+Node: Introduction to History\7f8404
+Node: History Storage\7f10094
+Node: History Functions\7f11229
+Node: Initializing History and State Management\7f12218
+Node: History List Management\7f13030
+Node: Information About the History List\7f15062
+Node: Moving Around the History List\7f16559
+Node: Searching the History List\7f17560
+Node: Managing the History File\7f19492
+Node: History Expansion\7f21312
+Node: History Variables\7f23220
+Node: History Programming Example\7f26026
+Node: Copying This Manual\7f28703
+Node: GNU Free Documentation License\7f28963
+Node: Concept Index\7f51369
+Node: Function and Variable Index\7f52209
 \1f
 End Tag Table
index e321526559845bce85710c94f78a01ca0960395c..b00ec89e26ce2769a23fff2941d971b2d4e01583 100644 (file)
@@ -10,7 +10,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 600 -t letter -o history.ps history.dvi
 %DVIPSParameters: dpi=600, compressed
-%DVIPSSource:  TeX output 2005.12.06:1546
+%DVIPSSource:  TeX output 2006.07.06:0935
 %%BeginProcSet: texc.pro
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -3318,30 +3318,29 @@ letter
 %%EndSetup
 %%Page: 1 1
 TeXDict begin 1 0 bop 150 1318 a Fs(GNU)65 b(History)h(Library)p
-150 1418 3600 34 v 1420 1515 a Fr(Edition)31 b(5.1-b)s(eta1,)i(for)d
-Fq(History)e(Library)h Fr(V)-8 b(ersion)31 b(5.1-b)s(eta1.)3139
-1623 y(No)m(v)m(em)m(b)s(er)g(2005)150 4935 y Fp(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
+150 1418 3600 34 v 1920 1515 a Fr(Edition)31 b(5.2,)h(for)e
+Fq(History)e(Library)h Fr(V)-8 b(ersion)31 b(5.2.)3333
+1623 y(April)f(2006)150 4935 y Fp(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 3024 a Fr(This)31 b(do)s(cumen)m(t)g(describ)
-s(es)g(the)g(GNU)h(History)g(library)f(\(v)m(ersion)i(5.1-b)s(eta1,)h
-(11)e(No)m(v)m(em)m(b)s(er)h(2005\),)150 3133 y(a)26
-b(programming)g(to)s(ol)h(that)g(pro)m(vides)f(a)g(consisten)m(t)i
-(user)d(in)m(terface)i(for)f(recalling)i(lines)e(of)g(previously)150
-3243 y(t)m(yp)s(ed)k(input.)150 3377 y(Cop)m(yrigh)m(t)602
-3374 y(c)577 3377 y Fo(\015)g Fr(1988-2004)k(F)-8 b(ree)32
-b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 b(Inc.)150 3512
-y(P)m(ermission)g(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d(distribute)h
-(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m(vided)f(the)150
-3621 y(cop)m(yrigh)m(t)g(notice)f(and)f(this)g(p)s(ermission)g(notice)h
-(are)g(preserv)m(ed)f(on)h(all)g(copies.)390 3756 y(P)m(ermission)k(is)
-h(gran)m(ted)f(to)h(cop)m(y)-8 b(,)38 b(distribute)d(and/or)g(mo)s
-(dify)f(this)h(do)s(cumen)m(t)g(under)390 3866 y(the)j(terms)g(of)g
-(the)g(GNU)h(F)-8 b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8
-b(ersion)39 b(1.1)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
+TeXDict begin 2 1 bop 150 3024 a Fr(This)28 b(do)s(cumen)m(t)i(describ)
+s(es)e(the)i(GNU)g(History)f(library)g(\(v)m(ersion)h(5.2,)h(26)f
+(April)f(2006\),)j(a)e(program-)150 3133 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
+3243 y(input.)150 3377 y(Cop)m(yrigh)m(t)602 3374 y(c)577
+3377 y Fo(\015)30 b Fr(1988-2006)k(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)
+-8 b(oundation,)32 b(Inc.)150 3512 y(P)m(ermission)g(is)h(gran)m(ted)g
+(to)f(mak)m(e)i(and)d(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g
+(man)m(ual)h(pro)m(vided)f(the)150 3621 y(cop)m(yrigh)m(t)g(notice)f
+(and)f(this)g(p)s(ermission)g(notice)h(are)g(preserv)m(ed)f(on)h(all)g
+(copies.)390 3756 y(P)m(ermission)k(is)h(gran)m(ted)f(to)h(cop)m(y)-8
+b(,)38 b(distribute)d(and/or)g(mo)s(dify)f(this)h(do)s(cumen)m(t)g
+(under)390 3866 y(the)j(terms)g(of)g(the)g(GNU)h(F)-8
+b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)39
+b(1.2)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
 b(published)d(b)m(y)j(the)f(F)-8 b(ree)29 b(Soft)m(w)m(are)f(F)-8
 b(oundation;)30 b(with)d(no)g(In)m(v)-5 b(arian)m(t)28
 b(Sections,)390 4085 y(with)i(the)h(F)-8 b(ron)m(t-Co)m(v)m(er)33
index f6a3d205167cd6ca2648aa9eddb45ef46830f387..1af40c73de731b57a7b5535ba05809b5a13c1234 100644 (file)
@@ -14,7 +14,7 @@ This document describes the GNU History library
 a programming tool that provides a consistent user interface for
 recalling lines of previously typed input.
 
-Copyright @copyright{} 1988-2004 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2006 Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -22,7 +22,7 @@ are preserved on all copies.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.2 or
 any later version published by the Free Software Foundation; with no
 Invariant Sections, with the Front-Cover texts being ``A GNU Manual,''
 and with the Back-Cover Texts as in (a) below.  A copy of the license is
index 4fdda5f1c9e59551979cae834fcf040a282c6726..47ba8a550c6230ab459d984bfede19ae1ccd12fa 100644 (file)
@@ -1,7 +1,7 @@
 @ignore
 This file documents the user interface to the GNU History library.
 
-Copyright (C) 1988-2002 Free Software Foundation, Inc.
+Copyright (C) 1988-2006 Free Software Foundation, Inc.
 Authored by Brian Fox and Chet Ramey.
 
 Permission is granted to make and distribute verbatim copies of this manual
index 6c8918331868d5255fe8efd3ac32e559a623f0e9..f98983b69ed3c74c0a9b9a8ab0faa1faf8cb14fd 100644 (file)
@@ -1,7 +1,7 @@
 @ignore
 This file documents the user interface to the GNU History library.
 
-Copyright (C) 1988-2002 Free Software Foundation, Inc.
+Copyright (C) 1988-2006 Free Software Foundation, Inc.
 Authored by Brian Fox and Chet Ramey.
 
 Permission is granted to make and distribute verbatim copies of this manual
index 12d51fd03481a6ac64ba8918c1ddd55868ae152c..5d9f6096636bcdd3ea8865015895efff9cd53730 100644 (file)
@@ -64,13 +64,14 @@ I\bIN\bNI\bIT\bTI\bIA\bAL\bLI\bIZ\bZA\bAT\bTI\bIO\bON\bN F\bFI\bIL\bLE\bE
        Readline is customized by putting commands in  an  initialization  file
        (the  _\bi_\bn_\bp_\bu_\bt_\br_\bc  file).  The name of this file is taken from the value of
        the I\bIN\bNP\bPU\bUT\bTR\bRC\bC environment variable.   If  that  variable  is  unset,  the
-       default  is _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc.  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 in the readline
-       init file.  Blank lines are ignored.  Lines beginning with a #\b# are com-
-       ments.   Lines  beginning  with  a  $\b$  indicate conditional constructs.
-       Other lines denote key bindings and variable  settings.   Each  program
-       using this library may add its own commands and bindings.
+       default is _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc.  If that file  does not exist or cannot be read,
+       the ultimate default is _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc.  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
+       in  the  readline init file.  Blank lines are ignored.  Lines beginning
+       with a #\b# are comments.  Lines beginning with a $\b$  indicate  conditional
+       constructs.   Other  lines  denote  key bindings and variable settings.
+       Each program using this library may add its own commands and  bindings.
 
        For example, placing
 
@@ -94,7 +95,9 @@ I\bIN\bNI\bIT\bTI\bIA\bAL\bLI\bIZ\bZA\bAT\bTI\bIO\bON\bN F\bFI\bIL\bLE\bE
        All that is required is the name of the command or the text of a  macro
        and  a key sequence to which it should be bound. The name may be speci-
        fied in one of two ways: as a symbolic key name, possibly with _\bM_\be_\bt_\ba_\b- or
-       _\bC_\bo_\bn_\bt_\br_\bo_\bl_\b- prefixes, or as a key sequence.
+       _\bC_\bo_\bn_\bt_\br_\bo_\bl_\b- prefixes, or as a key sequence.  The name and key sequence are
+       separated by a colon.  There can be no whitespace between the name  and
+       the colon.
 
        When using the form k\bke\bey\byn\bna\bam\bme\be:_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, _\bk_\be_\by_\bn_\ba_\bm_\be is the name
        of a key spelled out in English.  For example:
@@ -923,4 +926,4 @@ B\bBU\bUG\bGS\bS
 
 
 
-GNU Readline 5.1-beta1            2005 Sep 13                      READLINE(3)
+GNU Readline 5.2                  2006 Apr 26                      READLINE(3)
index 90cd9971e8e92abd8aecaf40fe4ea588af2449ac..2c45ed2c88e2d1c4af9f4d1d1f7406810b9ed94b 100644 (file)
@@ -6,9 +6,9 @@
 .\"    Case Western Reserve University
 .\"    chet@ins.CWRU.Edu
 .\"
-.\"    Last Change: Tue Sep 13 12:07:26 EDT 2005
+.\"    Last Change: Thu Feb  9 09:49:51 EST 2006
 .\"
-.TH READLINE 3 "2005 Sep 13" "GNU Readline 5.1-beta1"
+.TH READLINE 3 "2006 Apr 26" "GNU Readline 5.2"
 .\"
 .\" File Name macro.  This used to be `.PN', for Path Name,
 .\" but Sun doesn't seem to like that very much.
@@ -116,6 +116,8 @@ The name of this file is taken from the value of the
 .B INPUTRC
 environment variable.  If that variable is unset, the default is
 .IR ~/.inputrc .
+If that file  does not exist or cannot be read, the ultimate default is
+.IR /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 in the
@@ -168,6 +170,8 @@ command or the text of a macro and a key sequence to which
 it should be bound. The name may be specified in one of two ways:
 as a symbolic key name, possibly with \fIMeta\-\fP or \fIControl\-\fP
 prefixes, or as a key sequence.
+The name and key sequence are separated by a colon.  There can be no
+whitespace between the name and the colon.
 .PP
 When using the form \fBkeyname\fP:\^\fIfunction-name\fP or \fImacro\fP,
 .I keyname
index bea55e6c6deec4512c7c446683c15201038ecadb..5b33fc666d479dda975d06eca173e504caab7cd9 100644 (file)
Binary files a/doc/readline.dvi and b/doc/readline.dvi differ
index 11d496ad0dd7b021d436fc43e203734c7632065f..b09e42e3fdb1d387576a5ee4570bd5825a569dfa 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on December, 6  2005 by texi2html 1.64 -->
+<!-- Created on July, 6  2006 by texi2html 1.64 -->
 <!-- 
 Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
             Karl Berry  <karl@freefriends.org>
@@ -491,7 +491,9 @@ Any user can customize programs that use Readline by putting
 commands in an <EM>inputrc</EM> file, conventionally in his home directory.
 The name of this
 file is taken from the value of the environment variable <CODE>INPUTRC</CODE>.  If
-that variable is unset, the default is <TT>`~/.inputrc'</TT>.
+that variable is unset, the default is <TT>`~/.inputrc'</TT>.  If that
+file does not exist or cannot be read, the ultimate default is
+<TT>`/etc/inputrc'</TT>.
 </P><P>
 
 When a program which uses the Readline library starts up, the
@@ -798,9 +800,11 @@ the command does.
 Once you know the name of the command, simply place on a line
 in the init file the name of the key
 you wish to bind the command to, a colon, and then the name of the
-command.  The name of the key
-can be expressed in different ways, depending on what you find most
-comfortable.
+command.
+There can be no space between the key name and the colon -- that will be
+interpreted as part of the key name.
+The name of the key can be expressed in different ways, depending on
+what you find most comfortable.
 </P><P>
 
 In addition to command names, readline allows keys to be bound
@@ -1976,7 +1980,7 @@ in the consistency of user interface across discrete programs that need
 to provide a command line interface.
 </P><P>
 
-Copyright (C) 1988-2005 Free Software Foundation, Inc.
+Copyright (C) 1988-2006 Free Software Foundation, Inc.
 </P><P>
 
 Permission is granted to make and distribute verbatim copies of
@@ -3558,8 +3562,10 @@ pending input has not already been read with <CODE>rl_read_key()</CODE>.
 <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
 wait for <VAR>u</VAR> microseconds for input before calling any function
-assigned to <CODE>rl_event_hook</CODE>.  The default waiting period is
-one-tenth of a second.  Returns the old timeout value.
+assigned to <CODE>rl_event_hook</CODE>.  <VAR>u</VAR> must be greater than or equal
+to zero (a zero-length timeout is equivalent to a poll).
+The default waiting period is one-tenth of a second.
+Returns the old timeout value.
 </DL>
 </P><P>
 
@@ -4529,6 +4535,9 @@ the directory portion of the pathname the user typed.
 It returns an integer that should be non-zero if the function modifies
 its directory argument.
 It could be used to expand symbolic links or shell variables in pathnames.
+At the least, even if no other expansion is performed, this function should
+remove any quote characters from the directory name, because its result will
+be passed directly to <CODE>opendir()</CODE>.
 </DL>
 </P><P>
 
@@ -6543,7 +6552,7 @@ to permit their use in free software.
 <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="readline.html#SEC_About"> ? </A>]</TD>
 </TR></TABLE>
 <H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>December, 6  2005</I>
+This document was generated by <I>Chet Ramey</I> on <I>July, 6  2006</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 <P></P>  
@@ -6705,7 +6714,7 @@ the following structure:
 <BR>  
 <FONT SIZE="-1">
 This document was generated
-by <I>Chet Ramey</I> on <I>December, 6  2005</I>
+by <I>Chet Ramey</I> on <I>July, 6  2006</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 
index 7f2d0f32735d06159e41a92730dfb003b67c6bc1..dc6ee90c1b2bae55a0f2aa13f03ed4c81d905904 100644 (file)
@@ -1,12 +1,11 @@
 This is readline.info, produced by makeinfo version 4.7 from
 /Users/chet/src/bash/readline-src/doc/rlman.texi.
 
-   This manual describes the GNU Readline Library (version 5.1-beta1,
-11 November 2005), a library which aids in the consistency of user
-interface across discrete programs which provide a command line
-interface.
+   This manual describes the GNU Readline Library (version 5.2, 26
+April 2006), a library which aids in the consistency of user interface
+across discrete programs which provide a command line interface.
 
-   Copyright (C) 1988-2004 Free Software Foundation, Inc.
+   Copyright (C) 1988-2006 Free Software Foundation, Inc.
 
    Permission is granted to make and distribute verbatim copies of this
 manual provided the copyright notice and this permission notice are
@@ -14,7 +13,7 @@ preserved on all copies.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Free Documentation License,
-     Version 1.1 or any later version published by the Free Software
+     Version 1.2 or any later version published by the Free Software
      Foundation; with no Invariant Sections, with the Front-Cover texts
      being "A GNU Manual," and with the Back-Cover Texts as in (a)
      below.  A copy of the license is included in the section entitled
@@ -334,7 +333,8 @@ of keybindings.  Any user can customize programs that use Readline by
 putting commands in an "inputrc" file, conventionally in his home
 directory.  The name of this file is taken from the value of the
 environment variable `INPUTRC'.  If that variable is unset, the default
-is `~/.inputrc'.
+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 are set.
@@ -543,9 +543,10 @@ Key Bindings
 
      Once you know the name of the command, simply place on a line in
      the init file the name of the key you wish to bind the command to,
-     a colon, and then the name of the command.  The name of the key
-     can be expressed in different ways, depending on what you find most
-     comfortable.
+     a colon, and then the name of the command.  There can be no space
+     between the key name and the colon - that will be interpreted as
+     part of the key name.  The name of the key can be expressed in
+     different ways, depending on what you find most comfortable.
 
      In addition to command names, readline allows keys to be bound to
      a string that is inserted when the key is pressed (a MACRO).
@@ -1280,7 +1281,7 @@ the standard `vi' movement keys, move to previous history lines with
 aiding in the consistency of user interface across discrete programs
 that need to provide a command line interface.
 
-   Copyright (C) 1988-2005 Free Software Foundation, Inc.
+   Copyright (C) 1988-2006 Free Software Foundation, Inc.
 
    Permission is granted to make and distribute verbatim copies of this
 manual provided the copyright notice and this permission notice pare
@@ -2251,8 +2252,10 @@ File: readline.info,  Node: Character Input,  Next: Terminal Management,  Prev:
  -- Function: int rl_set_keyboard_input_timeout (int u)
      While waiting for keyboard input in `rl_read_key()', Readline will
      wait for U microseconds for input before calling any function
-     assigned to `rl_event_hook'.  The default waiting period is
-     one-tenth of a second.  Returns the old timeout value.
+     assigned to `rl_event_hook'.  U must be greater than or equal to
+     zero (a zero-length timeout is equivalent to a poll).  The default
+     waiting period is one-tenth of a second.  Returns the old timeout
+     value.
 
 \1f
 File: readline.info,  Node: Terminal Management,  Next: Utility Functions,  Prev: Character Input,  Up: Readline Convenience Functions
@@ -2853,7 +2856,10 @@ File: readline.info,  Node: Completion Variables,  Next: A Short Completion Exam
      portion of the pathname the user typed.  It returns an integer
      that should be non-zero if the function modifies its directory
      argument.  It could be used to expand symbolic links or shell
-     variables in pathnames.
+     variables in pathnames.  At the least, even if no other expansion
+     is performed, this function should remove any quote characters
+     from the directory name, because its result will be passed
+     directly to `opendir()'.
 
  -- Variable: rl_compdisp_func_t * rl_completion_display_matches_hook
      If non-zero, then this is the address of a function to call when
@@ -4084,11 +4090,11 @@ Function and Variable Index
 * rl_attempted_completion_function:      Completion Variables.
                                                               (line  12)
 * rl_attempted_completion_over:          Completion Variables.
-                                                              (line 207)
+                                                              (line 210)
 * rl_basic_quote_characters:             Completion Variables.
-                                                              (line  96)
+                                                              (line  99)
 * rl_basic_word_break_characters:        Completion Variables.
-                                                              (line  90)
+                                                              (line  93)
 * rl_begin_undo_group:                   Allowing Undoing.    (line  29)
 * rl_bind_key:                           Binding Keys.        (line  22)
 * rl_bind_key_if_unbound:                Binding Keys.        (line  32)
@@ -4121,37 +4127,37 @@ Function and Variable Index
 * rl_complete_internal:                  Completion Functions.
                                                               (line  10)
 * rl_completer_quote_characters:         Completion Variables.
-                                                              (line 113)
+                                                              (line 116)
 * rl_completer_word_break_characters:    Completion Variables.
-                                                              (line  99)
+                                                              (line 102)
 * rl_completion_append_character:        Completion Variables.
-                                                              (line 137)
+                                                              (line 140)
 * rl_completion_display_matches_hook:    Completion Variables.
-                                                              (line  77)
+                                                              (line  80)
 * rl_completion_entry_function <1>:      Completion Variables.
                                                               (line   7)
 * rl_completion_entry_function:          How Completing Works.
                                                               (line  55)
 * rl_completion_found_quote:             Completion Variables.
-                                                              (line 165)
+                                                              (line 168)
 * rl_completion_mark_symlink_dirs:       Completion Variables.
-                                                              (line 172)
+                                                              (line 175)
 * rl_completion_matches:                 Completion Functions.
                                                               (line  45)
 * rl_completion_mode:                    Completion Functions.
                                                               (line  37)
 * rl_completion_query_items:             Completion Variables.
-                                                              (line 131)
+                                                              (line 134)
 * rl_completion_quote_character:         Completion Variables.
-                                                              (line 153)
+                                                              (line 156)
 * rl_completion_suppress_append:         Completion Variables.
-                                                              (line 147)
+                                                              (line 150)
 * rl_completion_suppress_quote:          Completion Variables.
-                                                              (line 159)
+                                                              (line 162)
 * rl_completion_type:                    Completion Variables.
-                                                              (line 214)
+                                                              (line 217)
 * rl_completion_word_break_hook:         Completion Variables.
-                                                              (line 104)
+                                                              (line 107)
 * rl_copy_keymap:                        Keymaps.             (line  17)
 * rl_copy_text:                          Modifying Text.      (line  15)
 * rl_crlf:                               Redisplay.           (line  30)
@@ -4178,15 +4184,15 @@ Function and Variable Index
 * rl_explicit_arg:                       Readline Variables.  (line 233)
 * rl_extend_line_buffer:                 Utility Functions.   (line  12)
 * rl_filename_completion_desired:        Completion Variables.
-                                                              (line 187)
+                                                              (line 190)
 * rl_filename_completion_function:       Completion Functions.
                                                               (line  59)
 * rl_filename_dequoting_function:        Completion Variables.
                                                               (line  37)
 * rl_filename_quote_characters:          Completion Variables.
-                                                              (line 119)
+                                                              (line 122)
 * rl_filename_quoting_desired:           Completion Variables.
-                                                              (line 197)
+                                                              (line 200)
 * rl_filename_quoting_function:          Completion Variables.
                                                               (line  24)
 * rl_forced_update_display:              Redisplay.           (line  11)
@@ -4211,11 +4217,11 @@ Function and Variable Index
 * rl_getc_function:                      Readline Variables.  (line 125)
 * rl_gnu_readline_p:                     Readline Variables.  (line  78)
 * rl_ignore_completion_duplicates:       Completion Variables.
-                                                              (line 183)
+                                                              (line 186)
 * rl_ignore_some_completions_function:   Completion Variables.
                                                               (line  56)
 * rl_inhibit_completion:                 Completion Variables.
-                                                              (line 222)
+                                                              (line 225)
 * rl_initialize:                         Utility Functions.   (line  16)
 * rl_insert_completions:                 Completion Functions.
                                                               (line  32)
@@ -4288,7 +4294,7 @@ Function and Variable Index
                                                               (line 113)
 * rl_show_char:                          Redisplay.           (line  33)
 * rl_special_prefixes:                   Completion Variables.
-                                                              (line 124)
+                                                              (line 127)
 * rl_startup_hook:                       Readline Variables.  (line 110)
 * rl_stuff_char:                         Character Input.     (line  19)
 * rl_terminal_name:                      Readline Variables.  (line  82)
@@ -4340,58 +4346,58 @@ Function and Variable Index
 
 \1f
 Tag Table:
-Node: Top\7f1339
-Node: Command Line Editing\7f1977
-Node: Introduction and Notation\7f2629
-Node: Readline Interaction\7f4252
-Node: Readline Bare Essentials\7f5444
-Node: Readline Movement Commands\7f7234
-Node: Readline Killing Commands\7f8200
-Node: Readline Arguments\7f10121
-Node: Searching\7f11166
-Node: Readline Init File\7f13318
-Node: Readline Init File Syntax\7f14384
-Node: Conditional Init Constructs\7f26319
-Node: Sample Init File\7f28853
-Node: Bindable Readline Commands\7f31971
-Node: Commands For Moving\7f33029
-Node: Commands For History\7f33891
-Node: Commands For Text\7f37016
-Node: Commands For Killing\7f39743
-Node: Numeric Arguments\7f41886
-Node: Commands For Completion\7f43026
-Node: Keyboard Macros\7f44571
-Node: Miscellaneous Commands\7f45143
-Node: Readline vi Mode\7f48505
-Node: Programming with GNU Readline\7f50329
-Node: Basic Behavior\7f51304
-Node: Custom Functions\7f54721
-Node: Readline Typedefs\7f56205
-Node: Function Writing\7f57844
-Node: Readline Variables\7f59151
-Node: Readline Convenience Functions\7f68853
-Node: Function Naming\7f69843
-Node: Keymaps\7f71105
-Node: Binding Keys\7f72877
-Node: Associating Function Names and Bindings\7f77424
-Node: Allowing Undoing\7f79686
-Node: Redisplay\7f82236
-Node: Modifying Text\7f86136
-Node: Character Input\7f87382
-Node: Terminal Management\7f89180
-Node: Utility Functions\7f90616
-Node: Miscellaneous Functions\7f92981
-Node: Alternate Interface\7f95278
-Node: A Readline Example\7f97437
-Node: Readline Signal Handling\7f99340
-Node: Custom Completers\7f105208
-Node: How Completing Works\7f105928
-Node: Completion Functions\7f109242
-Node: Completion Variables\7f112814
-Node: A Short Completion Example\7f125004
-Node: Copying This Manual\7f137177
-Node: GNU Free Documentation License\7f137439
-Node: Concept Index\7f159846
-Node: Function and Variable Index\7f161502
+Node: Top\7f1330
+Node: Command Line Editing\7f1968
+Node: Introduction and Notation\7f2620
+Node: Readline Interaction\7f4243
+Node: Readline Bare Essentials\7f5435
+Node: Readline Movement Commands\7f7225
+Node: Readline Killing Commands\7f8191
+Node: Readline Arguments\7f10112
+Node: Searching\7f11157
+Node: Readline Init File\7f13309
+Node: Readline Init File Syntax\7f14463
+Node: Conditional Init Constructs\7f26513
+Node: Sample Init File\7f29047
+Node: Bindable Readline Commands\7f32165
+Node: Commands For Moving\7f33223
+Node: Commands For History\7f34085
+Node: Commands For Text\7f37210
+Node: Commands For Killing\7f39937
+Node: Numeric Arguments\7f42080
+Node: Commands For Completion\7f43220
+Node: Keyboard Macros\7f44765
+Node: Miscellaneous Commands\7f45337
+Node: Readline vi Mode\7f48699
+Node: Programming with GNU Readline\7f50523
+Node: Basic Behavior\7f51498
+Node: Custom Functions\7f54915
+Node: Readline Typedefs\7f56399
+Node: Function Writing\7f58038
+Node: Readline Variables\7f59345
+Node: Readline Convenience Functions\7f69047
+Node: Function Naming\7f70037
+Node: Keymaps\7f71299
+Node: Binding Keys\7f73071
+Node: Associating Function Names and Bindings\7f77618
+Node: Allowing Undoing\7f79880
+Node: Redisplay\7f82430
+Node: Modifying Text\7f86330
+Node: Character Input\7f87576
+Node: Terminal Management\7f89474
+Node: Utility Functions\7f90910
+Node: Miscellaneous Functions\7f93275
+Node: Alternate Interface\7f95572
+Node: A Readline Example\7f97731
+Node: Readline Signal Handling\7f99634
+Node: Custom Completers\7f105502
+Node: How Completing Works\7f106222
+Node: Completion Functions\7f109536
+Node: Completion Variables\7f113108
+Node: A Short Completion Example\7f125502
+Node: Copying This Manual\7f137675
+Node: GNU Free Documentation License\7f137937
+Node: Concept Index\7f160344
+Node: Function and Variable Index\7f162000
 \1f
 End Tag Table
index 4d8efc455b8e0228486886fb5cb70ef834fa2c89..21b7f9963da715c82ad49f8b1236fd3c0506d624 100644 (file)
@@ -10,7 +10,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 600 -t letter -o readline.ps readline.dvi
 %DVIPSParameters: dpi=600, compressed
-%DVIPSSource:  TeX output 2005.12.06:1546
+%DVIPSSource:  TeX output 2006.07.06:0935
 %%BeginProcSet: texc.pro
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -3622,419 +3622,420 @@ B00DEA3A9B747FEEBC4A11E5B9B8B05CA2709B8AA935A42159D3DE399544F5AF
 AC1CC00F6CB94AB69856078C9A2EB2046BB9055CDD6A0622112F7D3710143F1C
 20CD8DAB4109CD47BC00EBCB88314081C1D6C43132412F261CE0262FA28DB7A3
 C7D8534BCBE1A60488EA230DC558B73C72AE87539A9D7E28C2BE05FC05F58DDD
-87117B7DEC7977BAB45D4A945708705F0172351337540995AE30014D72EC74BF
-9FE719C2DB7219EA5E6A3CA53D7C27EA091E4DE12F3F810F3EC4838B5B3A872A
-1B0DFE67C25B2ACABEF6D82C45EC9B15012FA9D0EF69265097E91F969C8E22E4
-825160B96EE9181005BCA35E04547BB8CBAB3B30F2528D7079582C527E1B8CA6
-C1529ED70029C8B457101889C37DE12541A2E6341F99E181DEAB84953F0733CC
-7173AF3A2D4999A6F798AB596B87D44F6B57672D6E475A1EFABD76698CDA887A
-86201143CB6EC8DD7A64AF229C605287F51AA88BA1C990396DFEFDD49DC6CA32
-C04D614930E769EAC512FF6641FBE41DC7A17B1D97B3FBD502CEEE62B4025AD4
-CDB70EAC958BF00377ED2DE47F196DA9DF0AA00C4E7D8A0578CDC6FEBD6C2DF7
-1D106B4F96B691EFC625F778172E9A9B2C9A584BE29A1A287FE111BBF534C83C
-B27B599AF047F721A0CCFA87D1C00B143C462875E23622D3A779FF507C99F3BC
-BB4CAF154F6778FC3FAD419FE52CBB00BC410138425272C2FAAD9DDC4F890C5C
-A31BD41CE648AB1F381FA44F06882480358894A6AAC407A6B70E571A0CF30B88
-9EF5E9A44738359B3E5A9704F8827ECDD5074ED2282366CE985AAFADA0E45B21
-26023C1971DE56B6FB238242559F7D045FF616ADF1944810ED556631057C7D7E
-105F841A51C6BB76AB499A1E36DEDBCA0E9AB0186F59603F20B56523B19E811B
-D8CFDF1025D599542B34AC0484E44656800FD656D07030C7FA5A6A2FD92E2E65
-D92F87A8B9FE63746372D2C48675C2E786BF8B83ABFAEE2B47F36C0D6F7C8C1E
-D13BDF31873139BBA84A9083D29C46AB1AB9DA0DFFA2616A4942B9590C690405
-811F77C3920FF661BA03A1A50BA1028E968FA65306A60A8E400A9414841167C0
-B486063FE9D4E76C5147485E05A5D9EF4809CA0C41DA2123458A39F503393ACC
-C9149FE8231D20E669D67F3D9C19547BAD194150C13C23FBF9244CD77F898337
-D48E576659113F5F5B9DFCE2AD35EA9CB8EB0FE36BF2761CE4130A74D320C419
-B33AEF7611D00554920D6484F1C2EB22F9037A9F7002BF270C104E2D7E46E651
-53EA393C90A7A70DC8F72C2733832758C18398AEB8807F392A12EC9468848E08
-3749E6477D7589D6CC7AD63ECD52397C33372AD8B13BA754BBDA5F8F92206235
-ACB6F489B306720C36F5A3F0902EA7B4C69968C4362C7CE69DF0A31F90287083
-C7C004934F23A70386C9F0DE0FF5684623F8F723A7B5DD5EA6981FA2130078B3
-7EA4E68FD012555D2A74BA5109F1D679834C1B4A8DD8F223C809699F68E9F452
-3E7FC7E7F9E30A19C5212A06A862FC4ABE835B0B17A9A7788C5EDC7B33DD4080
-F3EE40A8804B7AD8674BC414ECBEB5DE743BD7963254A3A1693F281FCC93C518
-E54550AE2F236B42B1AEDF3774E603ED850DDCF09A6EC4A92D31C29BA867B3E5
-CA7E7D37B9985C6887A1402C56F574D8EFBEC2353E4A37294401A267FB79FCFB
-49C5A6DA374E11EF1C2F015574B9A863DC7ADE154174789E5C0CAA8F0E648986
-16433040F58C804FD5A55450B9B11676D923C2B0C736CE71DE810FF93B29EB25
-B7F7FC77020345B09006F502D7F83B472B807424C4B02102B242C07AD309D63C
-24FDEAA9ED39D7D5A3B01ED5DF589703F10149EC39ED63A5C337F25C0BFC3621
-B119AA613027CB5069C5D6854BFE89BD19441E91A48DD928839CBFE3317AF4A1
-4FD6F452D9344801CBB3DE084DB20DDC7F5111CA90375543CB763F236B29949E
-ADDE2DC1223515BC76F812683604756A157173F8CE30F9FC794F8C7BB07C5252
-3185EDE84CE45E99681DD14A6BC9DE1E942FCBA2CD2B7A94AB7E5E451FA24CED
-6D008FEE900D5D8322154DE40D893A6BA762DEEE301DBC40099C2CC940098708
-8703C1455D53900E0CF9E84963A0B525919F0CC2B64B8C835DA217F7245432A9
-1DB5F10A9D4F5E63C28C40C4799D63B8167C8E655B0FD33487CDACE323F30452
-53856B3EA67DEAD78E79800F6C0BEEC94E9F1DEE63DDA1F873C72A3A7444E501
-B6B8FBC2661FDA22D4B4D1F6C62226899EF7A53F7DF6E9E0BE0F3E94715D786B
-D80ACCFE3CFCD44D2C448C9D6D6F653E4A2A67A3E7FA3BC5A96217224772AF14
-F6ED81F68D5057A80FF9AC1C486F38C7F1C77AC6405BDE96A836A0A44E7905AF
-2DF79F86D4BCCE65BFBC77F2D328D8807BDFE4558A3EF98BCE198C75DBA06144
-C62BE0EF71E2FB24F882A01770EDCB7E9E8E301284AD5CF2E0C52BC215FD6D30
-BD65A26C8ACDBBAE2CDA9A44F1DE42B87C1823280DAE64B66996048DE1967489
-7D2BEB683C93C909F1B09166075DF1720E8BAB3CEDAC1DA6C942D71F59D74D98
-D7D524CE9C5F30FABE9925BB30E2D35E274A052FF6324C767AC44EA28D091D8F
-57B6C156EA89C0889161EE4F8C7DA5F8337B3771C6E0E93ECD69E7DC5258A9F2
-289CC11FDAA6E3517B7375762E6FCBC1BBC88192AD19299FDAD5CD22E504209C
-1BE6CDC2EFEECB8860720189983485E10BEE73E6B4872C8B419F86E001925E28
-B483C99322E6DAA27C2937C8907E713C31DB7EB0BC8725AF870E3744168B97C6
-BCF3483EBA58CD5E9F9191C5DF2220E24B5A0739172E6D86EB41EB11276B0500
-69ED1186F05525572CDBDF3BAAFCC05E372D5C0CE4F8ECF7889C200E194A1FF3
-DFF0D042E7D3AC3A51A827A986E6A3DB8F8BCC5B66E509F9DCA18489A296A1C9
-C1F76BF8B6A79E72C1E0E9C0A9F49954092C414DFB77BE1D13214369E86D2608
-52E141A5722ACB31FFFD2CBBEB9CAEE98D09601D988E98FCD0835D574064CB29
-D192A8410690CEC6FED676E5292D87C8EE0354B5E1A2186BBE3D9BBFC1C0ADA9
-65A9B760BB36F52E3923624957D593F8FF6FC6B6BD6A9DAD2B511AC78FC52A64
-BB64B0BD0235689F014D92647BC1ACCDE52332FEC0A7428D7216FE2F841AA42E
-A2DE24564A6A693E0E3291075A1D18337DA5DEDAEA6FDAB77B3ABF2711E546EE
-616EEC27D4D0D8BD5FC8D2DA1DBFFECEF0640D7159DCBCEF0BF8DA0B6CAC1AEE
-BC67DD2482470346CF8EFDD8CFE22427E02669044C78EC9947204F9651AB39FE
-4B66AF0DA9A966FE5BA4360DB057F1F14D13B3DE6F94CC0BB83AA0F09671C0A5
-708A0B59172593C93D85F048704BA2579DC324B3AEF58089AAE163462C2E0332
-D4985B7B50B1F37048C0E79E7B85A8092B89E6077108FE644CFD0F58B43E9923
-8221503464DFF94AF49FC1121ABEDF250371C9349DCF779C3D488CC43A250C0C
-B47604660F86F93B3CC16044E230E48A97606857283DFE219220EB1CCA98377A
-B7C54440AFF35AAA326466485AFAA3F5AC8E3D9DBEAE6107AA9F8E97818C5BC8
-852B21ADDF3CAF7CA759CE1443474D76DCAC593A96D757AC642B6B8CBCF89ED3
-4FD40AB998FD245A5B4DF4D501132BAAD6AA70B272A3788E0AE7093B6A338199
-FF7CEFE7EF6AD49AFAF45AC84FF67F6C890B0274F75B65461A8685FA4407AC27
-17DD00EB2B7A5C0771FD25B8C41450E91D2EDBC708B8E07481183387BFD652FC
-BF1F05F160FBA53D33C11959F3F2299ED40A81392333E7D106EF5B40F0D38663
-DEE095DAF5B72D00BB4F9F8F26356B3A6456017B94946A3517CF712950E9FF4B
-EB8988AE17432EC9AA2048D7E2809DAF6BAD894DD2637923E3D75767988DE43D
-AB22D37C6C0420C658BEE5CA676128DBEE15CB2450DA40204279F061ACAFD15D
-94B65148434362381CD614900159F7AC2EE5EF7C0531C73E1571BA7689078727
-E865CD8563A36AACF35E6A1E162A9C98C99574E813B9100BCA53A8D71E697AC6
-615CF0A599238D369243C20D1B4E8BF02F727EA5A2FF673F0AC76C84B5D70847
-1DDE277EE5EF41C2083185C5E11C1A4CF77A8A2C3ADFC0FC8F2711AC9B38F92A
-B51AC94073673A67D1AB54B9356E108233B2E88AE004BE9B6254CE5198AF99E3
-7D4995BBAE32DEB738FEB65A13D3F22065F83E48A30F0BD948AAA1C93E7C0B84
-CF3398C2B86B33759F8018239FC2CE615DB3B37B2C35E446A6FC8C24B85FF6C6
-10742456817381CD070DB115E25F15D85BC8BB3EDEECA6F21B580913221EC80C
-64FEBEBF64A82046322F289D32FEDC03313407EB63FA4533705C01AA85D12836
-E190848B461390A60E4B0816C5090E8CBAF315BF4E267B0D3875C06818A9CEDA
-6A16BBDC9E0701276CF6E7B9CF6882FD5DFD28E9C3E3C2AC9036EA3F24A4EA71
-F65088DA619A62AD63433DF16A4DCD7084FA3B6D4C20A76B3A5B437437C02A20
-452A79B7A778C8A245D3B2386F8F80D6303C8297C9E49C71791B2A940B704044
-EC687C7F706479D3B02353BDA6E78870436FCBBF1E4BDD0CAD173A707AB15941
-D9532F8C552DAF7E3DA6B02498C9E13912F071E3F117085C4ECD21CB3F6E1CAC
-641ACE00E92693775C29AA496D85F21F9A7D0E3E96B957208CE8D1F7540C2B7F
-40A71255551234D917C23977B787D4B97D8CFA28D1B3C6B02793278B0ECC2F2C
-7E7DD001E1585A66B1A3019910C1669BE8AD6705571AF79E1A586B166E3315FD
-BA3CB4C426DE470C8FE28E303576F34394D531359284AA34963965804A90272E
-9896F666F2B0B1CA29E49800E19C5286FB5156525C955EE830E3E4888D07ACA8
-63102C9460695B44EF7D422EC1A819F1E80AE3A98342AB0E0B775547641250C5
-47F024223E37ED8970976022B478F9C5C3F8831FDB4DDCB2C81B6D1C2A7FE134
-D24384D9680372DA0B4CE881ED6D3C6C334A0F5DF3DEF9D262052B1047951FE4
-42DD5270F367E94D33A58E9CFA94CC736F9A5FAA47D905CD28AB4E42D34F4085
-8C04D8BC65BBF069FC0342492A6929A211B0347995B5386A05A63A78F6D1EAC5
-72D925336C862CC10A5EF3F3C726079EFE3DDEC28618380920C7D9F3C73FFCEB
-137BAF5DD9DEA609FA95AB7F1770A8A82F98627289565D87AEF6FDB0FFB364DD
-18203D138240BF6A02636FDEC85A5996695C6A6C8E2E41B295819A48BE7CF094
-8B127B26AFECAE31E10E659AFC05A015C2DBD2678717935705723EC91291983B
-FB48D71769AF5CC34CB3844B68827C2E817A8F93AF30A0670AA8E601F71443BC
-FA420735CC19C90299187EB1183B49641DBBD6F87F115EB90D2E504F297B04C0
-FB5CCFADFA826180F6D3814ADFC7902AACDD197F167520CC528C824E6471327C
-B50C4C1371635038FB331982C7DC2DF48FEC3F4048D11AF5BBA9158B0B86BA28
-4BC1AB2607A3ECC2C944CD3BCBE8C5479C4CCC4F15BAF0AD9AF9296C68778AC6
-ED52033F9B0425F21F83ED2A452E81994F36E293948DDB1F27554EE3D1922A5E
-1B9F13FFFE79EDF68CB418FC8F67A17856F8E442201AD68F45095306AB6E0391
-C32F98C7B460241253897B6453D9F17B92234643C800BE71544985AA22D23881
-7E7601C90E655D5C9DC4C70F55B8617ED78FAD85AAFA391FF751BF0C93F03F79
-BEA299271C7B6FED8BD42D345366FDC0D44E061FC516F3514837285B5DE60D8F
-EB1E6424D840F466A936C9FDAB88C342EB887152C5A0EB20749916800830D3F5
-21D29BD7D1147B0F99148E407BAE52F1E124977E8C05E46D54108065366DAAB2
-94278CC4BE910A68A0644DB6F88423F9233A203D89CC3DC88A0F84AFE4E998E4
-C4F082F51F8693F95A6F08A96B5627A8C10004CFF35E1127CC4299BC159B2711
-27B895371A65D8DA94BD9E1BB56C5AE84C8BBC23A526E6133E89BBEADD2E25F8
-318EF4BB5541DF68AEA712940A9B50C1AFAA09F19F57BA4E29986DBAC02368E0
-2415C7DF37150E196CDD74337CB26454EA6F0AC14F1F598810D431C075C8B939
-A205688E86987C8A9C6E56042D2627C5E6730445D8A394DC6CE6DC6F3056373F
-DD8CC18EA19EF4F3F4B5F2055AC85F241C9E9E970687FC6B22385AF3BDA70A6F
-A6FE8C36FAE02F38180DBFEE65C6737EA9738B49D774035CA60EB228D8CCA709
-30FBAF6BDB58802708071E543B6A565BB775F8ABF0BE3E13D4F7B97542DC4F46
-CF3AE241496A29A295B807D367D0237C1F397B942A65E60A1313F78210F7E082
-4D355195B993BEC149C905B8D1AFB89C37A377D08AB853C1A0E56B42423F5308
-6824021E43157F85E1A5DAB38E1147C9C4B50E3B765B410E56999B33D9D66488
-26E8780DB2A1B7A8936F67452935F271E262823441124657F6B283ADE79E05F4
-9FAA4D2734CB7B7B8EECD155C9FFED48A47BADE32D1CA56CA5801C6D4B5BC900
-C3779C078FCF5670F74DE65556E8A6545269D157D54EE8D555F0B4DE4315486C
-FBC6C534DF83E527082051128187115A68A8B2F2AD7224C0CF054C2A6FA7B7C3
-BAC811A5C717A33FA95F27E2EF005C07B62A810A4EF62C1DEB5BDC8117F395DA
-0D4EE7D555A2C9FBF0214600B6A6CC0129EDD4ED15269631AC66E133D42257A2
-8C7426DEA9D01118A93BB083849BB26AD61F0FC29BC233A09E7FAB87F1F70616
-3C23EB70ACE221E3BBD29370532EF0CC134984065EA1D8692BD8CC0858BD61FF
-96418CB9653EFC45730FB9B4463B2D63245E3720E95E7C1A000B903B102E7511
-418AC726633373A4F0BE6B3F37A197D0B75ACB722597FF179AB1AF95ADF841B9
-97B35A48FE7E3EC594B291A202B7855640E143309CCAB41F25C3C35EA6BB0F11
-9617F4DC575DE1553C432E2C48E1E77AB04D85A0BC185C88BAFD0E0D5D4E90BB
-89DFC7D18824ED125E195AF2341B3017E8282ACBDA90F96EF19B8FA223141F17
-CB38018CCA5D9BDDB5BC5BA2C6E848768331C9D73EBE7F176CE969E419A7B865
-A12E853F314E3071F58F0E8A07AEDADB951A7015FBA6F47B5981AA089035E349
-40406D0334BBB1F6F21C604269B207E8432B5C48D6089CBA115D05FCD30DF213
-CFDF4AC7A3351C5A89CED39F9267D4F6124B9350C9FFCE34E81219CC604E9F3B
-B4ED7426D57C8C688622CE186AEFA427880F22EB177395B0716D6D7367BEE76D
-899D640F017EEDE48D3C7E6B5CEB92E9C3FF6D708AA5A871B6B09922255ADDA1
-0F8CF7AAB52906D4F323FAB9C46D8F43961AEB6EC72C8EAA0B1FABD4D805C27F
-2D6C89B414D1AEFBB3176A67269FECB72B2F3AD803A75B8AD1590075B5B41253
-BC3118224B8CCAD3EC204C38BE7EAE07BB189398A31837E1D5FA81EE3F5A4D4D
-81455EF890151AC4318E6D3763ED40531CA75F7252267386BEC4DB8AC1A3D8CF
-7CBFFBDDDDE80A0728CB04FB05AF5A39AE08D95E0136E01AC4E6EFDE88471480
-018E63626C002620946876136C8F3CDAE4D1BD7DFF1F674FF2232E46D84FB20E
-7088FF5E3EC783155C6B8FA1E1DB66C83F37E94134E0729D20E74DA1A53F9F00
-13F42839774CE3E1BE225CF969286B0719CE0399A1D83D51278F7514B7F02A21
-351F006E7A15FDB650A5C9E3877D5490AACDB33541CC15ACE8E1C9E548303E90
-1D23A2FF71473CC83DBEC78A32E2D51F41535B776B42083CD02E4E18EE91B331
-347A7FB5D570252FA5107A5CB471D1F6FDB05951CCEFFD9FDB8129FBE475FFB0
-B01D91A8013852D554C47E48F4B9F8E966302E473379CC68E8A2E0CA17FEB016
-15FA71FFF852984B768CB67CEAD942C8DBA98C06EF114AE99274190873BA1ADC
-65181E9EA880959E4FE7DB97D799D4D87A3DFEE680FA2E430C66255B5AE986B5
-14631B2F10AC0C25E1AB148651EF26AC1665234C5046F065A71B95730A1736D2
-DB23390470100510483BDE1BA0855E1D77D9B2A0E0106A3212EEEA11CCB353C3
-2D1E8DE4704FCB5CAA22DCA5B195180CFAF9D1B9CA0ADE3877004035A82EFA7C
-2C37AC1B2A02447A7B7886BC31AABD4D9C6491E8EBAE284ED208BA821C01282B
-4BA140CBDD58DD9F50C90CAFA1A99C4F951F90734DADB2D5C0A59E0BEE4609CA
-D8210E3D55A985800EF05869A37C3F4BFE46CEB765673BF7D63E72CB03958025
-C5085D838EE5140DEF23735A94AADB59208CAF1A7D2529A8D6535EF38958B6B8
-C307C93E983087F3CD83274E102AA0F8842E63739AD08C55B89101A604A9F3C5
-14620B7F95078539B49EE523699A0494A091119D48E51FF3C0945909131C2756
-6A66DF6C5AEF12CFB63CB8C9AFC3BFA4CF89C92BD86285FA4EA6451FF2C85E24
-BF4C061D16928179EB26879F7A84514088421449A17123CA53976E0FCF10DDB7
-2212D5C4A1D7AD89B27FADB303E951C0CBBE84B5963CD116061FF2767A6176FC
-7405F6B56F9682E3458FEDBE301ABBCD2EA90C576F4459D56FED140634F32401
-80D33A4B1411691FCB2C03F43628E5972D53381C8B082EAFB42CB0A3C4F64633
-4453390B82C2C2E1C9EE6FFD39F82AE666BEE38CB68812BB08C2C7F8F22C5BAC
-0F900A03FEF6981278F32425B0B9C248B18D8E368F9932CD2BE59A3375932A97
-E3C73C024302DCE592EF84B141501F99D9CA0CFF8F256B168FADDD7093EF9132
-1275171A6C7154EA117E27791D155C4D8B0508A96EB8B5292F9081135BE0D59A
-5857AAC2484F4A7E7C8156C72BE7CB7B31A9B94C1DC1E36540A64B8EAB85698F
-A6F3A369ACD6EBA7D2FD86388B097595260A7F276A7C5EF5298F3B46448B36F3
-A304CBB6416096FAA45A1531C1DBC678C6143D0FEF494EB2D5ADDF28681C15EB
-8CAFCAAA4AD3B912683C52594477A8086270839BE2B7EF043B02068C0376F86A
-66E353DC4CD100DDC4BFEDAD47F656D2B4786F386F61A9157AF0F1A116C51474
-D07BB877FFA1BA04BE68D07C3D606CA4B22D24CF761F89DFD054B5711867441F
-4BA3D541B4205EDB2EBB7DA406A9D7D5F9EBDA1C5FC6B5E80C2FD61C128AB5CB
-1E76B896A76B3C0AF5D5EC0FC416FA9910193EE8C8DB3ED356ABD4FB38A5B20E
-971AA199BCB54B73B47361A0DC7A7617B2CC1248843743E95F71164A524277E2
-196546C146BA4F4EF03117C49AECBB48308F820A793549790A7233825505013A
-FFF9EB0BBBA29A54EB6637E11DF9F1704B0F2F115D7583A0C205AF7CE7ECA43F
-F273FF876977E0B5467781962F3126468E5F837BC92DB7EEFDFF17246C266AE2
-7BB3D2646D0DEA519EFFC60DB1267D6EE9435DFF69C1380BB98E47B491AFB12A
-5D6DA1EE989CBD084E38D2B15DBAB23B2C23389CE75219F295207B5C78C79E27
-2223621E0229C67A668C27427861A4E44461B55EE8F0F34C091669424140F0AA
-61EBFD9BFE5C40F5AB85ACC8AEACA6C19C98D28AEA2E7B727196316BB8B897E9
-6FA7D58EA4FFC9C9C48BE4D733376056AA5CA8CDFE34CB1B99AFD8E25FF19DCD
-2B58EEEE1A90BB33FB718ECFEB1957B500B618388A83B32FEC2FCF58C5A3B3C7
-68290CBFFA515C6B3BE8E249364CB1DF2583E0677E070A6A110334823860A266
-E6176464C675C657BC555910066F705860A7E982388E166D8D89B84E02FAEA52
-D7EAB66BD9E8B7ECC9FFCF2E60ABC1E94BB682E48F54F76119B5816ECFD499BA
-4CDA98409F99D0D705CE2209311E844A03A8E92C488529F5C8F67DD652103382
-176B20C5A29C1850BCEBE6398491B2EDB841DF4ECC30B7A7BF7D1127C3A41359
-2A0B3A6F078FAE1FEA13D12E120CFA72F400C83A85BED5D13934111E9753763F
-DACF0707DD8A796EC4B5989231AE7A6726220A2F6BCF601C9A83C19401C7881C
-7A94273C08F2AF3E7792D51C300FAF63F9BA92A15B4CF269B013BD5F52F0FC20
-1883318C46656E1D7A491BA564634AAA7CEFF389EDA4D52BC1C3A6D8652B4AC0
-0D7372316B23C6A7678D89B4B3F7DFDF9188894693CFEF7E4C9D9D62A5179449
-7257E4B7C3561FB6136B12FC7CE972A434CBBB9D8F59C832097EF8FD163E477C
-332977DA990F9D371FC0EE469B1C4A73D2CC107CFC46D3EC42BE05E46799A567
-DD33993EB2B31A19FD3463CD8A8B3C14DF6AA2E4DDC95B8F9068106C19408AD5
-CA4E09C975BB7A161F7A44D650FCF5FF096F399DC953987C2B96294E736802F2
-E443268A5A8367AC8DBDBE581D9A391FEFB114B96A5DD9A66E6CF0C52A46227F
-6D4DCE9165447C0DC2DF3BBDB206FBEA6AFD3A87C07345CED78843F60BB3A03A
-3481E4C90CACA5A68CA5ABB22D15282CB3B10492FE821ED1141DF6E7A8B36204
-788C853591C31BDBF86F1DBE08ABC1F44C394ABFEDFB23A99AB18DD9D6599606
-AFB2A9B3CE068D24D2154C2DEE7459395DCBDB8088975BC1D2339029C4F629C5
-C518CDB270A952763E7B13A93A89960332E7A9C64D0107099FAF59FCF9C2F6EB
-92810C690E04A6DBA109C8298E680D7955D7608611B0D145B48AD141A270A870
-7DC3F99EA89532269C21F2309E0D6A5F7F7A28D5CD27C1FF2A23E22C86A0CFC7
-20ED6B0BA44DC0D1528974C4BCF7C0169EFB17A69AE505F9448258463CFF8935
-CFBDF89B85E3E3A376FCB73B205A74DA37CCC0144343B25F1DD760DBD7F95FC2
-3F8E49F9FC4EEE1B6064598D3CE0A2B3CC9F87BBFC7CCA69A9C3350C02DAF480
-019EB4B31EFFE7BE576A5B2DE88737D59A8F62223E6F3CDE4737F13352C7399A
-A3D3A98134AA3FBDBF176B4A933E7B06FCADB941D8E96888D7F11E83EEDC54E2
-EB8E0C966254850B9DCE8C9849A9EACC704FC68C8DC330FE2B8BB23242C476D1
-C94913EA378341C8F03C94E0DC83F600F413A85C2C605F3E63DA3A082003AF79
-4B650A01B3138B493B614751C7A44708916D75E458997B5C1F8C2359DACC61F7
-C9D58A98898E8C37CEBE7475AF0C1FDDA0F30D1B27E4570AC0B74553D22D588D
-C32233F717EEC7BAEF56733D0616C44D966A4C96D7A37C3F511A1187399F6E09
-E9D28BBFFA9D627A288559710F9CA3109DDD920B89D66038090309FDD02546C1
-6F15AADCCB2C378C770FC33E48911F4EF573B4E6231AEABE1BF8411F81DC7F16
-036A2EE6A54A0CA35C21EE9526E38578D8B976EBBEB9EFD7FCBA630F8454BA7B
-33A10CF6234A10E962F1BE898AD3A7785E9F1470689726E03DFC9DF58E814DDA
-1E9F428037FCEFEA7E428622F0E9361A0F641CD89C974ACB3BF8DABBD2EF2669
-7C6D33499EF5539FB0B4B990C508957C56B6ECDE3692628F22B6A67D591B783C
-E6199B10F2460BC8CD8D08A31C848322BC5A66142263FDB95E0C3E1B3B009F47
-56D3C2DD344821AE1B375937AD71BA0B1BD8EEA6B423C6F0A3D065C0DE876EE5
-6E6F1EEE955A67E1C7A65213575BD53A3C32BAFEAA468F5B0B0D523A0ED45984
-CF8D8E9043AC0AB2CE3BE392A508FB092A855CF4E4D5BED3FBC27D6B1AC32FAA
-E905ADF483949123E98A6F2F65F561822837C57C6D5D5BAF860D935DB2A4CE75
-BFECC86F0210424F07FE5A8F318B1FF818B5F44247D6F0B975EC02145E47F1F9
-C579FC02511F9CF19D65B10338A100DEAC861D6569FAFE847CBF72531CD54864
-60A7368E8DDA70CC8332A85893E3E270FC7876DEE2E4205E592B8D431438B29D
-324136007F1BD802503B2259AC71DA890786B731E0C34A73179D8522DFBAC5AE
-CDC1FC0852A01EFDF6D50BBE47A4FF69936A8CDFE6102A5B25443F2B684E450E
-58C8CB9068EEB127634CC9AD740E01951F8EB724F2E42EC9DED4434629BEB810
-88D2C013ADE23A15D61087CC1DED68AB4924FDDEF0E30B2CE5C17DD4BAA88B77
-06837AE8245B88239B6AE7953DC1D95975356BEF1529DE7582455F43ED83A488
-01C1AE46834F1BDD9704E85A151CEEF4F0D9E08C85ADF68A497A81064C093007
-08F9DEC44AF753D586BC2D2F1D40ECE2B3B4E57A8F0404AA2955D6AC2DBB37EE
-074D03E51FB58FD573893B88E8ECC7E68198CD18F5DAEB0BC84915EEEC4BA918
-86F7E64A575AB09EC19BAE2C33D8EDAE05A9C90B90F0861410CC0FCCD6BBF11D
-78EC64F8C453ABC7FEABD5C49E70CCD23B7A4F435F09E0AB33DCD24A76D5112D
-BB0536872A2F39B0E540C8961FB71A2950FA5A3880216D296B9B764B7A955BD7
-38072CCBCDE6B5FC862FD23C95460BF14BB431A383BE8F6DCD902B4A808BC64C
-515E7BD3A8A90786B64149AC65059E5E6A86708D951054B488A1587CB1BC0000
-A80F17F4E72E2CB4F0D18DA55633CD9BD04490E3C04B11D2FA488A98F31E743D
-7AFAF0DF30ED6A371FEAC0C9DCF3342898DD8A3C4560AFD03D52282767C83467
-38C397D8732F17F6DE02A722F2C28461A129F427B4824C9E12D9A16480EB81D4
-BE4A062834149676D31821CD3B68905CF120C58013615D6B89665D05A72DD127
-78DEE15D9B612336BB81A6C13FCCC5299769D0CE6F1ABA7616953A72F80306B3
-95DD1F24AB2E5D75BCEAF1DF190A54BEF673280150990250232F1637CA7F5FB2
-736C3D71C1F93F12550AABD90B7CA0FAC0B8D4E99488E270CDDD675FA1C6AF1C
-F855309CB2417D4094F83F7F9D2DBF4CCD2CAF17926591DE077ADFE86FAA4452
-B1D613A54A1614D85FD6A1F9ADE41B04EE0FDCC96A5ED01611C16CCCCF983FEF
-E0576A8C5C60E05DFAB842B4C1A1E230F7FBE6591DD57C034326876E8FE75217
-B036F5E70D4487D8FCC1ACEC8709CB9AE028A735D82425035D5A27EC608F1EEC
-86E11A204B76BC2BC8D3FF9A192BF8E6F8FBE05A4E1876D77F89A02E098F3E52
-0EA2C6112AA71A624A8FC28261D74C78F0CC401B267092A5C6BCA5DAFF38B0B8
-FD59C53DC36B464CC7E22921EDEA286F3EC5D2D385FE91639DEBD92743E9516B
-ADF0845FEDB936EBA1005ED4B49983EFBED369535C10A9E8E446032A25167A81
-90DBD6C9FA1C1BAAB475B3F0E7CE0227033E013AC2E6193E5ACE6383C6EBD697
-029381EAEE77197BC1E986E303E7C60463B732311DE1193E4176F2C599542B4E
-3D188BCECF1AB6F2C5527D041BD5CFB6D46F19A08AC8B26268D81FA31E28D196
-AB251C9CAED22478A8A7441FCB4A9A9D91A88EC924FEE72F956F55880B0AD537
-97F14DF2973A7A6C3D66AA6EAEEC226913331AAEEC6402977B1C7DD2033F776B
-763D49079C83AD203E346377FF069FEA724CC3F73A114AE50990AA03009EC319
-EC7BB856368072DB00FE2EE872CA9D430DF33AA7FB95082BD33C0670E778D897
-E53935569FFC6F1BE605E8D8C1D4B92DA3A106E9D16E4E6B9FBAABCA917A0ED2
-C3B874B08E542C8851EE1F868C675A60D33B746053A419721C7BAD2EA12F27F1
-A58546B2C288C8C761F15258DEA75BC627A639FFDDE3A16DB0D9309DAEB869C1
-D1ABE233069A0912DDF81193605886E14282980C1F347902389BB9DB17580899
-88E4C5F502E16E3D1AE4881FD62797483BDA5AC3DE293AC29058D79673FCD6F2
-CA5A5854F0F951532F242B23CAD3AEEE9F4226B04DBBB087DA71D6A21D555847
-FF863004F08486A84EBFD234334E5FC241866E1803A0637DE492B4AE0F98D4BD
-AC0D2B92549D28715B9E7BA68D22A1FCEBEB77341361B541F9CC13421459AFA4
-B0FDA93D290E443FE70AB54A2AAE30AABA70F57BC0870ED87EA2EF54648FCDA9
-60D129F44C09AD4D9ADD8BEFC78F90E7DF3AE7A5D67747EC6FF6DF3C51CFC1E1
-A79CBBF74B50BE7C2868AC933A9A3003984081795D1E2CB5CD52573FA8B2C9E6
-579010E221DB06DDBDEA111AF0E72789A316F461B0FC5325BD6CDCCF9D872F8C
-157E22F2B16F7176A52AC31D05E2C49A661A278882768F100ADA658E3ADB514E
-71BAF05606F462A04652AF29105079D01DDD8B85AD86606D74BBFDC44157CC5B
-AA7F168D8FCD3F41B171A3A2B1B87B5DD3C36BAEA7D75DF35E258540360A3F94
-31DACF11C2168149649FE610396168291A229A18BFAD956F839AA7040660BD56
-DDF70CC06DA6021B95196EB700A84E1CA59A8F8065895C2D408700B613FCE6BB
-687B4654EAF8C7F8E1C2B0244D36A583675A93C70F941D80C1245E8352D0F3C5
-C1BE27C22D430BC68CB5A19D0C1AE9AAAFC03D65DC29BE3F5AB7155B0FEAAF46
-0DE7804B243D635B4CE91BBF0A9BCCFB7974C6A03A9F64C45AA993DB70374C91
-E37471193DC6334CB181CFE40A9BFEFF41DFDBF10477A2D1D82C33529225BD49
-F760032CF9BD374CC680EECE471CD73B1290D4CE657057DF4E23E3A52122BA6A
-E1727163933848E9AF7E290526A3DAF79DE65B7BFE6BC6E33288FB847ED9F9B3
-39E0132D14C244D1E7B830AB519E304C9ACDD4A12D85D4CFDE1A4FDCCB451D8A
-277ABA30BF92625B593C05B655276966239AE696C279A0789F9FC9A620FBC224
-886CDFE2D307D723DE22A0C0C50E9AFFA2D33E9AC198E9405A3B607CD5AE6EC6
-A616B21444D58029A44A9389ACFCCD497F4FE29CC4B181699534E1B83AD85F61
-8911499DA69867AA9B5255DFDB864FC37A6987E6CB661436CE3A9E01B8B5BF96
-73437C9366A8941B952C298FC4AB93EE364C54F119C5F2A60FD5BC933A44FF40
-D87D7842B1384B7F2D83875D57CC245F2D1C3B7BD0EE2E88D62693F2C8229ABE
-CDC5E438DB2CF70693AF163238E48FF87A47AD107ACEFF6BA319663DB8F8172C
-1CC91EB19063BB3B742E607EB7020C55345AC6CE9446CFCEEC3CACBE6FDB69FD
-BC13FF64457FF001ADACED90E0CF1C61FABE58B6720E0615456D4084D4981515
-63CBB7142D8973D481F0B3FE9B54A0F276668CEB1B1441F08E9B41B2754F8145
-0C7BF4734015B90E2D61AEDB7189DCC18E7C60519387B2E0BF177F497083E8A1
-052D1D494AB2528CDE37BFB459682066C49545EE2BC04C31D9FD70E092B4CFB7
-FC8FB9B6DE0EB48F24DAC9BB80D1DF95C4248D5C28CAEAFA0BE9C3445D8C9CE3
-ABE0FA0AF4AD425851E7588A9C4A9CDA54CA4A075ACFA5D88DA0F5176CED8527
-083B08C61DC18311668973AECD50DBA7E94625B36FA3B19EF34B1B4424CB404E
-DF52989F313676A19629C28FF62A15E10328D526AF0AB24E3D758F2C0F84F52E
-BFAD5F980D7498DF12D19CEA56177CE1424869CC9342126404AF9E56D0B56E5E
-4A9FC9DCB519B1255BE2B3656B25E6834839782987F2587B3B6BD92CF5B060A5
-46154B723629C6AF9F3F9D75AA8332AF64ADA632B6F038794BF9E2936DC9B4F5
-43C29B7EE4AE984154F6F4554706E72361CCB4512D8F3320DB1921CE7F7ACFE3
-1B7F0A72D20A2912540E17DEBBC8CC2B2E236DA28F308117B76D2550200A2B66
-94CA669A909B2AE2FABFE76B641BF3ED9F236E29722F74CFAC337C69B51B4458
-7EB870315A0A136B0D183B5C9E25D2FD57C75BCC0C7406AB30AE3E3FE1D60B2A
-C8050242C14A712EE6C867AAA701CAF8B33276150D90C60B5ED62958FFCF4E67
-558B518020959040A3B990B412F74987A94B09C4ACE894EC57E52F434DA49604
-F33262B59D73B7F70BF696D7BBD8F7F4AC8120B5949DED09D8993CEB6AA61E7E
-586D50B652A7B7D80BF1F19F84D092ED2D448A9BBADFCC8739CB6F6BD0B37297
-A3CF815325145E174D3BF6A07CDB2834943B02FC4FEDFF98618C8F7E81143F3D
-6BF377FF9B9193C2DD24F3A3FCECCC610C4D2159E16FC5131206F7A96D8E7FD8
-AB1B67684B14BACC5E760073BCE327AADEE16436D4304FF7E1D5E40B739015F3
-80DF204E2AD0EFACE7B11F87DB74DACDCB2FA973D9880426290FE865E9D214CB
-783B4CC2990E7C66759269C4829AF519FB6647166107B7FBF3EC1691BC75E78A
-78D9C13CCA8934E475DB1EAC5F638E8E348D5C3F0E78596AD150CD6CE07E687D
-5B19E531A6B2780FEC840C5F5AA34FB3D0F9F7D08032547882005A8B37B9E7C8
-9162664F84FDC45E488B379108DF22DFAE3C94FFF02DAB30943F4FAAADF13AA5
-85CA5937903E961990629D2B0B58C6BE3CB35F53338C53309E64ABA4B3E2C619
-E842F69D946C945359BEFBCBA43550B3BA9BA169833AC32B7C89EC9C0F7D5636
-89E310BD1FD121EA02B31E1A56C5738AE2EB4B27883766691AA61D4A5D03844E
-6D655C71E499AB9BEA78A4EE71D7725AD310B23BF925CEFC7E0C61D060027E10
-AF3F5A57CF69919E02794D159A206D331B62A2900699C8CB652052674F408E57
-8ED7F6A79718CFD58E39D990F11827746E8CC41191A4B214C0D582F72F8C9FF5
-11A9D1D35C7A669C63297D8BA473EAE51E08EF60004743878CBDB21562A7077B
-ED300666FECF938675907DA0C7ACC29C21046DD98E741D6AEF51120D975E1590
-E493CD5AD6739DA83900B109B1DB865812B3B821C4AEDC089719C81441C2C80D
-181B640E0C57C53BB1BE99594BFC6D5FEE646FE75E03B759A5AB12EC591E9A67
-1C1D04CC207C300F79D2ED9A05A1F285D87F903F80820B1E7847C61A04CC59C5
-1CF0845F401190139D51A04539498906B94F6169EC038849D6981CF3DB34000F
-10DEB817BB9FC3D94B7C1E0A96E4F8B3118E302CC7669012DD9C4EB9E1A13C67
-658F61688440A7A9F9E26BC63A87AC3ED2201B8CE895292728FBB1E6E4C3D185
-FF8C1B4D9C0574A868E81E273AC96838E37F7258D5FF5A39F90FC2F94156F71F
-F9C3E576B29EAB74A1375A3042B5D46FC4F839C26B3FB2EE5C67EA9E77DDECE7
-134A75420C99771B95F28D30B766CF4B553E90BD06DFD63B3924E9409D8841F8
-85024406E9F6E38F4476371F368ADCB44C0C6D7D576AA1ECA6A0C0AD1F4BA2A8
-674341670678014E974F12E5E64FE3AB80BFABF5C27E9B27B83A9AFB9D16629C
-A2DC2FDC7E2DF71818BA334F043733632A20AD495FF469F05ED88E9379378B3E
-1E8B75ADDC3E59A3D7B48F7FF8A61A85B96E87528D56A6950AF5960C36D231A9
-D83C9FE642EC5201BB798954A900B402070B524E29A5932304607159A4F494EC
-4CE0E1FDA8E49A34F33B2C96C9D463A66098BCB8833C5D7E1B368454E48CDB25
-4B3CFD7EBC09EE03BB95D48C40C7FEFB4F11A191032427962754916877D6E6B4
-C172A7D64FA392117ED53420C0CF60B5AABA717DB9CBAE089DCDAAB90FDFAB6A
-9F02058D98F2F1F82AEE7FF621A191DB861C95EE2615179716343CD44EEFAF1F
-831AE745FBF43A3878492C2606026ADA1B8E61F8AD0E8C8323888C91AC3AB359
-9F4F1B0ED460684C3BB8BFED81552376F76EE9B568DFB2519B032FF782F82EBD
-3EA52064AF6A0C04E2B9761167D1C8F93D8ABFAD75A1CFED2F5F4D1AFC17E9FC
-7B06752E17CCFB3EF0FC5EB1832F6C7DBA1D590A804DAC83FC9AF8C919014C32
-F1D0E9A667456A2364791405BA58C67A9AB002F4882DF6DD954486B1518A9C91
-1BBBBCFCD883714B0A888CACC8CDB3B8982FD8AB7D512A5BD7145C245FA6E3D4
-66C6E829A0A8640744F781EE6A59B490F783A251D223D9270C8BC5B04DC11D43
-404E161310290FE252A78D7A766FF0B767AAB702D3664F756F7E013BB84EAA32
-A9902F73F9EEA56C7D258068EADDCB9089DE2EDA54350AC7312D50AA877387A1
-4D338442564AED435127C83DA956BEC6A9F4F0C876D1507F5749A6D04AFFD17A
-E116A337C59AF9B8A550511F9811B75CD45E53984B26115B0859515654AE5749
-17A893DF4C3613103F2388AEB730A72C6F191188E1F456FAB502C01567AF75A6
-C74373BA2C33046A9821122514CA96C81EE22021BFE73625609252A4931ABFC3
-79A81D23143B3959AF5E546AB2ADF6CBD4EB78D8731B68315CBD5D95230C0BDB
-C4D743B2888F5C09A3C38F821614BF4C47AAEC9503D50B8B0AC60AA9C843DEFD
-6C60D331D947E2FE40366647D7944AC2C149A27E2C72AD4019B0492B8CCBF411
-74CA332569C815F53F237FCACB38C90748B688E1C3DD96A2173A747B1EC3D03F
-6BD8B4CCE08472BDBB40636484A4A80904522C774653F572FBC2E0C6CBA78809
-E53C64EB02223DE6324AFB142ACDBD29CA079A50107EAC129E7F7D6835E4E71F
-1237D94521FD4AD135DF6E03C6886E1B55F3E3E0F466AA0F36E69382A34FBF6B
-0963C27950969538A9829D199780C3676130F82B664054B306AA13FB36986CA5
-442E2FDBD946C13F82DA2C4369246A00168566CA66F869C6BADAEDA8291CEFEF
-B07BE181DF9566C981727AB62B5A8F2703B87217DE8E46F7B4B39FCCB4710F4F
-08C70F336AF7ED4DE8C6856614CA228681028847237FFA2D72BF167AF1BF99A9
-EAF4790537A4E51BB9E31E9D6D6142DAFCFAF0EFE31FA502F8F4540638FCA94B
-29ECE4CC50D1F0DB08CD6C39C8E87D65FBF696D0E9D85C97038E8A0D63DAD193
-2A702EFDE85FA1E41A97137EA457653BFC568E60DD6C1D19977FC852FE3E3287
-DD604314EB01C9746911E4DB1A1AC4E098238EAD17377AA14B2CC15B3369402F
-C4E0C331412B798A5F329C344E49EE944D1B01EA168BD0CBE4F5897C3AE5E8FA
-C6576353EFEE66393D34EDD3E6FF2DA38CD660366DC33DAAFA023A9DE3191397
-C0AFB7E5B5B163DE7500A7B43F322BA20B7D95C8E1BC5E8D1D77196D0AF27D89
-476E0F01E23EA043CCE711E3A8E27C0419F7DC320212F86A3D44E40FF184C7AB
-7DF013AF9DF45A5DA9285C549F6C132488BBD51B43576A92F8297FBADDD58FD8
-9C1CD7A4142BA668B5E01858D01C3456288B52B8CF8152C8A1C7855A777E5DCD
-31DCB340B297FEE2596DA1EC6A3A3A0907F38F620D4E0B54AB95E30FF3A4440D
-73C69635C398AA777CF973D7B355AE60BDD84B880AB3D732C63C64FDE3AFB4A6
-57E90F51438C39BA3948D2F66EA8D9089C02D58F0B83B33CF3C8630BE1F48257
-2B16C6FAB4BA84F306C89B6242A0E2EEE82AE157167E537363A83421D30E157B
-D6DAE4E95B43B3A90499FF48898D53D9FB6B33026878E5D5ECD26FFABD866AFD
-70FE30B4183C65871D4094E54EA693B397495F991F13653A15250C011AD816FC
-DE7D139637750461C7A6A60DAFA68B7F8C639FCF5504B68EFEDE8497C9DD8537
-F88EFDBEEAC0A20372EA1B154CB20C0B054A092E60397371F50169BC87863AC5
-C4974F2EE1E3746BB8
+87117C0B5235B1486088B8368C80ECE70DC07A0493C32B571F6D6E5F3C7556B8
+79DD18A0C09C644C1B0A57E09CBF8247A97FBDA9442DF87C99CB00F959FE4925
+8FE8B3EA62A6C99396CEECAFDB091CBFAA0EA6F25BE1F34B1B8EF507D2347A7B
+866CE28452F7ADBB56F4696567032BD289B3439D6CB90A602223E00B43CD2585
+4D598BE43C0161BEAD813870FCA3E377A588C3D24667846301D1BEB056315636
+1304E2CB595B5297018C0ECD1BA4F8F1EA81B4FF88126295CD676D96756FB9FA
+C97CD2A8574EAEBB0A869C527E0828940C613B9D45894E4667172D841C94410B
+FCC5083CF850AEB2EF92BDBA8DBA361AE95B267FB5F90D5EF8B16B2A83568D5F
+50BD20AC88DE25DDFDAAB7B2F7662DB99E20989C7D12DE04057FCD2DEEC770D6
+535680D13ACB557EE7AF8DEBABC3088908943E6E3655C3C00ED022B276FFA5FA
+E6E4ABB96A214908EA899EC925E67E86413840A67B3FF86957586B5E06909036
+B9987C5BA21E46DE7919B382CFC4740ECC794A6577BE33CCB94E2E4BB3F28BBF
+AAC6E68DD9B01A59A7F3B964F53F41CB9BE94CD44027868F079324B44C595200
+0E375B069FC085DAD5B678ACBBFCCE8916C4266B572D89C0A7B6A26F1D329EA7
+63CDD44F37932CDC9C89C724AD52BF91CA68209471F26C10AA18CBCD1288460F
+9EA9BA85084A5F34451044B81559DBA03F03292638C28A704C553CB25312C568
+A06C9F5A764BA025FD48883244E88F1A31ACAE83432C2B837D034CC960EDE3C4
+2234FFFB8132473C8A750A41770EC46F9B2CA7FDD937A2C8CBF5DDD6162EEE0B
+36C53BDC0D2D7F6D38DC2F502755B0D25B0BD1858A9B16BA69549B5CA4673F0C
+32C5F1BA97E1C124374037E0B8EE94706B3B2AEB9CEBFF69E4F107BABED996B2
+EA92B4D94AA267E626953550633A74099022786C172A323DF9D903A0DF6CE486
+38AB2B0CA07D5EEF34BDE2DB5F539BEDB569F60005A3317EA6B1560C22606B8E
+AED6F84526090E626FBF48846E49714EA80C90FF66F82F36F3151B580DAFFFA2
+668B4952CAA66C6F10A341118E0D58B8CE34367BDAEA79645E27059FF2A43D2A
+435ED248345B6305316D1DAC5F75787D8E72D0D8C3145C0A1E45B201382EB716
+D06C5E8BA78B6F32B13F80E7EB6909D2B7ECD1420BA2B2A88C0C3154F3091065
+16A79C898C1682A98FC2A11A2B8D4536D74E6E228E5474090D42CBFE3BAA8029
+4564F468EE59B2E2BF8B2429634898F21C31812394AE3EC0CA8CFD5D5E818F4F
+344FF40488F06A48E9879E42F131DE378A8A733C6016BBDCA24B10B385BA73D3
+DF4770685FC7B9720D196A9FFF978C10977D37D98F11A3255486C8F8C3F67225
+4AA8884C88A3194EC1AFD2DA57258E30B057490A10AEA001017F06C83255C0AB
+13AE04B86FEEECC7F04A593282501423D319CC3FFAC3691DE723F71A6138EDBA
+F1373C651464A05906A2F370B0862F5E5CAA5C9570B7D5F9DB24FFE4A6C6B98C
+539FFD61F24487B2AF446467B1A3CA16E9BB2384972372C90DD930B8DAEC0FEA
+7C2692F029EA687E29EADEA6AE95F030A8DC599C8727F5CC41FFF86EC7E2D04E
+E1498E0AB0D2719E08956A68FE7E92EBC6945771DDC13689CB68D39EAF73CB2B
+DC8BAECFD1F721BC66D89342D650699C3364A2D0B35F58E4CDF2209512224472
+8920B0079AA5355990733CBCB8A372E1EA02B9DA4107F619968075F33BD123CB
+870D0DF6B22E6DB70F1328532A05BD7A624CB7488034E94F3622F97636CB1330
+FE3336665F27AF77FBCF01A786143F0AA892E1B2CDDAEF2E0F33E56F179CBC8A
+72973C643CF217828D892C818CECE72D0E89329C6A9159BF17D10BD3BB4A1154
+997ABD8127118AA79BD792292B6B9689D989258CA9F57A75C4C9CEADC338DF07
+13081B667C8D86DEEE5BDCC47FF96E2AA5B37C365585747EB3B664F08CC7ADAD
+B42D1B54096C60AD15596D7DC585316A36598A349E89242274B5171A1DE841CC
+30A5BE43B0ADB71C3DDA25650BFF704B452831FB06A7DB0D60D24436BFE23CC5
+AA68BFEE0897140B248E4A9BE7AAE37B98A54CC1D3F81164943B66250D55E554
+55A688BB9E3077FF8D11D1BE1C3FF99DA01EB206AC5AB1D394854DF5CD417084
+82BF6D1DAF88698A69DC196FA9A3285AAFFC3441CB4297A48DFC86B29490F2F4
+B514AE8F3D4C0EF920791371BBDD1B6369C38A90A2D2AC06B25781630847D6D0
+87B469CAC111778CEF26FA3233A85044965F3862C83F63CA2565B9644EC15B77
+BD2BA08CD8AC3DF1E5CC53CCE496172A18627384CD54595E3BE1E7D1B9751C86
+D6AD3EDCC725EA4B09BF3B92ED658356A3424F1B0D07B6E11B8E1D4823F5B0C8
+F3EA4BFA3DF77AED89D464D29BB2326ED2DEB73E327AC8B2C99B73DB70ACEB0B
+D0FD854CEFBC72FB9C906B4DB9EA35BA8018C623987C834B63E8C800A30BD551
+011F6E05EE76C26ED2F335E32BD4C866A57BA7AE89ACEB1066E795F122E1BBCD
+5768F2DEC922EFF8B1778F4FFB7BF1B6253F632F8D98648B81018D2FD4876974
+8C818E01ABFB557C8553B98A512241000B9DF64C1F5784343314B7B3CA04E506
+BBC612628AEE13DA23B3242AAC3B05244D3711121D5C9AFA8EBABD2074DD3658
+0F46D501A2CB11A370EA7E38E3682A31F5C47836E9CECAFB1BEC80DE889E99BD
+8F4DB78DBA5AC5D764EA99237738FEAAF199DDA7236D22B07D22A8F6ED023E44
+1828588397D723FB557CD35C7C5C87BB64E4A7F88B03FAF135ED0F185F7AFA4A
+F498B226D6D843EFECFD9029122B15065A4D04B509A8B633E46AD3D15D4F9EB1
+AA41E4694AC4DE0613B027E35C32935B5F0A9C21F5F60B9DFB5FAD619A35AF19
+20C0A1B2490E8E3BDACF27F37680BB32489D21F91603D4BC5FE69862A1A05F10
+4C11FE5744676C4794CC0B7F1AC1DC9861A247234FB986A0A4BC5F8F6A3183FE
+3A6FF5ED1D32A711906031CFF6802B5455CF208787AE3A35B1D437C64E5A3283
+A1B87F31D6B6AC634579FC3145035BC5F0B454CD9280BA3509B890D45AC7EC54
+F8FCDA7E5F8AB9F8201621417E17FFD8CB7BF55A6D9B21F95C403AC0112A94D4
+B7BAD823A1E9A5FEA956B08ABF303A917B69C8BAD87E685DEBA72E62AB132F46
+521CBA0C7A96A833AFDB396E0FEB85D3EC605A4EF6026C0A6CCADA56A26A8FDE
+18C61D26C93DC6E15F1B5E789567E833E79CB85580CB50A68AC93D9C2454861B
+487A833774E205A73A2932D0043759D5978921BB5B499BBEC5AC6F505EDE86C2
+8B8DAB630F36128B53BDA72CD82A3810E94C6947C9FB148574FD25E8629CBEF1
+2AAA7DD33D1A83C0235AF9F8FA00822AEF0A6E9DC7FA79B3872CAC39957D746E
+3F05C8EA69F0BBD0D96DA2ACA93E73FDECCA8B35D6CD52C464C1A51EDFAA83A0
+54C236F0064B7268C7DF4BC1F97606D48D6C8739AA2CE28CFF1B4986B4CE8A60
+D8DA6C67A6887CCC3A0A2790FF5FA00120D15C26E8D938D524F355FF8212A689
+D34269669DF03F1BACCFE834425972EEAB399EE578407F9550B93D65E63E3707
+CDA159B5AF4B68ED52D389CC6915CF7B0C737514EAB05C947AF32D67CC36D782
+C9F73B32CDF11D2CE33E8C3DAC12AD070D0CE9EB3C209D0830C0665DB9F61C35
+FF976057485A32A5A41E7205BCED4E2B9D2011AE3FA90ADFF6E3C58144293A55
+E25C6A98BA2113DAFB861F0C3544A15F5CC20496FBC58F1FA2088BC67334006E
+2AE3755CF0791FE82E8620A5BF3B487F37DBA3ABE1709DF21745CA7D7CDC0AF4
+F33FCF3672EF5ACB540CD7931FD18F815422B2A193C9AE34E626020F9AC0C36D
+4D5AC1137C75F10B42E2499DE914703C682806C9E1D158217C68329CE401234B
+462F92A35F20858F5FAFAE3062C57ECEB930B762880A982A8DCB7D010383A156
+547310C8BDEEDF6313650A2FD71856131E24F1299C8033CF49DA9BFD013F64D7
+2B571F6C2E0A84FE62F060298C654E068F0B8BA453D5F94BC89D3B5053721731
+AF5CCFED84B7F6CEC60FA31F84644CEFA02DC2323CADB246E64DE08D9BE4FAEA
+59D1652DFE1A09C41479C3CDB577942334F8C57545BD883E0AD172CEFE546C21
+5B9F63E32980B1E57B0EDD66674C9D919F6E323DA0A0CB8788F031BD533615B1
+D27320ABD6A1147E3200322DB2D8700B3F1F8B19E3C5B67842E84469D997B702
+0D8DE8894F5422DF2B9244C20186597587D3852F34ECB21E5244EA9C8596F0D8
+6E4D7353C7F6ABCAC499D7E34CA7E7789A54D712AE69DE15F767F045E637DDDB
+CAEFE413AF652D849D58D52DE084956D177AB7E3A9146B8A56BA23CB3F734298
+88C66B7C2B084EF219FA08BC87443FD9D86BBA351427631D368F514C7DAD7329
+DDCDCE8311971D746FE79322097E7F676740389F17B11587086942024918CCBE
+80A60A78D96F3CBB59CB81BF5D8028475316D96E12248867A3F23A859F8AB547
+B1F06C1ACFED4AB83378932A253B8FF8AD5F44BB4EC7A7F025BBAA179C81DBA2
+049053EDA32AC126C4F222B5FBB1119C7BE3F4BE0E9A3161CBC5F4842E6BD743
+11903130004FF705BDDC0EE6C1D97396904B295596A226FECFD665AE0A6F7EE3
+FD51F370008D1697035CCE907243038E0B0487A6DD63F1ECDABCE1A71193FFBC
+6DFBF1726156A4E9710C0D272A7A351F8FA0C2785BCFD0BDCF1B4250675B512F
+997677E512B29D85313FAB6F7FD26B402E1C4B2E270E264422D1375B93EA138C
+171557C70A07C8B330E0C0602949C60B9D921B33E906ED3858966A640367C505
+2E3D254C1C0C63B3F831C9D2AF2B2FA6FE8B663F94B72A7FFD63712A2C4422B6
+6E3524B5AA8D2EB9C7733BBF2662B64B3428EBFE956CBD500DC71A4F4CDE8896
+2EAA65771273D823E8687E2FED6A26D7DB98DDBFB57670278897D2AD553D6AAF
+6F1117C4F894AAD44F53348A763289BFEB2E9DF66DB921E402279FE17634E0DA
+576F0323E1F849DBB1E7E56D0303DD2C81EBBC192B5F8C13A5F5028D64DF153D
+C7E4C2A59A3E369D44F346BBD79A4AE4930E3249C1FD5CC8B4FC6C753ECA9326
+797F25BEE6BC66E125AFD247A2CC2F61A47F03DB682F67382B2E83312D1D239F
+39D8BD6C3256FDD8D424046A289D17984ADAE316FA39B743B12419DCC3C8582C
+EF6BE8C6E7A091F1EF76C6090C15A7742C5F66F66A69DE863256574491B422DA
+93F4B0B13E69B03D1A92840D80B39C96A535C2AEAFB579B9051CCC67E32103F6
+21EADDFEF9CEE1980D3F86DB452B61200C9805EDBD219E812F22AD612B436E28
+D86956797AE0FBBE0A0DEDE4340B51D2CEB5127FF7C14C85AC55C55A1A9412B0
+1471CDF9FE7D52A5A069669A9C500FABD920863628E541893B2692B9D40CF391
+69C797742BEB239A6FF37CBEECF5ACC960011BE1CD35241BF35431F902EE41FB
+5E89FD3C7FD3E7CE970CEF9A3BA9DB4F10945568813D4566F5939A7CF94CF2B0
+97E9D335CAAB09BBDED1D462EA787E5FD11A63B17D75882E379B490C5B2B4440
+FCCE6CD6EC2F4C21D5443E6269734EAF0A61520285791FAB0B421D5CEB2CB165
+286278D3F21045ABFCA81CD9E50A733CE516E1F4C494FF072C50FFCE2D746CD0
+0D28F9EB6CB77425D0F4188760F61C46101F21215BB89FE5FB9684F2E9BADF1D
+8078D29B3160EF63A74A19E17202270928654B95413DA00FF89548F30C8A2146
+8082CFAF97B44733C420572188F01731535A0F5609CE44AB565563B15212E835
+10E5EBA20E3B1635B8E08D85E8D282D51AF0C5D8B4526EB0D43325370644445E
+087E067A1EBE6E9C5A69D8F2D32E2960FA2B26B582A4D2D9AA1CC49408E88CCC
+19C63FEC3256F43F55CE38B3F2D7902A4978918AA2D9D23EE839BF2A901F0649
+856041B1F62612DD6FBBFBD1D3645ECEBCA6587080C6DE11DA4CC9F8E08758B4
+37D559BA464A49A3AEA6373DAD44C615496C71C41080F4357FF2ED23608BB448
+FF983C196501096A58EC0C0FFC9BFE36C735118DFA981C69365EC6E543BABAEF
+0515AAA6E8E34711747D586A6CAAE1D3D0F2EE85DAE124D93A6EDB408D9FC825
+7943607554B3CBF71A9843A76A69D7533865BE78F7BA15316360CEC333F0326E
+EDF8B884A60A0E02401A2A1E3C18C89580C030AAB8B94438214A96EFBA9554F8
+2AAAA5C653E94FE70BC18F998BCD6713AE8A087E37097C36E06C1E929278F668
+4E6B169E30196E373D89CDB6BDA65989AC54ABA2678ECC7EDE24AD6263BB0301
+012E31B2361D62F8E08528558CBE40A37939F09069F82095379C56C31EF2984E
+78BBA233E706B9575A245E527CCD6EC11075A3FD2623B49E2A68EEB68030AE43
+1D7AE54192A39C52BBA92FAEC3899FF0ED859B0051537F998743B6C5F2DC99AD
+FDBC65E51D3E82B70CEC3EF1C3645ADF893C3C5F3D25D51CE54CEAA463F8BF8D
+EDC3CDD0422C12FB34C87305CD11F0005B4AEA3E9AAA000546E4383C7B8629A2
+3372E0E857C5A9F564E6FBCE49407740873A109A2B8FC581171B6965DD349786
+E547781395D8F3E42E99BC556A41773DB2BA8AA0918081E4983B9F8B43A15544
+8D15BCF336E93F8CFCE6E79940A52F9B7067C2C8688F20F842B2D0BC02DB70A5
+3074D0CA85BBD01D6D91B2722CC15C866448C91ADAF9EB2D2A52F08B39808E43
+2A492AEFD45480EBB07C4182CD6DAA9C26A561B83E381594A1AA0364C4464AA6
+20621994D2B64D09B7F460C2D6A7C264D89E4415A9E54A53CC8331A3D358BD14
+4894EBA4DD7AE1B836E2C9246DBB0800805683A11DBE420BA989837D86A1A600
+8B669C7A7283BB9313F045A08602B7F98F78A059CB086B5991F761CADE8AEB86
+5039C35C2FD564C0D8CF404A5F32D7C532716169EEB6D08C8CE5BB357E4CDCB1
+5FCEC35440433719FC19DEA55B1662309EC85EB47B323CE2EBA56D17E0A88175
+B2FD7B59B37F7D48FACD52A7DA80BC296E62D60D6C5F251554138DDC4975E308
+2F9673033F0A255FE037F16CE58A3EF652D3DDE2AE7FD39AA20E88FB0A7B4598
+02E993D6550EE854A5D9ABB3B15BE396E3FC2DEE919D354166BC1A2519E0F2C0
+228998A7243FFDAE507841771E4A88B610F1D390F7898CCAE418C8CC15A4B3A0
+9B74E01AC32BCBAA020C99B6856952158F866E0AC66F171C3A3265E713094F71
+BED491A2ABFA737A0EC17DB262A73EBAB9F8F9E96DC7C5764B92D15F5C967CB3
+C846C147DF1568A68BE099D8E38B5A9FEDFC66CE2AD3BBAAFD72AA51D6C08A32
+AD54AE75530267728A9EA3244E8C8CF67C5A28F67068CB4CF90FB76F280930F1
+893C952DC2A7ADE38C692BD19FFF63383308FC2873CF241C1C3D1ECEF6B98CC7
+287D9F5F0C61033CAFA9739D9941AC833A194E67CD1B9CA1FB4A02F0A53A814B
+565CFDD9CDA06303ADB599D6CE17A7F6A81C13040FB7D6E98AEC4BE9F88F3B29
+FFA880E8CF8CB6F4FA009C4354337A43DD077D40C993A9AF66D2B524CEE5FC0A
+BDF03740A45C0CAD814E869D435C61A964D0644E93C6F228B205ECDE4EE59D67
+C35647FAE9617877DB23272A9D777262A1DDCBB7CDCFD2D6136FF69C000F9B29
+DA30B2A654C27C564F113FFB52CE2F6618EA1C8102FF9D93B0AA2C936CAED8CB
+1A9F2FA71930351D74240F88DE47423EAD67D66C20C8DE2ED00C94642C25630D
+4A60B8DA5362D00F3399C6796EE25BB88325E11045FB6E00B72706257BDDA2E2
+76C77F6E0030906D646D759447343EE6CDCF9A61CF30C1392BE54A0F5951AA69
+461E856C4A2921C859E03E13AAA1D6F563D5F62A66065F36ADA9A08A697F53E0
+249DB7965E9312F46A18F6016684708F397989B1C291F63C491B48A8B1A51E8A
+2C1DB13DB081B75784ECFFA1735A0DA6D443D7BBBF38B16874B57891E3C28A04
+C21978532D806CAD99C9CB00777FC2B9582CA68D285D0488B5724B9EF603D4A5
+4DC01291C0AAE941219EB99398C6051357DF7138324625A4C244A3B127BA85E3
+08C8272EC75E848D984E38F151E9C0D46D1BAE4648F7391B59BA76038391F306
+3E8E72B0B557913A38CD6042D2ECFA192A5124B9F58C887726C72C5518D3CD90
+B24196C04E0D05A6B590E067B17103BB36AC830CA181BAA072B137A344B7570C
+7EAA3272A774A58E049F71DC9DF45CD22B1452A26BE34A5179221A01FC5536DF
+BBB94E93BA9EC169BE596336768AA8C9A72C258B8A8CE7C511DD923193D886E7
+F6C33E5FD68032A5A4459955FFE76A8D5726AFDECF42818BE43F03D2B4B8958A
+38D94568751E5468A1322EBF924C7B587D732486DF8E309CB7FE20F64C6A371D
+D62BF5A33B49DD267AE4C3F638A76BE6DF49B693D40D8AE1E9F0C0B0606C84E2
+A6868B4F700A6DA1ECD097C96704B17DB76621FF4876149E6B2FFA89D38D8F3C
+1026401F2CB949DE9313115E6626B26082B1AD94D0C1F8E7B907B3676FFEC9E2
+E31FAC5504207CA741486734336521C2F9BC91AF257472E4762966AC19A6E89A
+87644A22CBC9FECECD919E513209FF439E2E7F24AA80B4D3C940021C23D7A921
+1B6E544E43FA00C4540C73EB0F3B8F352BAAE6CAA924C1F09C6EF7DCBF4BB88D
+0BFEC67C79B6334A4A0E6099A460B57FBB845831ABD0E83BF0F92491ADDE5526
+E036C58BDF78FE25C55B9580F6D02F2C2F7D77399DB7CB4B8B8E037538D2BA64
+BE2BE4697B87366CFAB5A92932465689775FBD9F87AED9B53303DBC13C0C13CD
+B549FF2D8C8C6C9082CCBB9B6DABFEBE53A85297555389E5A08E47F27F62EA1F
+11915A06C9A1E82C37E4AC72B009B0CBEF25FE046FF9FF20D50DFFA97AD9856B
+B51EEFB3DE0472EAB91CB0B51ECF29EA2025422B31C811C3E449416B8916C2B8
+63E9E4A80F9EC738B81A2A32BF196875BF8F52010B1DEEA25BC2719EFFEEA0D3
+A3AB794058EE49333468A3CF5D13336431ED14CEFB1A2D067AB3D2DE942D9DC9
+C0B5CFCBE9D9A4B53D9B2B19E28F5416F5DE29E73156516683F169BEC75C5344
+D953C9640552267E6CE554C418773F06BC8CD88084C60F8D7F37523922B4D49B
+ADCC93A64D0C92973527A810F6B0239E5525A6BC6AEFABBC8FDF0B7E1B368A52
+3620DEEC31E00D6CD5F02E1625A571A6129DC18333B395D4680CF6F69CC6D359
+4C444307FB45B09509E36E0905C7B2CED23D9B48FF65F31EDFBD2073F718FC34
+99FB4A68B4225D12A42FBB14D7A3FE9D2CE7DC8925E6BBCC4EB53632EA3432D7
+BBB17498259DC19AF7E6CA3F124A7B39BE4C9768FB49748F5CCAA3D1940E0A49
+136B3F49025B2C3D09AC6598844D9D113297A68027AFBB1D8341FEC07FF6CE10
+28358FDBA753264E7865B5B311532DC8D16E6E1747E53D96E996B9F27D9CFE93
+460158DDB6708485029D6F31729805DA1F445C629D5A7048F06D8BBBC6BB69D6
+FB7BE6BF7FC02EC0B33462CF5C756F35AA56886688B05F6A417B8BCA35886256
+8EE314686DB5BD49E631AC220C299A8C5D6ABB974C45643CBC589EB2D0DF48D7
+F59EEF1FEC4CCBEBA797DF168D1D08EC7467E7C35F421BB6BEA0E9C4846A84C1
+70FEBABA787CC46391393A0B99EF0CFC33730140696B0DE9C57E90231310FAD9
+D67462F55A56D9666EC08AC424E940CAEAD58503911C4D80FD59CDD5182ED504
+656628B1851818197DEACC842E943D5A2B75B5934E8AED3E67529FB51E625A14
+4D91B077A53FD8C69C930C677497A36A6A578A639EFBDE481EBCB80536C9CB96
+0A2E54A15F6940F4FECC203A440AB47439C9FDA12A9D78B74325ADF44010BF40
+6A5FB9C012E07A557A60326983A0802424CEA244DDBF66CDDF918B30618F348A
+8C5086F7A7BB1A86C7B4826323802701A584D17C6E19AB720CD13D02E8EBCE16
+4A87BEA7C6B76D05D49CDBE8549640FFE6124D2852A00A46768FEFDD2DD5B60C
+3AA80C3839A86B4EFB035B65E1236F6DA58BBE2A9445311E8714C82310E6A0D2
+E926A3D18AC3E7A8F8A61AAE5ADE10E43116C105653E3A03E895BB2F7477A0AA
+F1E481B4F1B3BC9DB099E60681EF3B0476D6E84DF5ADDA588E8320B4899D2D40
+F8CEA36C2039AE832C87644E2A3EC19AC8FECDD575364238524BF5F76ACB02EF
+094278DAC561F700ACE728478FBB8E0C192795AF982216E2A4A3488D6A4BF06B
+AFB8F4EE78DA4FD96437A45C1E1F49E83D6E85390F8FF9B8E487AFA6184FA430
+2A3E13C59C88E3FC8ED9102D485FCCA463197A32821988D1C0A7A86620655DC3
+DFEEDD33B3A1F55CD5599A58D0F4A390B69137D947897DC448A8255A2521EFCE
+2CA896955E05BEA3480166F9FF82F1B145DCB56B6872449335275533C38336F5
+4C49F40D0FB04222D14E0AC8057580118B1EB1DD43A8BF334763BBA198D851AD
+47F4499A2922816D2F0AC1956B4410E617201C82FDD7761C1A0C8AD025FCB1DA
+9A0722266E22C438C10275CC2BFFDBE726084F9CBAD1CA9ECFA072EB5A317EA5
+2A8E39F8794209B978DDF404FAFD22831F3F53356401FFB85334D339426CCFFE
+0F869606955F20FA055EE560B4744730EEA18CBBDC134644F124B714FD43653B
+C0879B820871B8809020301A71D37A44252491555D9B6278A9070C088C0A80D2
+BC753160E83AF282F3DC077CDF610A18A1A83D4920EB6E2A2B73E40BA112F78C
+A18A26ACD11A5D4E12C67A631D4928EFB809640F64571E5605AD4BFD3D00FFCF
+FFE4FF9FFF1A63002175D401D4BBD218F40B4C56766A4FBB93741F9D2B746F78
+B062CF36E60973FD3D52810750C06C73CC376F5291442A4EEF4B2842B6317CB7
+E1AE735793AA5CD2F927E4DAD0470D0A6612E8C0557245213B0DC87DF4B9CD12
+60A6FB3955E007041838B667417524FED98D5EE035C212C8377A6E2393D86DCA
+BD5092520A83CBFB978D2EEC4847BE9D4365714A5F36B343F87F1DBB1E2759ED
+78EAA5491A4EEFB8FE1FBD10112294959C42FA664442335E521CA7D7E7BDA468
+AE36FFEDA896738CDB3054025485FA28A071C96A003DF5A940261ECCE471616C
+A5B0223E7F435A096B90FF8ED7D88FADF050BC4C4C1FA51D4D389BC36E9D5D70
+9C38800E0CA38D1A045586E46563D855E4E6A8482BDEC35617411F8E046FB838
+1F745325CEF7AF2EF0D7F912A34BA6CE8676944A3B12212CE7AD55539FD9179C
+D8BE8CA39C9EEC948BCCCF2ECCC8F10DD4C8E99A5922BD9A56191C4900063DCC
+C3BED41EF16BD2BC1891D87E5DD05AF7C25D7E92B1BB87D53817643B621BB21B
+EA839B295433042A7E0CE294C031A4C460F05D16B46430445717EAC72766909F
+9008EF1F3F8404DD56B1B1F90A06D99859A1C45F7510B9E7C6929BF9E54053BF
+95B4911454183A5F2734C2CC7622ECFD0664B77640C416A1DA10F13BA0238C25
+DF6752C9B793F8FFA012C6E8E2AC81DDD9E402F42DC4CD6F290BFF4B9C633E1E
+52397F385B895FA3DC7471F3EB97244EFEAFB11BA92C994CFB511D7532304836
+151A4087F1CEE38AB690E1DE2354FA2A7059F42982D0CFD01BE3A320FB078F2D
+7947E9A5C973DFE340D0A742170386831314BDE9D67134451FDE80E093C53F37
+F0FD8CEF42FA08555757888839D9DAF23A735243EBB372A5C3230B1CC2F3B5C1
+C8C19CB3C3E9B1A42D0B314E778F7B3F24C8D61375FA725B40F561C6619D025E
+899BAFD602833506BBC5B6EC86A932F46338E7E26EDA743CC51D8E4B3944D186
+7EFEF666F9AE87E395FB9DDE9A936AB87B90771BE94B784B7584D71827874DEE
+03B55096CDD953D93FC0FCD7E878A11EB46A10CCCE040A90B375995C5FCBBB27
+5D0745BF763C61DCBF193651A3E36A4112F823B5607F418AC8C41B51221F9E6F
+0E9DC72ABCAC248BD8D83949A24D33DFEAA363508C263FF9B222347DA08B99F0
+2173065BB9240A61135E38D461736B04BE918BA150DC90043306056B657D6CA7
+FC27151322B0F132D91C0BD0B9483A6A26D84882095E20127541BC1D93B72AE0
+8A68A5DEFB35E50B37ACB926DD8DB96B910BB6F315FDBAE48531574B9ACBB438
+D1ADA41812A752E9876AB76B31CDE8EFDDB0DE7AF97238A9DA0846EAD39DB2AB
+30EB7D7F61DB0876FD294E5E09916F0C79417108B30597932BF1C81DCF5CE0BD
+2D65C84441D6354A9C8647D740C1B450E5DD3237EF9BBC793F1148155C0F950A
+405BFE9BE30D9EF9F8812279F71B30949F8640E9D0E5B6CD133153B2866E7F35
+78795EDF42FAC47913A9083E7069C4D4E6B0642F55FB481E7004DEA3C3C86177
+A103AFC8FF966BB958BC5EAE139870EC202D1BAC713AF4E3F2FB9594D60E83F0
+8638980BDB2FD061C867E748420E45AFE685D27A2767D31E272B43EC2DDA5424
+AC17EB9D1C7CE94DA05F741F0F635361325F227EC2DEEB5A3EF3AF4FF03F5FFF
+349A9571CA07A944C3974706C1E1A2A433F76149A1E33322E05335787A99C9A3
+98EBC8894218611339E7F065F13C02CF110ECED530FF12350140A7BC7BC810C8
+F17E870225D6DA162362C5587A4A13F52E9F92E31D0DC959DA76A3095661D000
+25A9EB458084039E445529C5A08E3C66FE115D2FE1CAD9CF27315D440FD45C76
+464970D0438E3C1E5F9CE9A9ADA95C5584532C7998063FC7E4E4DD3248148EAC
+10DD976E786084D5CD51D263AA0B7B5F0C31C1A127E03CA8AAA424C6D31106D9
+5788B85D5B2D4557615AF4B1CE34CB66F61AB005C5968756539C44690C3B93E9
+0629165F9377A1B449E2D07356E10DA88338F5B16EC8DAEA544ADED4B3EDD716
+550D9103F3F97E86181B8379D37E53FDA0557BA5EA231B90655957080E0E6DC6
+114D07BA1C9D1BACD0EF6F7997BF73482B194824A1EE1A39A6050213FDB4C820
+FE4BDE84724041C6F51287B7AF2E7A19558AB32EE2DABA726577787D5A136434
+427EF025B3D99F7B916F17AC1382994BD9DF6FD023D2AA72437FD509F55D5EA9
+189108B7934E0B0CEA9E956A000C5E23732E45BD1762961EFF36F7389BA1BF85
+312959449D0751E198C9C34E1081CD049759573217FB73F6A7B0348533F2D942
+9CF18688587980A65F512906C42593767D8A08F81C62E42CF85B92366E0DDE12
+0B04CD253800423151CCF040354A70EBF850C23013A48ACAFC816C4C002D0BAA
+0BCD2869368C497129DFA21813D2689F3EDBDA0956F822751B125CA6ACED9525
+51F85272D896B6A12EB9FB8579DF5FCE686804E3D4BCE113B5FD83478861553D
+75E11E30471EC3A76C5DA24F5BDA4C5A8B72E93DFA470B7E49CE1F960FD3F10F
+3E0E32BEBBB09244F091ACFD721B806D00593A925F97DAFC22C86BB5B0D4648B
+1BD0C32F5EEB7A3CD106C00015CC89B0D2677C7B4F2D3D818B40336B24D3B7B6
+77D03EAE4775C93326F7EE747CBD71FB65A2A2EAC5F1D03A5999C5689B099127
+61A2F058BD984FA3D2785622909A03EDE1A209ED6BB56237887479A782C75A54
+BC20ED5EB4E2BEAD28641E95237D2FE51C70AC77BE31246C92D4A3175EE3FE6C
+02612C7134DA79EAC6522DC1B52AD97132FF53EAE224C2DE9BB37E79464F08E1
+7340C8A79B87B439A484AAC56037E30DD391961E99B1BD4034BF50D00C1657E9
+8FCF4C2DD03612021175360A582CEFC4A7D12642EB33567A389EFBE03712DEF1
+00E971320F62E803F0775767620F37B34692C313FB9C0958E00597E1953F79F0
+F32186D202AF03829D2062335B64DE098D4ECBDED19516A3F4DC88D1799D0FFD
+F24B2C0E899D45756733EE27A1FCC99BEF10C462E9F9B062E9BFC16E75459B76
+06D84FE9C552AF42B0B3EC237785B3CB5075ECB9DE28817B55C85AAEC0C94C4B
+DA282188747A4CF8D63A50B9923CD27DB14D3BC523F41728A2D90ACF46355944
+991DACE13425D8DC18BA74B9F61923E45C978DC8B2D50939947CB4B33596D6D8
+5AB3DD0BD8E4CC3CB8D14590F900354CC46858D09C4BFA8142CDE33F8B75F349
+F535CF80B6DB8E64E6DADDF520D9E29D957BF1E298027BD5D0C4171DB575EA96
+1AECF1C3DEA0950BE26E739FBFB2BE59B86E188816CD44B7ECA980C1E44AA079
+AC2E7BD3C6FF65D9779B60ED34BCB38CCF793BFCF59B84A89A8C719C40EB0A23
+A91CCF0C21CE3DF3985E13C2EB9F89D6B7CE6923077D5E27260B55BC9FAE73B7
+C7EDE7676F922A8366154FAC92C7455863A45C4F4BF140776935BA4583CB1EC7
+1486197EDDFA9E46DCE6A28C992B10DA89C4FB8CF80CD39AC536C1D41C6753E3
+692F8E76928B5D4F2E86D30F7B3954BD6301ABB58CED13884C284C53D7A734BC
+46A9502745970B12A16058695801EDDFF1E65F7242CC61F6C4163A67DB236F17
+704CF79727413904319002AA4D81BFDDF64EFAD2DC47FB896BCBC5FF19FCA3ED
+B2321FF9F8504241CC25C1922DBB23CD6AFA25DDCFD473AC617F1333CFB469F1
+A343455681B59829DFFBCE8406D374059A724C7124FEBEE05F9BF3206254A931
+0D276555A890E38C69BB578DC8D7511E5F82A15E8E4BECD06D47F6E3AFD854C0
+B968F0923B0D7A3672BF7CDA1DA9CD9FEE74D70A2CCAD4055062E3AD8685FFC0
+B5BDDB530C857C3C826981C0F2F91574DE71274A4E404A1D73020F4B50376EFC
+748EEA93D6E1E2DB1144347180ED372D2727E2DBB8E9334778AB1C4E67993D28
+5EA56E402DC2A8B87D017778ACB9585D9C73780CAD7CE94B6BB727BB93366612
+8DC1B3830E7E95EC7EC2D539FE7E73E55633CADBC630F6B7DC36D77ED47B2958
+0B263DB67F07E16A040DC602CA362233C947B95F63F16239F0CA977F1A99F9A6
+B36F831B7D8AA5BD29DC4E26DB4DDB04508C53EA8041AF99D33899327C353C96
+A765BBFE74CFDD198E2FD0D9B9F3F76F2A8178A530919CB701F51DE0BECF3BFA
+B6A10EA4DB04DA17C04B2A932E937CCB268F5F427485C217D284CF602C9091E3
+6977BB4ECD4CA46905E79C6E847C0B7FE0A84F0DD43F7EECD10CC502F95293FC
+078348DBDAC9DAF6338E1F9D7DD289F52E1021E27851CC45AA0047F2FE07B5C7
+A6F0F8BB5E26BA7FFFB21082351804662F9C476E9D721E8A5BC81F2E5CA81F45
+4FC091EC171438E64ECE1899865F483D6015792450AE1186640D1E3C328B915E
+2893621345A8EAEF8A017CCA2D2608C5823A23FC7575397C3646476E8D26BDD2
+8C51C4CEF109EDB677017739A53CFA6A509AC5152077EA5ECD7A176578B6BFC4
+ABABBD0C484F31B293EE6FE8E68A281EECA6198A8BC6CAD2EA4EE2C49390AF4C
+6A710275742AFCA4E2A1DBE04123C080FAC65EB8C6AC86388FBFFAC8EEC49BAC
+464C4E1AA0DCB37AA6503E364FC954BEC84C9552300DC9495DDDEC35795EF8AF
+50D2C0CA0F238B3FA1CBBA9F9CBE1F621C710F73B7D456073082BCB28170407C
+FC3007F52CB71E08A85621B22B4DF750D011175E0A29B4FEBC1D8625E713D050
+31325515679F4A0D6EF17529A37C0BBC3F8F2F7AA0A6F57977941AB4133DA64D
+1AEBE4C7FABCDC25854BA5583678FFB54956AAE6D94F3E06D5C0F27B1DCF2421
+1C74FD8D4F0A5824DABE0346804CDD2D96BED494EE8B9D99F133F325D8CDF0EF
+431AB25D5025BA7A7E8B329AD2F89A53C3855AF9CD54275E030C3051632E5CC0
+994AFBD2A15772BAAFAF46FA10543A2B0AAC06163802D7F748C0EA0DA9072E54
+19E4BE682E9CDBA0B0D7E9F60A90C6C8491A6F30A5D310050DBCF613CC297D4B
+66974DACBFAB4377A753A16FE6394542A275D14197D422CF91FF360E8A63E8B0
+2E746082582E2448F6CAD56E488DBC0F40FCBCBB993A787E70BC9D8E24176B61
+FF2984A3855F02787C6C3DB41752B63FE0B7B090FC6D21763E96F2AC80B8994C
+FC3DD8AD32562184A3FA34CB6C0C73CB587529E35E72337A1AD22970995051DE
+2D10E84A14340589B08FA907F5A3570F98713316F633228AC0BBEC6789BED276
+6E2E1597D0C8C22705A729622749A30BDD267F7BF3CC116F7F888A4F4AFCD688
+63AE5A71F1E2F5EEFA3B100B19D6A893BE519DC5DAA215B143F807296187E4A2
+F52FC1F4448B0F4529E2156CE980293422994E484EA3F21C9FF7A56BB005A4C2
+F073DF6552D40E5DCB7A419C620C9127C451EBC2E341CB0649A503FA0E1B38D6
+2BAD504BEEEC35C13F6CB0659E719FF18C523B882EBD74D43D769E1F8A30354F
+8B790EAA99668110FE86806BDB239796E9F55A75D110D000C72AB2A430241713
+FD770F84793CD7BC488B8BBD59DA1BE3AAABC83F5E699F2A9D4870C2130502A1
+7CC2368B92CF0D52CB70446A3F634582E2E3D320CFC4353A748C1F1D91C7E4B5
+5ACA209EA88800AB7293FD1E8064B10C1A5829535E26D3C55AF6AD9B4ACE497B
+FAB377677F34D002BCDF35C0BBB7DA7833638683788748A16D075E344CE8FF95
+C09C6DCFCCBDB48EC084126BCF94EBDB1856940C67BBB69B8825E91A98F699EF
+2E378557776C9788E2A80ABAFE3E7E3BB6C0F32FA770597E37F271C50C10A9B2
+F90C8D80F4BD9F4C1098A306CE886C127946D3DB39C82F31F1CB1B1451FF6D9D
+A519AA74E1C7C4797F5E3EB440105C51ACFF85734924C0576E826B210C501232
+456601B688A3EA9494A8F391E1A0BFB7668BF6D0E1B82A47E91BC893E13EA0BC
+F8B7BA17D586DEFE3F7C2C72909106A651908325E055DE4F4E5B266D71716474
+56D5010FDC4012A2D659234BA355366C4E737FDFC04B7BECE1C1E16A7158FB27
+21AB8752DBCF8EF4AD11D185D7CE3BD84CD520553F0EE3FFA0AB3D773978A425
+F6C1B4EEE27F127C469005AFE5E07ACF2E438CCA628A77D90C9EAF7072733357
+CCF508A46C831FB96D0033FECE34E85023015A3AAA5E373A790DEB5D743EADBD
+7D249F543389FB089F4ECCAEDC4B75034AAF5DF41AB2DB047BE7C9500D34C60D
+7F38EC93219FA9C8A96523B981103196DB4D45031BAA1CF5018F3ABA08A547AD
+02E77C769762C162C7931A91CED9B33EE6C3BF4E59FF8EFE17A952FF3EAD46A9
+FDB74FFB0FB988DCEFA31ADB3F2A78E7C51BB09504DBBF1D53D96676E5843D8E
+DB50E2C89E2FA58295694AC71D7DC610756278F387A7809C8CD27152672314BE
+E287E774C2949A13B03BCEBA7A9A1A0B927AC46D8FF136C5B305EC65609F6162
+39908934CA61A225513E658F6B42F15A3621A45191F5437EBECAC64914548C8A
+6750FA2C9CC0E3BC40E01A21E3C4BA1707915D34CB78C96F0BCB7E2B10892E71
+174268D0234CFFCD5E60BD7955A151226F4987B67A69D9313CDB1ED0F9F34958
+33F7D16834BB40A6EEC4A5E24F57067FB59FB8D8C9AADFDBD3A897D8C91770CD
+D4820C1AE39A2D1AEC8B457DD856F81B3E698CF1FC5191CF60B1A80CC3230B63
+59C1384BD01EA86208DE000C9D3857B3243C95D6B6BA5BC693C539F7F6423205
+1F0FC68EB360DA674569C20FB993449096394328BB9229F93F45ECF5E11371B9
+63C233E1661C8451A3D1E076D243F6E887C82E49E00E2847CC33858370D560A4
+6742B1F48C2EE6D561A6D43BE796A09976E0D69A4A6C346AB895264C96092511
+7527320E9EA8A73250607B09BBE48D3952998435F36FE4D1CF667BC28ABCCD69
+FEE40049B09F1F39B64F3BE92C1EAC9C4661EBC403A69A9180FA83D1D5E590E0
+647AD00FE509B0E9FEB752F85726783978CE98B4AFAD649D9623F41419F9923A
+A11729723270E0847AA464AEF74FBC743D8D805322360364E7751743552A0AFF
+CCEB847942D9689E9659D15A3D795AEC8782C6EBCE6760E687F87095FCDDEA8B
+C4D8FCE65634148638A8DE5797BF21266AD94E363F58DB84561B74CDD8D5FAB3
+59A521598B34720C54C0AFC5B1A415B7E929D6EDCEE9205DAAB716379C29289F
+2C1AA7EE0776B1C6B6AFCDED4C6ED7EDFF1AA20523EC52F8332C2C0ABBAC1A2B
+DE91AE501079F2A4ECAE93FB93082B1A241AA79C1F7907F8EB3BD528A2353FBE
+749B89A4FD00C8C9472446EE4B6F04F5073EA7C2854835FFBA548920108192AC
+8CC658B87F249321015CA481B2A5F19156F63C5F7C285E18456D0CF0E1ECABCA
+C9702A3DC3911A3B179C837D4849DFEF463B9648AA2CEE8C7B7304B551296AA5
+4E73AFFD0D86AFBBAAEB71082E250627D70CAF3D246867A3676ED1BBBE99F6FD
+32BCA350821E0925E99235BE60C72D8270769DBE50CA12BE348D5145598EB0F6
+2EFC2EAFB348EC74C1F9025DEF33772AB3A41D6F8DDE6CC6746701CF75C86B43
+3F9224B633E510BAB613F6EC46A685D32C1C474F3509FC63268C4DF841B9B38E
+9CB08A26518FFD1A402D43C079C5603589D578DE2E8225A160625B6A484460CE
+5C445FDC1D3A58A982D205C370D86195D988E277F92937BBC9FF72851B0694B4
+D484FE0755962D2C4D81DA0F1F36973CD69765482A7DF0F5E701A3C5045C97FC
+09B5DEC1E35BDF033C02B7155B72851ED7A6BFDE12196DB43AFEDADACD52B93D
+E6F247F438A11DBF4A6D6CD59834865EF349F87DBB7EBBC5503492F5BAEA9615
+32AB4D318C6D1BB372FB14CFCB4268EF69128DE3FA99379609DF7099E459B557
+E7CFA0A293121A700CCC679D815F0883CFAF64B603C9E588488904267AD3EE3B
+9A8F6BED8EF48582F4A420AAE9CC3E0A61EB8D10C816C3091074E3B6345FF4DC
+37E1C1597DA71581A9920E9858DAB295178521766178F2141851EF5E455CE390
+4CD16782A04606397A6B4D13303918255700FFC68D83420E3F37437C073DBE9F
+C80EC3F7D915376410FC4961F37D73D13268B7E93C8B4F29880B535D14DE1205
+615CCB9BCDB0164F2D9C3E9515BF00C5D4E164A6B495E6A80EA01D3D6226BABE
+762982E7B5B74799A15819EDEDFB01B444BA30899AF2498DF31B1198C9115C88
+720C6BFFE2E0F33944274AB36CDEC08D18D00AD8AAB0037680DA8525AD9EBA6D
+8847EEEF0F689C466DB5CA6382B52F56FCF8490F2A931B3A71
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -4106,12 +4107,12 @@ rf /Fs 129[48 48 48 48 48 48 48 48 48 48 48 48 48 48
 48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
 48 1[48 48 1[48 48 1[48 48 48 48 48 48 48 48 48 48 48
 48 48 48 48 48 48 48 33[{ TeX09fbbfacEncoding ReEncodeFont }89
-90.9091 /CMTT10 rf /Ft 131[91 1[40 48 48 66 48 51 35
+90.9091 /CMTT10 rf /Ft 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 2[45
-1[45 19[76 51 51 53 11[{ TeXf7b6d320Encoding ReEncodeFont }82
+1[45 19[76 51 51 53 11[{ TeXf7b6d320Encoding ReEncodeFont }83
 90.9091 /CMR10 rf /Fu 134[102 6[79 3[108 1[54 2[54 3[88
 108 1[108 94 11[149 2[144 3[151 1[116 4[152 71[{
  TeXf7b6d320Encoding ReEncodeFont }14 172.154 /CMBX12
@@ -4127,30 +4128,29 @@ letter
 %%EndSetup
 %%Page: 1 1
 TeXDict begin 1 0 bop 150 1318 a Fu(GNU)65 b(Readline)g(Library)p
-150 1418 3600 34 v 1373 1515 a Ft(Edition)30 b(5.1-b)s(eta1,)j(for)d
-Fs(Readline)e(Library)h Ft(V)-8 b(ersion)31 b(5.1-b)s(eta1.)3139
-1623 y(No)m(v)m(em)m(b)s(er)g(2005)150 4935 y Fr(Chet)45
-b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l
-(ersit)l(y)150 5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11
-b(ree)45 b(Soft)l(w)l(are)h(F)-11 b(oundation)p 150 5141
-3600 17 v eop end
+150 1418 3600 34 v 1873 1515 a Ft(Edition)30 b(5.2,)i(for)e
+Fs(Readline)e(Library)h Ft(V)-8 b(ersion)31 b(5.2.)3333
+1623 y(April)f(2006)150 4935 y Fr(Chet)45 b(Ramey)-11
+b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150
+5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)
+-11 b(oundation)p 150 5141 3600 17 v eop end
 %%Page: 2 2
-TeXDict begin 2 1 bop 150 3024 a Ft(This)32 b(man)m(ual)h(describ)s(es)
-f(the)h(GNU)h(Readline)f(Library)f(\(v)m(ersion)i(5.1-b)s(eta1,)i(11)e
-(No)m(v)m(em)m(b)s(er)g(2005\),)150 3133 y(a)42 b(library)f(whic)m(h)g
-(aids)g(in)g(the)g(consistency)i(of)e(user)g(in)m(terface)h(across)g
-(discrete)g(programs)f(whic)m(h)150 3243 y(pro)m(vide)30
-b(a)h(command)f(line)h(in)m(terface.)150 3377 y(Cop)m(yrigh)m(t)602
-3374 y(c)577 3377 y Fq(\015)f Ft(1988-2004)k(F)-8 b(ree)32
-b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 b(Inc.)150 3512
-y(P)m(ermission)g(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d(distribute)h
-(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m(vided)f(the)150
-3621 y(cop)m(yrigh)m(t)g(notice)f(and)f(this)g(p)s(ermission)g(notice)h
-(are)g(preserv)m(ed)f(on)h(all)g(copies.)390 3756 y(P)m(ermission)k(is)
-h(gran)m(ted)f(to)h(cop)m(y)-8 b(,)38 b(distribute)d(and/or)g(mo)s
-(dify)f(this)h(do)s(cumen)m(t)g(under)390 3866 y(the)j(terms)g(of)g
-(the)g(GNU)h(F)-8 b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8
-b(ersion)39 b(1.1)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
+TeXDict begin 2 1 bop 150 3024 a Ft(This)37 b(man)m(ual)h(describ)s(es)
+f(the)h(GNU)h(Readline)f(Library)f(\(v)m(ersion)i(5.2,)i(26)e(April)e
+(2006\),)42 b(a)c(library)150 3133 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 3243 y(command)30 b(line)h(in)m
+(terface.)150 3377 y(Cop)m(yrigh)m(t)602 3374 y(c)577
+3377 y Fq(\015)f Ft(1988-2006)k(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8
+b(oundation,)32 b(Inc.)150 3512 y(P)m(ermission)g(is)h(gran)m(ted)g(to)
+f(mak)m(e)i(and)d(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g(man)m
+(ual)h(pro)m(vided)f(the)150 3621 y(cop)m(yrigh)m(t)g(notice)f(and)f
+(this)g(p)s(ermission)g(notice)h(are)g(preserv)m(ed)f(on)h(all)g
+(copies.)390 3756 y(P)m(ermission)k(is)h(gran)m(ted)f(to)h(cop)m(y)-8
+b(,)38 b(distribute)d(and/or)g(mo)s(dify)f(this)h(do)s(cumen)m(t)g
+(under)390 3866 y(the)j(terms)g(of)g(the)g(GNU)h(F)-8
+b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)39
+b(1.2)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
 b(published)d(b)m(y)j(the)f(F)-8 b(ree)29 b(Soft)m(w)m(are)f(F)-8
 b(oundation;)30 b(with)d(no)g(In)m(v)-5 b(arian)m(t)28
 b(Sections,)390 4085 y(with)i(the)h(F)-8 b(ron)m(t-Co)m(v)m(er)33
@@ -4609,202 +4609,206 @@ Ft(and)d Fl(C-J)f Ft(c)m(haracters)k(will)150 408 y(terminate)j(an)g
 518 y(original)30 b(line.)41 b(When)28 b(the)h(searc)m(h)h(is)f
 (terminated,)h(the)f(history)g(en)m(try)g(con)m(taining)h(the)f(searc)m
 (h)h(string)150 628 y(b)s(ecomes)h(the)f(curren)m(t)g(line.)275
-769 y(T)-8 b(o)31 b(\014nd)e(other)j(matc)m(hing)g(en)m(tries)g(in)e
+771 y(T)-8 b(o)31 b(\014nd)e(other)j(matc)m(hing)g(en)m(tries)g(in)e
 (the)h(history)g(list,)h(t)m(yp)s(e)g Fl(C-r)e Ft(or)h
-Fl(C-s)f Ft(as)h(appropriate.)43 b(This)150 878 y(will)26
+Fl(C-s)f Ft(as)h(appropriate.)43 b(This)150 880 y(will)26
 b(searc)m(h)h(bac)m(kw)m(ard)g(or)f(forw)m(ard)g(in)f(the)i(history)f
 (for)g(the)g(next)g(en)m(try)h(matc)m(hing)g(the)f(searc)m(h)h(string)
-150 988 y(t)m(yp)s(ed)37 b(so)h(far.)63 b(An)m(y)38 b(other)f(k)m(ey)i
+150 990 y(t)m(yp)s(ed)37 b(so)h(far.)63 b(An)m(y)38 b(other)f(k)m(ey)i
 (sequence)f(b)s(ound)e(to)i(a)g(Readline)h(command)e(will)h(terminate)h
-(the)150 1098 y(searc)m(h)22 b(and)e(execute)j(that)e(command.)38
-b(F)-8 b(or)22 b(instance,)h(a)2127 1095 y Fk(h)p 2151
-1042 151 4 v 2151 1098 a Fj(RET)p 2151 1113 V 2298 1095
-a Fk(i)2349 1098 y Ft(will)e(terminate)h(the)f(searc)m(h)h(and)e
-(accept)150 1207 y(the)30 b(line,)g(thereb)m(y)f(executing)i(the)e
+(the)150 1100 y(searc)m(h)22 b(and)e(execute)j(that)e(command.)38
+b(F)-8 b(or)22 b(instance,)h(a)2127 1097 y Fk(h)p 2151
+1044 151 4 v 2151 1100 a Fj(RET)p 2151 1115 V 2298 1097
+a Fk(i)2349 1100 y Ft(will)e(terminate)h(the)f(searc)m(h)h(and)e
+(accept)150 1209 y(the)30 b(line,)g(thereb)m(y)f(executing)i(the)e
 (command)g(from)g(the)h(history)f(list.)41 b(A)29 b(mo)m(v)m(emen)m(t)j
-(command)d(will)150 1317 y(terminate)i(the)g(searc)m(h,)g(mak)m(e)h
+(command)d(will)150 1319 y(terminate)i(the)g(searc)m(h,)g(mak)m(e)h
 (the)e(last)h(line)g(found)e(the)i(curren)m(t)f(line,)h(and)f(b)s(egin)
-g(editing.)275 1458 y(Readline)35 b(remem)m(b)s(ers)f(the)h(last)h
+g(editing.)275 1462 y(Readline)35 b(remem)m(b)s(ers)f(the)h(last)h
 (incremen)m(tal)g(searc)m(h)f(string.)54 b(If)34 b(t)m(w)m(o)j
-Fl(C-r)p Ft(s)c(are)i(t)m(yp)s(ed)g(without)150 1567
+Fl(C-r)p Ft(s)c(are)i(t)m(yp)s(ed)g(without)150 1571
 y(an)m(y)i(in)m(terv)m(ening)g(c)m(haracters)h(de\014ning)e(a)h(new)f
 (searc)m(h)h(string,)h(an)m(y)f(remem)m(b)s(ered)e(searc)m(h)i(string)g
-(is)150 1677 y(used.)275 1818 y(Non-incremen)m(tal)48
+(is)150 1681 y(used.)275 1824 y(Non-incremen)m(tal)48
 b(searc)m(hes)g(read)e(the)h(en)m(tire)h(searc)m(h)f(string)g(b)s
-(efore)f(starting)h(to)h(searc)m(h)f(for)150 1928 y(matc)m(hing)d
+(efore)f(starting)h(to)h(searc)m(h)f(for)150 1934 y(matc)m(hing)d
 (history)e(lines.)78 b(The)42 b(searc)m(h)h(string)g(ma)m(y)g(b)s(e)f
 (t)m(yp)s(ed)g(b)m(y)g(the)h(user)f(or)h(b)s(e)f(part)g(of)h(the)150
-2037 y(con)m(ten)m(ts)32 b(of)f(the)f(curren)m(t)g(line.)150
-2311 y Fr(1.3)68 b(Readline)47 b(Init)e(File)275 2562
+2043 y(con)m(ten)m(ts)32 b(of)f(the)f(curren)m(t)g(line.)150
+2322 y Fr(1.3)68 b(Readline)47 b(Init)e(File)275 2575
 y Ft(Although)g(the)g(Readline)h(library)e(comes)i(with)f(a)h(set)f(of)
-g(Emacs-lik)m(e)i(k)m(eybindings)e(installed)150 2672
+g(Emacs-lik)m(e)i(k)m(eybindings)e(installed)150 2685
 y(b)m(y)d(default,)i(it)f(is)e(p)s(ossible)g(to)i(use)e(a)h(di\013eren)
 m(t)g(set)g(of)g(k)m(eybindings.)74 b(An)m(y)42 b(user)f(can)h
-(customize)150 2781 y(programs)32 b(that)h(use)f(Readline)h(b)m(y)g
+(customize)150 2794 y(programs)32 b(that)h(use)f(Readline)h(b)m(y)g
 (putting)f(commands)g(in)g(an)g Fi(inputrc)37 b Ft(\014le,)d(con)m(v)m
-(en)m(tionally)h(in)d(his)150 2891 y(home)h(directory)-8
+(en)m(tionally)h(in)d(his)150 2904 y(home)h(directory)-8
 b(.)50 b(The)33 b(name)g(of)g(this)g(\014le)h(is)f(tak)m(en)h(from)f
 (the)g(v)-5 b(alue)34 b(of)f(the)g(en)m(vironmen)m(t)h(v)-5
-b(ariable)150 3000 y Fs(INPUTRC)p Ft(.)39 b(If)30 b(that)h(v)-5
-b(ariable)31 b(is)f(unset,)g(the)h(default)g(is)f(`)p
-Fs(~/.inputrc)p Ft('.)275 3142 y(When)f(a)h(program)f(whic)m(h)h(uses)f
-(the)h(Readline)g(library)f(starts)h(up,)f(the)h(init)g(\014le)f(is)h
-(read,)g(and)f(the)150 3251 y(k)m(ey)i(bindings)e(are)i(set.)275
-3392 y(In)26 b(addition,)i(the)f Fs(C-x)i(C-r)d Ft(command)h(re-reads)g
-(this)f(init)h(\014le,)h(th)m(us)f(incorp)s(orating)g(an)m(y)g(c)m
-(hanges)150 3502 y(that)k(y)m(ou)g(migh)m(t)g(ha)m(v)m(e)g(made)g(to)g
-(it.)150 3739 y Fh(1.3.1)63 b(Readline)40 b(Init)h(File)g(Syn)m(tax)275
-3990 y Ft(There)33 b(are)h(only)g(a)g(few)f(basic)h(constructs)g(allo)m
+b(ariable)150 3014 y Fs(INPUTRC)p Ft(.)38 b(If)28 b(that)g(v)-5
+b(ariable)29 b(is)f(unset,)h(the)f(default)g(is)h(`)p
+Fs(~/.inputrc)p Ft('.)37 b(If)28 b(that)h(\014le)f(do)s(es)g(not)g
+(exist)h(or)150 3123 y(cannot)i(b)s(e)f(read,)g(the)h(ultimate)g
+(default)g(is)f(`)p Fs(/etc/inputrc)p Ft('.)275 3266
+y(When)f(a)h(program)f(whic)m(h)h(uses)f(the)h(Readline)g(library)f
+(starts)h(up,)f(the)h(init)g(\014le)f(is)h(read,)g(and)f(the)150
+3376 y(k)m(ey)i(bindings)e(are)i(set.)275 3519 y(In)26
+b(addition,)i(the)f Fs(C-x)i(C-r)d Ft(command)h(re-reads)g(this)f(init)
+h(\014le,)h(th)m(us)f(incorp)s(orating)g(an)m(y)g(c)m(hanges)150
+3629 y(that)k(y)m(ou)g(migh)m(t)g(ha)m(v)m(e)g(made)g(to)g(it.)150
+3870 y Fh(1.3.1)63 b(Readline)40 b(Init)h(File)g(Syn)m(tax)275
+4123 y Ft(There)33 b(are)h(only)g(a)g(few)f(basic)h(constructs)g(allo)m
 (w)m(ed)h(in)f(the)g(Readline)g(init)g(\014le.)51 b(Blank)34
-b(lines)g(are)150 4100 y(ignored.)72 b(Lines)41 b(b)s(eginning)f(with)h
+b(lines)g(are)150 4232 y(ignored.)72 b(Lines)41 b(b)s(eginning)f(with)h
 (a)g(`)p Fs(#)p Ft(')g(are)h(commen)m(ts.)73 b(Lines)41
 b(b)s(eginning)f(with)g(a)i(`)p Fs($)p Ft(')f(indicate)150
-4209 y(conditional)29 b(constructs)f(\(see)g(Section)h(1.3.2)g
+4342 y(conditional)29 b(constructs)f(\(see)g(Section)h(1.3.2)g
 ([Conditional)g(Init)e(Constructs],)i(page)f(9\).)41
-b(Other)27 b(lines)150 4319 y(denote)k(v)-5 b(ariable)31
-b(settings)g(and)f(k)m(ey)h(bindings.)150 4488 y(V)-8
-b(ariable)32 b(Settings)630 4598 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e
+b(Other)27 b(lines)150 4452 y(denote)k(v)-5 b(ariable)31
+b(settings)g(and)f(k)m(ey)h(bindings.)150 4624 y(V)-8
+b(ariable)32 b(Settings)630 4734 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e
 (the)i(run-time)f(b)s(eha)m(vior)g(of)h(Readline)g(b)m(y)f(altering)h
-(the)g(v)-5 b(alues)41 b(of)630 4707 y(v)-5 b(ariables)34
+(the)g(v)-5 b(alues)41 b(of)630 4843 y(v)-5 b(ariables)34
 b(in)f(Readline)i(using)e(the)g Fs(set)g Ft(command)g(within)g(the)h
-(init)g(\014le.)50 b(The)33 b(syn)m(tax)630 4817 y(is)d(simple:)870
-4955 y Fs(set)47 b Fl(variable)56 b(value)630 5093 y
+(init)g(\014le.)50 b(The)33 b(syn)m(tax)630 4953 y(is)d(simple:)870
+5092 y Fs(set)47 b Fl(variable)56 b(value)630 5230 y
 Ft(Here,)29 b(for)e(example,)h(is)g(ho)m(w)f(to)h(c)m(hange)g(from)f
 (the)g(default)h(Emacs-lik)m(e)h(k)m(ey)f(binding)e(to)630
-5202 y(use)k Fs(vi)g Ft(line)h(editing)g(commands:)870
-5340 y Fs(set)47 b(editing-mode)d(vi)p eop end
+5340 y(use)k Fs(vi)g Ft(line)h(editing)g(commands:)p
+eop end
 %%Page: 5 9
 TeXDict begin 5 8 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(5)630 299 y(V)-8
-b(ariable)36 b(names)f(and)g(v)-5 b(alues,)36 b(where)f(appropriate,)h
-(are)g(recognized)g(without)f(regard)630 408 y(to)c(case.)42
-b(Unrecognized)31 b(v)-5 b(ariable)31 b(names)g(are)f(ignored.)630
-536 y(Bo)s(olean)c(v)-5 b(ariables)26 b(\(those)g(that)g(can)f(b)s(e)f
-(set)i(to)g(on)f(or)g(o\013)7 b(\))25 b(are)h(set)f(to)h(on)f(if)g(the)
-g(v)-5 b(alue)26 b(is)630 646 y(n)m(ull)e(or)g(empt)m(y)-8
-b(,)27 b Fi(on)d Ft(\(case-insensitiv)m(e\),)29 b(or)24
-b(1.)39 b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v)
--5 b(ariable)630 756 y(b)s(eing)30 b(set)h(to)g(o\013.)630
-883 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g(is)g(c)m
+b(Command)29 b(Line)i(Editing)2153 b(5)870 299 y Fs(set)47
+b(editing-mode)d(vi)630 432 y Ft(V)-8 b(ariable)36 b(names)f(and)g(v)-5
+b(alues,)36 b(where)f(appropriate,)h(are)g(recognized)g(without)f
+(regard)630 541 y(to)c(case.)42 b(Unrecognized)31 b(v)-5
+b(ariable)31 b(names)g(are)f(ignored.)630 674 y(Bo)s(olean)c(v)-5
+b(ariables)26 b(\(those)g(that)g(can)f(b)s(e)f(set)i(to)g(on)f(or)g
+(o\013)7 b(\))25 b(are)h(set)f(to)h(on)f(if)g(the)g(v)-5
+b(alue)26 b(is)630 783 y(n)m(ull)e(or)g(empt)m(y)-8 b(,)27
+b Fi(on)d Ft(\(case-insensitiv)m(e\),)29 b(or)24 b(1.)39
+b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v)-5
+b(ariable)630 893 y(b)s(eing)30 b(set)h(to)g(o\013.)630
+1026 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g(is)g(c)m
 (hangeable)j(with)d(the)g(follo)m(wing)i(v)-5 b(ariables.)630
-1029 y Fs(bell-style)1110 1139 y Ft(Con)m(trols)44 b(what)g(happ)s(ens)
+1181 y Fs(bell-style)1110 1291 y Ft(Con)m(trols)44 b(what)g(happ)s(ens)
 e(when)h(Readline)i(w)m(an)m(ts)f(to)h(ring)e(the)h(termi-)1110
-1249 y(nal)37 b(b)s(ell.)61 b(If)37 b(set)h(to)g(`)p
+1401 y(nal)37 b(b)s(ell.)61 b(If)37 b(set)h(to)g(`)p
 Fs(none)p Ft(',)g(Readline)g(nev)m(er)g(rings)e(the)i(b)s(ell.)61
-b(If)36 b(set)i(to)1110 1358 y(`)p Fs(visible)p Ft(',)32
+b(If)36 b(set)i(to)1110 1510 y(`)p Fs(visible)p Ft(',)32
 b(Readline)i(uses)f(a)g(visible)g(b)s(ell)g(if)g(one)g(is)g(a)m(v)-5
-b(ailable.)51 b(If)33 b(set)g(to)1110 1468 y(`)p Fs(audible)p
+b(ailable.)51 b(If)33 b(set)g(to)1110 1620 y(`)p Fs(audible)p
 Ft(')j(\(the)i(default\),)i(Readline)e(attempts)g(to)h(ring)e(the)g
-(terminal's)1110 1577 y(b)s(ell.)630 1724 y Fs(bind-tty-special-chars)
-1110 1833 y Ft(If)45 b(set)h(to)f(`)p Fs(on)p Ft(',)50
+(terminal's)1110 1729 y(b)s(ell.)630 1885 y Fs(bind-tty-special-chars)
+1110 1995 y Ft(If)45 b(set)h(to)f(`)p Fs(on)p Ft(',)50
 b(Readline)45 b(attempts)i(to)f(bind)d(the)j(con)m(trol)g(c)m
-(haracters)1110 1943 y(treated)36 b(sp)s(ecially)h(b)m(y)e(the)h(k)m
+(haracters)1110 2104 y(treated)36 b(sp)s(ecially)h(b)m(y)e(the)h(k)m
 (ernel's)g(terminal)g(driv)m(er)f(to)h(their)f(Readline)1110
-2052 y(equiv)-5 b(alen)m(ts.)630 2198 y Fs(comment-begin)1110
-2308 y Ft(The)29 b(string)g(to)h(insert)f(at)h(the)f(b)s(eginning)g(of)
-g(the)h(line)f(when)f(the)i Fs(insert-)1110 2418 y(comment)e
+2214 y(equiv)-5 b(alen)m(ts.)630 2370 y Fs(comment-begin)1110
+2479 y Ft(The)29 b(string)g(to)h(insert)f(at)h(the)f(b)s(eginning)g(of)
+g(the)h(line)f(when)f(the)i Fs(insert-)1110 2589 y(comment)e
 Ft(command)j(is)f(executed.)42 b(The)29 b(default)i(v)-5
-b(alue)31 b(is)f Fs("#")p Ft(.)630 2564 y Fs(completion-ignore-case)
-1110 2673 y Ft(If)d(set)h(to)g(`)p Fs(on)p Ft(',)g(Readline)g(p)s
+b(alue)31 b(is)f Fs("#")p Ft(.)630 2744 y Fs(completion-ignore-case)
+1110 2854 y Ft(If)d(set)h(to)g(`)p Fs(on)p Ft(',)g(Readline)g(p)s
 (erforms)e(\014lename)h(matc)m(hing)i(and)e(completion)1110
-2783 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)40 b(The)30
+2964 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)40 b(The)30
 b(default)h(v)-5 b(alue)30 b(is)h(`)p Fs(off)p Ft('.)630
-2929 y Fs(completion-query-items)1110 3039 y Ft(The)26
+3119 y Fs(completion-query-items)1110 3229 y Ft(The)26
 b(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h(that)g(determines)
-f(when)f(the)i(user)1110 3148 y(is)i(ask)m(ed)h(whether)f(the)h(list)g
+f(when)f(the)i(user)1110 3339 y(is)i(ask)m(ed)h(whether)f(the)h(list)g
 (of)f(p)s(ossibilities)h(should)e(b)s(e)h(displa)m(y)m(ed.)41
-b(If)29 b(the)1110 3258 y(n)m(um)m(b)s(er)d(of)h(p)s(ossible)f
+b(If)29 b(the)1110 3448 y(n)m(um)m(b)s(er)d(of)h(p)s(ossible)f
 (completions)i(is)f(greater)h(than)e(this)h(v)-5 b(alue,)28
-b(Readline)1110 3367 y(will)f(ask)g(the)f(user)g(whether)g(or)g(not)h
-(he)f(wishes)g(to)i(view)e(them;)i(otherwise,)1110 3477
+b(Readline)1110 3558 y(will)f(ask)g(the)f(user)g(whether)g(or)g(not)h
+(he)f(wishes)g(to)i(view)e(them;)i(otherwise,)1110 3667
 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5 b(ariable)25
 b(m)m(ust)g(b)s(e)e(set)i(to)g(an)g(in)m(teger)g(v)-5
-b(alue)1110 3587 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40
+b(alue)1110 3777 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40
 b(A)24 b(negativ)m(e)j(v)-5 b(alue)26 b(means)e(Readline)i(should)1110
-3696 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g
-Fs(100)p Ft(.)630 3842 y Fs(convert-meta)1110 3952 y
+3886 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g
+Fs(100)p Ft(.)630 4042 y Fs(convert-meta)1110 4152 y
 Ft(If)22 b(set)g(to)h(`)p Fs(on)p Ft(',)h(Readline)f(will)f(con)m(v)m
 (ert)i(c)m(haracters)f(with)f(the)g(eigh)m(th)h(bit)f(set)1110
-4061 y(to)g(an)f Fm(asci)r(i)g Ft(k)m(ey)h(sequence)g(b)m(y)f
+4261 y(to)g(an)f Fm(asci)r(i)g Ft(k)m(ey)h(sequence)g(b)m(y)f
 (stripping)f(the)i(eigh)m(th)g(bit)f(and)g(pre\014xing)f(an)1110
-4168 y Fk(h)p 1134 4115 139 4 v 1134 4171 a Fj(ESC)p
-1134 4186 V 1268 4168 a Fk(i)1332 4171 y Ft(c)m(haracter,)36
+4368 y Fk(h)p 1134 4315 139 4 v 1134 4371 a Fj(ESC)p
+1134 4386 V 1268 4368 a Fk(i)1332 4371 y Ft(c)m(haracter,)36
 b(con)m(v)m(erting)g(them)e(to)g(a)h(meta-pre\014xed)f(k)m(ey)g
-(sequence.)1110 4281 y(The)c(default)g(v)-5 b(alue)31
-b(is)g(`)p Fs(on)p Ft('.)630 4427 y Fs(disable-completion)1110
-4536 y Ft(If)36 b(set)h(to)h(`)p Fs(On)p Ft(',)g(Readline)f(will)g
+(sequence.)1110 4481 y(The)c(default)g(v)-5 b(alue)31
+b(is)g(`)p Fs(on)p Ft('.)630 4636 y Fs(disable-completion)1110
+4746 y Ft(If)36 b(set)h(to)h(`)p Fs(On)p Ft(',)g(Readline)f(will)g
 (inhibit)f(w)m(ord)h(completion.)60 b(Completion)1110
-4646 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g
+4855 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g
 (line)f(as)g(if)g(they)h(had)e(b)s(een)g(mapp)s(ed)1110
-4755 y(to)31 b Fs(self-insert)p Ft(.)38 b(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)630 4902 y Fs(editing-mode)1110 5011 y
+4965 y(to)31 b Fs(self-insert)p Ft(.)38 b(The)30 b(default)g(is)h(`)p
+Fs(off)p Ft('.)630 5121 y Fs(editing-mode)1110 5230 y
 Ft(The)d Fs(editing-mode)e Ft(v)-5 b(ariable)29 b(con)m(trols)h(whic)m
-(h)e(default)h(set)h(of)e(k)m(ey)i(bind-)1110 5121 y(ings)25
+(h)e(default)h(set)h(of)e(k)m(ey)i(bind-)1110 5340 y(ings)25
 b(is)g(used.)38 b(By)26 b(default,)g(Readline)g(starts)f(up)f(in)h
-(Emacs)g(editing)h(mo)s(de,)1110 5230 y(where)j(the)g(k)m(eystrok)m(es)
-i(are)e(most)h(similar)f(to)h(Emacs.)40 b(This)29 b(v)-5
-b(ariable)30 b(can)1110 5340 y(b)s(e)g(set)h(to)g(either)g(`)p
-Fs(emacs)p Ft(')e(or)h(`)p Fs(vi)p Ft('.)p eop end
+(Emacs)g(editing)h(mo)s(de,)p eop end
 %%Page: 6 10
 TeXDict begin 6 9 bop 150 -116 a Ft(6)2645 b(GNU)31 b(Readline)g
-(Library)630 299 y Fs(enable-keypad)1110 408 y Ft(When)23
-b(set)h(to)g(`)p Fs(on)p Ft(',)h(Readline)f(will)g(try)f(to)h(enable)g
-(the)f(application)i(k)m(eypad)1110 518 y(when)h(it)h(is)f(called.)41
-b(Some)27 b(systems)f(need)h(this)f(to)h(enable)g(the)g(arro)m(w)g(k)m
-(eys.)1110 628 y(The)j(default)g(is)h(`)p Fs(off)p Ft('.)630
-819 y Fs(expand-tilde)1110 929 y Ft(If)c(set)h(to)h(`)p
-Fs(on)p Ft(',)f(tilde)g(expansion)g(is)f(p)s(erformed)f(when)h
-(Readline)h(attempts)1110 1039 y(w)m(ord)i(completion.)42
-b(The)30 b(default)g(is)h(`)p Fs(off)p Ft('.)630 1230
-y Fs(history-preserve-point)1110 1340 y Ft(If)e(set)i(to)f(`)p
-Fs(on)p Ft(',)g(the)g(history)g(co)s(de)g(attempts)g(to)h(place)f(p)s
-(oin)m(t)g(at)h(the)f(same)1110 1450 y(lo)s(cation)35
-b(on)e(eac)m(h)i(history)e(line)h(retriev)m(ed)g(with)f
-Fs(previous-history)c Ft(or)1110 1559 y Fs(next-history)p
+(Library)1110 299 y(where)e(the)g(k)m(eystrok)m(es)i(are)e(most)h
+(similar)f(to)h(Emacs.)40 b(This)29 b(v)-5 b(ariable)30
+b(can)1110 408 y(b)s(e)g(set)h(to)g(either)g(`)p Fs(emacs)p
+Ft(')e(or)h(`)p Fs(vi)p Ft('.)630 567 y Fs(enable-keypad)1110
+676 y Ft(When)23 b(set)h(to)g(`)p Fs(on)p Ft(',)h(Readline)f(will)g
+(try)f(to)h(enable)g(the)f(application)i(k)m(eypad)1110
+786 y(when)h(it)h(is)f(called.)41 b(Some)27 b(systems)f(need)h(this)f
+(to)h(enable)g(the)g(arro)m(w)g(k)m(eys.)1110 896 y(The)j(default)g(is)
+h(`)p Fs(off)p Ft('.)630 1054 y Fs(expand-tilde)1110
+1163 y Ft(If)c(set)h(to)h(`)p Fs(on)p Ft(',)f(tilde)g(expansion)g(is)f
+(p)s(erformed)f(when)h(Readline)h(attempts)1110 1273
+y(w)m(ord)i(completion.)42 b(The)30 b(default)g(is)h(`)p
+Fs(off)p Ft('.)630 1431 y Fs(history-preserve-point)1110
+1541 y Ft(If)e(set)i(to)f(`)p Fs(on)p Ft(',)g(the)g(history)g(co)s(de)g
+(attempts)g(to)h(place)f(p)s(oin)m(t)g(at)h(the)f(same)1110
+1650 y(lo)s(cation)35 b(on)e(eac)m(h)i(history)e(line)h(retriev)m(ed)g
+(with)f Fs(previous-history)c Ft(or)1110 1760 y Fs(next-history)p
 Ft(.)37 b(The)30 b(default)h(is)f(`)p Fs(off)p Ft('.)630
-1751 y Fs(horizontal-scroll-mode)1110 1861 y Ft(This)35
+1918 y Fs(horizontal-scroll-mode)1110 2028 y Ft(This)35
 b(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f(`)p
 Fs(on)p Ft(')g(or)g(`)p Fs(off)p Ft('.)57 b(Setting)36
-b(it)g(to)h(`)p Fs(on)p Ft(')1110 1970 y(means)26 b(that)h(the)f(text)h
+b(it)g(to)h(`)p Fs(on)p Ft(')1110 2138 y(means)26 b(that)h(the)f(text)h
 (of)g(the)f(lines)g(b)s(eing)g(edited)h(will)f(scroll)h(horizon)m
-(tally)1110 2080 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i
-(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 2189
+(tally)1110 2247 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i
+(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 2357
 y(screen,)27 b(instead)g(of)f(wrapping)f(on)m(to)i(a)f(new)g(screen)g
-(line.)39 b(By)27 b(default,)g(this)1110 2299 y(v)-5
+(line.)39 b(By)27 b(default,)g(this)1110 2466 y(v)-5
 b(ariable)31 b(is)g(set)f(to)i(`)p Fs(off)p Ft('.)630
-2491 y Fs(input-meta)1110 2600 y Ft(If)f(set)g(to)h(`)p
+2625 y Fs(input-meta)1110 2734 y Ft(If)f(set)g(to)h(`)p
 Fs(on)p Ft(',)g(Readline)g(will)f(enable)h(eigh)m(t-bit)h(input)d(\(it)
-i(will)f(not)h(clear)1110 2710 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h
+i(will)f(not)h(clear)1110 2844 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h
 (c)m(haracters)h(it)f(reads\),)j(regardless)c(of)h(what)g(the)1110
-2819 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68
+2953 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68
 b(The)39 b(default)h(v)-5 b(alue)40 b(is)g(`)p Fs(off)p
-Ft('.)69 b(The)1110 2929 y(name)30 b Fs(meta-flag)e Ft(is)j(a)f(synon)m
-(ym)g(for)g(this)h(v)-5 b(ariable.)630 3121 y Fs(isearch-terminators)
-1110 3230 y Ft(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e
-(terminate)j(an)f(incremen)m(tal)1110 3340 y(searc)m(h)25
+Ft('.)69 b(The)1110 3063 y(name)30 b Fs(meta-flag)e Ft(is)j(a)f(synon)m
+(ym)g(for)g(this)h(v)-5 b(ariable.)630 3221 y Fs(isearch-terminators)
+1110 3331 y Ft(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e
+(terminate)j(an)f(incremen)m(tal)1110 3440 y(searc)m(h)25
 b(without)g(subsequen)m(tly)g(executing)h(the)f(c)m(haracter)h(as)f(a)g
-(command)1110 3450 y(\(see)45 b(Section)h(1.2.5)g([Searc)m(hing],)j
+(command)1110 3550 y(\(see)45 b(Section)h(1.2.5)g([Searc)m(hing],)j
 (page)d(3\).)84 b(If)44 b(this)g(v)-5 b(ariable)45 b(has)g(not)1110
-3559 y(b)s(een)31 b(giv)m(en)h(a)g(v)-5 b(alue,)32 b(the)g(c)m
-(haracters)2494 3556 y Fk(h)p 2518 3503 139 4 v 2518
-3559 a Fj(ESC)p 2518 3575 V 2652 3556 a Fk(i)2713 3559
-y Ft(and)f Fl(C-J)g Ft(will)h(terminate)g(an)1110 3669
-y(incremen)m(tal)g(searc)m(h.)630 3861 y Fs(keymap)192
+3660 y(b)s(een)31 b(giv)m(en)h(a)g(v)-5 b(alue,)32 b(the)g(c)m
+(haracters)2494 3657 y Fk(h)p 2518 3604 139 4 v 2518
+3660 a Fj(ESC)p 2518 3675 V 2652 3657 a Fk(i)2713 3660
+y Ft(and)f Fl(C-J)g Ft(will)h(terminate)g(an)1110 3769
+y(incremen)m(tal)g(searc)m(h.)630 3927 y Fs(keymap)192
 b Ft(Sets)39 b(Readline's)g(idea)h(of)f(the)g(curren)m(t)f(k)m(eymap)h
-(for)g(k)m(ey)g(binding)f(com-)1110 3970 y(mands.)81
+(for)g(k)m(ey)g(binding)f(com-)1110 4037 y(mands.)81
 b(Acceptable)47 b Fs(keymap)42 b Ft(names)i(are)h Fs(emacs)p
-Ft(,)i Fs(emacs-standard)p Ft(,)1110 4080 y Fs(emacs-meta)p
+Ft(,)i Fs(emacs-standard)p Ft(,)1110 4147 y Fs(emacs-meta)p
 Ft(,)99 b Fs(emacs-ctlx)p Ft(,)f Fs(vi)p Ft(,)j Fs(vi-move)p
-Ft(,)f Fs(vi-command)p Ft(,)f(and)1110 4189 y Fs(vi-insert)p
+Ft(,)f Fs(vi-command)p Ft(,)f(and)1110 4256 y Fs(vi-insert)p
 Ft(.)64 b Fs(vi)38 b Ft(is)h(equiv)-5 b(alen)m(t)41 b(to)e
 Fs(vi-command)p Ft(;)i Fs(emacs)c Ft(is)i(equiv)-5 b(alen)m(t)1110
-4299 y(to)33 b Fs(emacs-standard)p Ft(.)41 b(The)31 b(default)h(v)-5
+4366 y(to)33 b Fs(emacs-standard)p Ft(.)41 b(The)31 b(default)h(v)-5
 b(alue)32 b(is)g Fs(emacs)p Ft(.)44 b(The)31 b(v)-5 b(alue)33
-b(of)f(the)1110 4408 y Fs(editing-mode)27 b Ft(v)-5 b(ariable)31
-b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 4600
-y Fs(mark-directories)1110 4710 y Ft(If)38 b(set)g(to)h(`)p
+b(of)f(the)1110 4475 y Fs(editing-mode)27 b Ft(v)-5 b(ariable)31
+b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 4634
+y Fs(mark-directories)1110 4743 y Ft(If)38 b(set)g(to)h(`)p
 Fs(on)p Ft(',)i(completed)e(directory)f(names)g(ha)m(v)m(e)i(a)e(slash)
-g(app)s(ended.)1110 4819 y(The)30 b(default)g(is)h(`)p
+g(app)s(ended.)1110 4853 y(The)30 b(default)g(is)h(`)p
 Fs(on)p Ft('.)630 5011 y Fs(mark-modified-lines)1110
 5121 y Ft(This)k(v)-5 b(ariable,)38 b(when)d(set)h(to)h(`)p
 Fs(on)p Ft(',)g(causes)g(Readline)f(to)h(displa)m(y)f(an)f(as-)1110
@@ -4882,161 +4886,164 @@ b(syn)m(tax)i(for)f(con)m(trolling)h(k)m(ey)g(bindings)e(in)h(the)g
 eop end
 %%Page: 8 12
 TeXDict begin 8 11 bop 150 -116 a Ft(8)2645 b(GNU)31
-b(Readline)g(Library)630 299 y(the)h(name)g(of)g(the)g(command.)46
-b(The)31 b(name)h(of)g(the)g(k)m(ey)h(can)f(b)s(e)f(expressed)h(in)f
-(di\013eren)m(t)630 408 y(w)m(a)m(ys,)g(dep)s(ending)e(on)i(what)f(y)m
-(ou)h(\014nd)d(most)j(comfortable.)630 545 y(In)k(addition)h(to)h
-(command)f(names,)i(readline)e(allo)m(ws)h(k)m(eys)g(to)g(b)s(e)e(b)s
-(ound)f(to)j(a)f(string)630 655 y(that)31 b(is)f(inserted)h(when)e(the)
-i(k)m(ey)g(is)f(pressed)g(\(a)h Fi(macro)5 b Ft(\).)630
-819 y Fi(k)m(eyname)g Ft(:)42 b Fi(function-name)35 b
-Ft(or)c Fi(macro)1110 929 y(k)m(eyname)k Ft(is)29 b(the)f(name)h(of)g
-(a)g(k)m(ey)h(sp)s(elled)e(out)h(in)g(English.)39 b(F)-8
-b(or)30 b(example:)1350 1066 y Fs(Control-u:)45 b(universal-argument)
-1350 1176 y(Meta-Rubout:)f(backward-kill-word)1350 1285
-y(Control-o:)h(">)i(output")1110 1422 y Ft(In)38 b(the)h(ab)s(o)m(v)m
-(e)h(example,)h Fl(C-u)d Ft(is)h(b)s(ound)d(to)k(the)e(function)h
-Fs(universal-)1110 1532 y(argument)p Ft(,)f Fl(M-DEL)e
-Ft(is)i(b)s(ound)e(to)i(the)g(function)g Fs(backward-kill-word)p
-Ft(,)1110 1641 y(and)g Fl(C-o)g Ft(is)h(b)s(ound)e(to)j(run)d(the)j
-(macro)f(expressed)g(on)f(the)i(righ)m(t)f(hand)1110
-1751 y(side)30 b(\(that)i(is,)e(to)h(insert)g(the)f(text)i(`)p
-Fs(>)e(output)p Ft(')f(in)m(to)i(the)g(line\).)1110 1888
-y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m(haracter)i(names)e
-(are)g(recognized)h(while)f(pro-)1110 1998 y(cessing)24
+b(Readline)g(Library)630 299 y(the)h(name)h(of)f(the)g(command.)46
+b(There)32 b(can)g(b)s(e)g(no)g(space)g(b)s(et)m(w)m(een)h(the)f(k)m
+(ey)h(name)g(and)630 408 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g
+(in)m(terpreted)g(as)g(part)f(of)h(the)g(k)m(ey)h(name.)72
+b(The)40 b(name)h(of)630 518 y(the)35 b(k)m(ey)g(can)g(b)s(e)f
+(expressed)f(in)i(di\013eren)m(t)g(w)m(a)m(ys,)h(dep)s(ending)d(on)h
+(what)h(y)m(ou)g(\014nd)e(most)630 628 y(comfortable.)630
+763 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h(k)
+m(eys)g(to)g(b)s(e)e(b)s(ound)f(to)j(a)f(string)630 872
+y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g(\(a)h
+Fi(macro)5 b Ft(\).)630 1032 y Fi(k)m(eyname)g Ft(:)42
+b Fi(function-name)35 b Ft(or)c Fi(macro)1110 1142 y(k)m(eyname)k
+Ft(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s(elled)e(out)h(in)g
+(English.)39 b(F)-8 b(or)30 b(example:)1350 1277 y Fs(Control-u:)45
+b(universal-argument)1350 1386 y(Meta-Rubout:)f(backward-kill-word)1350
+1496 y(Control-o:)h(">)i(output")1110 1631 y Ft(In)38
+b(the)h(ab)s(o)m(v)m(e)h(example,)h Fl(C-u)d Ft(is)h(b)s(ound)d(to)k
+(the)e(function)h Fs(universal-)1110 1740 y(argument)p
+Ft(,)f Fl(M-DEL)e Ft(is)i(b)s(ound)e(to)i(the)g(function)g
+Fs(backward-kill-word)p Ft(,)1110 1850 y(and)g Fl(C-o)g
+Ft(is)h(b)s(ound)e(to)j(run)d(the)j(macro)f(expressed)g(on)f(the)i
+(righ)m(t)f(hand)1110 1960 y(side)30 b(\(that)i(is,)e(to)h(insert)g
+(the)f(text)i(`)p Fs(>)e(output)p Ft(')f(in)m(to)i(the)g(line\).)1110
+2094 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m(haracter)i
+(names)e(are)g(recognized)h(while)f(pro-)1110 2204 y(cessing)24
 b(this)g(k)m(ey)g(binding)f(syn)m(tax:)37 b Fi(DEL)p
 Ft(,)24 b Fi(ESC)p Ft(,)f Fi(ESCAPE)p Ft(,)g Fi(LFD)p
-Ft(,)h Fi(NEW-)1110 2107 y(LINE)p Ft(,)30 b Fi(RET)p
+Ft(,)h Fi(NEW-)1110 2314 y(LINE)p Ft(,)30 b Fi(RET)p
 Ft(,)g Fi(RETURN)p Ft(,)h Fi(R)m(UBOUT)p Ft(,)g Fi(SP)-8
 b(A)m(CE)p Ft(,)30 b Fi(SPC)p Ft(,)g(and)f Fi(T)-8 b(AB)p
-Ft(.)630 2271 y Fs(")p Fi(k)m(eyseq)r Fs(")p Ft(:)41
-b Fi(function-name)36 b Ft(or)30 b Fi(macro)1110 2381
+Ft(.)630 2474 y Fs(")p Fi(k)m(eyseq)r Fs(")p Ft(:)41
+b Fi(function-name)36 b Ft(or)30 b Fi(macro)1110 2583
 y(k)m(eyseq)k Ft(di\013ers)d(from)f Fi(k)m(eyname)37
 b Ft(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f(denoting)g(an)g(en-)1110
-2491 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s(e)f(sp)s(eci\014ed,)h(b)m
-(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)1110 2600
+2693 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s(e)f(sp)s(eci\014ed,)h(b)m
+(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)1110 2803
 y(double)29 b(quotes.)41 b(Some)29 b Fm(gnu)h Ft(Emacs)f(st)m(yle)i(k)m
-(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)1110 2710
+(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)1110 2912
 y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s(ecial)h(c)m
-(haracter)g(names)f(are)g(not)1110 2819 y(recognized.)1350
-2956 y Fs("\\C-u":)46 b(universal-argument)1350 3066
-y("\\C-x\\C-r":)f(re-read-init-file)1350 3176 y("\\e[11~":)g("Function)
-h(Key)g(1")1110 3313 y Ft(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74
+(haracter)g(names)f(are)g(not)1110 3022 y(recognized.)1350
+3157 y Fs("\\C-u":)46 b(universal-argument)1350 3266
+y("\\C-x\\C-r":)f(re-read-init-file)1350 3376 y("\\e[11~":)g("Function)
+h(Key)g(1")1110 3511 y Ft(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74
 b Fl(C-u)64 b Ft(is)g(again)i(b)s(ound)c(to)k(the)e(function)1110
-3422 y Fs(universal-argument)39 b Ft(\(just)k(as)h(it)g(w)m(as)g(in)g
-(the)f(\014rst)g(example\),)49 b(`)p Fl(C-x)1110 3532
+3620 y Fs(universal-argument)39 b Ft(\(just)k(as)h(it)g(w)m(as)g(in)g
+(the)f(\014rst)g(example\),)49 b(`)p Fl(C-x)1110 3730
 y(C-r)p Ft(')41 b(is)g(b)s(ound)e(to)j(the)f(function)g
-Fs(re-read-init-file)p Ft(,)e(and)i(`)3462 3529 y Fk(h)p
-3486 3476 139 4 v 3486 3532 a Fj(ESC)p 3486 3547 V 3620
-3529 a Fk(i)31 b(h)p 3705 3476 20 4 v 3705 3532 a Fj([)p
-3705 3548 V 3720 3529 a Fk(i)1110 3638 y(h)p 1134 3585
-36 4 v 1134 3641 a Fj(1)p 1134 3657 V 1165 3638 a Fk(i)f(h)p
-1250 3585 V 1250 3641 a Fj(1)p 1250 3657 V 1281 3638
-a Fk(i)g(h)p 1365 3585 48 4 v 1365 3641 a Fs(~)p 1365
-3657 V 1409 3638 a Fk(i)1438 3641 y Ft(')h(is)f(b)s(ound)f(to)i(insert)
+Fs(re-read-init-file)p Ft(,)e(and)i(`)3462 3727 y Fk(h)p
+3486 3674 139 4 v 3486 3730 a Fj(ESC)p 3486 3745 V 3620
+3727 a Fk(i)31 b(h)p 3705 3674 20 4 v 3705 3730 a Fj([)p
+3705 3746 V 3720 3727 a Fk(i)1110 3836 y(h)p 1134 3783
+36 4 v 1134 3839 a Fj(1)p 1134 3855 V 1165 3836 a Fk(i)f(h)p
+1250 3783 V 1250 3839 a Fj(1)p 1250 3855 V 1281 3836
+a Fk(i)g(h)p 1365 3783 48 4 v 1365 3839 a Fs(~)p 1365
+3855 V 1409 3836 a Fk(i)1438 3839 y Ft(')h(is)f(b)s(ound)f(to)i(insert)
 f(the)h(text)g(`)p Fs(Function)d(Key)i(1)p Ft('.)630
-3806 y(The)f(follo)m(wing)i Fm(gnu)f Ft(Emacs)g(st)m(yle)h(escap)s(e)f
+4000 y(The)f(follo)m(wing)i Fm(gnu)f Ft(Emacs)g(st)m(yle)h(escap)s(e)f
 (sequences)g(are)g(a)m(v)-5 b(ailable)32 b(when)d(sp)s(ecifying)630
-3915 y(k)m(ey)i(sequences:)630 4080 y Fl(\\C-)336 b Ft(con)m(trol)32
-b(pre\014x)630 4244 y Fl(\\M-)336 b Ft(meta)31 b(pre\014x)630
-4408 y Fl(\\e)384 b Ft(an)30 b(escap)s(e)h(c)m(haracter)630
-4573 y Fl(\\\\)384 b Ft(bac)m(kslash)630 4737 y Fl(\\)p
-Fs(")1110 4734 y Fk(h)p 1134 4681 V 1134 4737 a Fs(")p
-1134 4753 V 1178 4734 a Fk(i)1208 4737 y Ft(,)30 b(a)h(double)f
-(quotation)h(mark)630 4902 y Fl(\\')1110 4899 y Fk(h)p
-1134 4846 20 4 v 1134 4902 a Fj(')p 1134 4917 V 1150
-4899 a Fk(i)1179 4902 y Ft(,)g(a)g(single)g(quote)g(or)f(ap)s(ostrophe)
-630 5066 y(In)d(addition)h(to)g(the)g Fm(gnu)f Ft(Emacs)h(st)m(yle)h
+4109 y(k)m(ey)i(sequences:)630 4269 y Fl(\\C-)336 b Ft(con)m(trol)32
+b(pre\014x)630 4430 y Fl(\\M-)336 b Ft(meta)31 b(pre\014x)630
+4590 y Fl(\\e)384 b Ft(an)30 b(escap)s(e)h(c)m(haracter)630
+4750 y Fl(\\\\)384 b Ft(bac)m(kslash)630 4910 y Fl(\\)p
+Fs(")1110 4907 y Fk(h)p 1134 4854 V 1134 4910 a Fs(")p
+1134 4925 V 1178 4907 a Fk(i)1208 4910 y Ft(,)30 b(a)h(double)f
+(quotation)h(mark)630 5070 y Fl(\\')1110 5067 y Fk(h)p
+1134 5014 20 4 v 1134 5070 a Fj(')p 1134 5086 V 1150
+5067 a Fk(i)1179 5070 y Ft(,)g(a)g(single)g(quote)g(or)f(ap)s(ostrophe)
+630 5230 y(In)d(addition)h(to)g(the)g Fm(gnu)f Ft(Emacs)h(st)m(yle)h
 (escap)s(e)f(sequences,)h(a)f(second)f(set)h(of)g(bac)m(kslash)630
-5176 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 5340
-y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))p eop end
+5340 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)p eop end
 %%Page: 9 13
 TeXDict begin 9 12 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(9)630 299 y Fs(\\b)384
-b Ft(bac)m(kspace)630 455 y Fs(\\d)g Ft(delete)630 612
-y Fs(\\f)g Ft(form)30 b(feed)630 768 y Fs(\\n)384 b Ft(newline)630
-925 y Fs(\\r)g Ft(carriage)32 b(return)630 1081 y Fs(\\t)384
-b Ft(horizon)m(tal)32 b(tab)630 1238 y Fs(\\v)384 b Ft(v)m(ertical)32
-b(tab)630 1394 y Fs(\\)p Fl(nnn)288 b Ft(the)35 b(eigh)m(t-bit)h(c)m
-(haracter)g(whose)e(v)-5 b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5
-b(alue)35 b Fi(nnn)e Ft(\(one)i(to)1110 1504 y(three)c(digits\))630
-1661 y Fs(\\x)p Fl(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g
+b(Command)29 b(Line)i(Editing)2153 b(9)630 299 y Fs(\\a)384
+b Ft(alert)31 b(\(b)s(ell\))630 453 y Fs(\\b)384 b Ft(bac)m(kspace)630
+606 y Fs(\\d)g Ft(delete)630 760 y Fs(\\f)g Ft(form)30
+b(feed)630 914 y Fs(\\n)384 b Ft(newline)630 1067 y Fs(\\r)g
+Ft(carriage)32 b(return)630 1221 y Fs(\\t)384 b Ft(horizon)m(tal)32
+b(tab)630 1375 y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630
+1528 y Fs(\\)p Fl(nnn)288 b Ft(the)35 b(eigh)m(t-bit)h(c)m(haracter)g
+(whose)e(v)-5 b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5
+b(alue)35 b Fi(nnn)e Ft(\(one)i(to)1110 1638 y(three)c(digits\))630
+1791 y Fs(\\x)p Fl(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g
 (whose)e(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5
-b(alue)40 b Fi(HH)1110 1770 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
-(digits\))630 1927 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g
+b(alue)40 b Fi(HH)1110 1901 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
+(digits\))630 2055 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g
 (macro,)i(single)e(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to)
-630 2036 y(indicate)23 b(a)e(macro)h(de\014nition.)38
+630 2164 y(indicate)23 b(a)e(macro)h(de\014nition.)38
 b(Unquoted)21 b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f
-(name.)38 b(In)630 2146 y(the)22 b(macro)f(b)s(o)s(dy)-8
+(name.)38 b(In)630 2274 y(the)22 b(macro)f(b)s(o)s(dy)-8
 b(,)23 b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m
-(e)j(are)e(expanded.)37 b(Bac)m(kslash)630 2255 y(will)j(quote)h(an)m
+(e)j(are)e(expanded.)37 b(Bac)m(kslash)630 2383 y(will)j(quote)h(an)m
 (y)f(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39
 b(`)p Fs(")p Ft(')h(and)g(`)p Fs(')p Ft('.)69 b(F)-8
-b(or)630 2365 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
+b(or)630 2493 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
 (mak)m(e)h(`)p Fl(C-x)j Fs(\\)p Ft(')c(insert)f(a)h(single)h(`)p
-Fs(\\)p Ft(')f(in)m(to)g(the)g(line:)870 2498 y Fs("\\C-x\\\\":)45
-b("\\\\")150 2718 y Fh(1.3.2)63 b(Conditional)41 b(Init)g(Constructs)
-275 2961 y Ft(Readline)36 b(implemen)m(ts)f(a)h(facilit)m(y)i(similar)d
+Fs(\\)p Ft(')f(in)m(to)g(the)g(line:)870 2625 y Fs("\\C-x\\\\":)45
+b("\\\\")150 2840 y Fh(1.3.2)63 b(Conditional)41 b(Init)g(Constructs)
+275 3081 y Ft(Readline)36 b(implemen)m(ts)f(a)h(facilit)m(y)i(similar)d
 (in)g(spirit)g(to)h(the)g(conditional)h(compilation)g(features)150
-3070 y(of)e(the)f(C)g(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)f
+3191 y(of)e(the)f(C)g(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)f
 (bindings)e(and)h(v)-5 b(ariable)35 b(settings)h(to)f(b)s(e)f(p)s
-(erformed)f(as)150 3180 y(the)e(result)f(of)g(tests.)42
+(erformed)f(as)150 3301 y(the)e(result)f(of)g(tests.)42
 b(There)30 b(are)h(four)e(parser)h(directiv)m(es)i(used.)150
-3336 y Fs($if)336 b Ft(The)31 b Fs($if)f Ft(construct)i(allo)m(ws)h
+3454 y Fs($if)336 b Ft(The)31 b Fs($if)f Ft(construct)i(allo)m(ws)h
 (bindings)d(to)i(b)s(e)e(made)i(based)f(on)g(the)g(editing)h(mo)s(de,)g
-(the)630 3446 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g
+(the)630 3564 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g
 (application)h(using)f(Readline.)64 b(The)38 b(text)h(of)f(the)g(test)
-630 3555 y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m
+630 3673 y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m
 (haracters)i(are)f(required)e(to)i(isolate)i(it.)630
-3712 y Fs(mode)288 b Ft(The)20 b Fs(mode=)g Ft(form)g(of)h(the)g
+3827 y Fs(mode)288 b Ft(The)20 b Fs(mode=)g Ft(form)g(of)h(the)g
 Fs($if)f Ft(directiv)m(e)j(is)e(used)f(to)h(test)h(whether)e(Readline)
-1110 3821 y(is)29 b(in)h Fs(emacs)e Ft(or)h Fs(vi)g Ft(mo)s(de.)40
+1110 3937 y(is)29 b(in)h Fs(emacs)e Ft(or)h Fs(vi)g Ft(mo)s(de.)40
 b(This)29 b(ma)m(y)h(b)s(e)e(used)h(in)g(conjunction)h(with)f(the)1110
-3931 y(`)p Fs(set)h(keymap)p Ft(')c(command,)i(for)f(instance,)i(to)f
-(set)g(bindings)f(in)g(the)h Fs(emacs-)1110 4041 y(standard)23
+4046 y(`)p Fs(set)h(keymap)p Ft(')c(command,)i(for)f(instance,)i(to)f
+(set)g(bindings)f(in)g(the)h Fs(emacs-)1110 4156 y(standard)23
 b Ft(and)h Fs(emacs-ctlx)f Ft(k)m(eymaps)i(only)g(if)g(Readline)h(is)f
-(starting)h(out)1110 4150 y(in)k Fs(emacs)f Ft(mo)s(de.)630
-4307 y Fs(term)288 b Ft(The)26 b Fs(term=)g Ft(form)g(ma)m(y)i(b)s(e)e
+(starting)h(out)1110 4266 y(in)k Fs(emacs)f Ft(mo)s(de.)630
+4419 y Fs(term)288 b Ft(The)26 b Fs(term=)g Ft(form)g(ma)m(y)i(b)s(e)e
 (used)g(to)i(include)f(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110
-4416 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f
-(output)g(b)m(y)g(the)g(terminal's)1110 4526 y(function)24
+4529 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f
+(output)g(b)m(y)g(the)g(terminal's)1110 4638 y(function)24
 b(k)m(eys.)39 b(The)23 b(w)m(ord)h(on)f(the)i(righ)m(t)f(side)g(of)g
-(the)g(`)p Fs(=)p Ft(')g(is)g(tested)h(against)1110 4636
+(the)g(`)p Fs(=)p Ft(')g(is)g(tested)h(against)1110 4748
 y(b)s(oth)k(the)h(full)g(name)g(of)g(the)g(terminal)h(and)e(the)i(p)s
-(ortion)e(of)h(the)g(terminal)1110 4745 y(name)k(b)s(efore)f(the)g
+(ortion)e(of)h(the)g(terminal)1110 4858 y(name)k(b)s(efore)f(the)g
 (\014rst)g(`)p Fs(-)p Ft('.)50 b(This)33 b(allo)m(ws)i
 Fs(sun)e Ft(to)h(matc)m(h)g(b)s(oth)f Fs(sun)g Ft(and)1110
-4855 y Fs(sun-cmd)p Ft(,)c(for)h(instance.)630 5011 y
-Fs(application)1110 5121 y Ft(The)21 b Fi(application)j
+4967 y Fs(sun-cmd)p Ft(,)c(for)h(instance.)630 5121 y
+Fs(application)1110 5230 y Ft(The)21 b Fi(application)j
 Ft(construct)e(is)g(used)f(to)i(include)f(application-sp)s(eci\014c)h
-(set-)1110 5230 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h
-(Readline)g(library)g(sets)g(the)g Fi(application)1110
-5340 y(name)p Ft(,)g(and)e(y)m(ou)g(can)h(test)g(for)f(a)g(particular)h
-(v)-5 b(alue.)39 b(This)22 b(could)h(b)s(e)g(used)f(to)p
-eop end
+(set-)1110 5340 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h
+(Readline)g(library)g(sets)g(the)g Fi(application)p eop
+end
 %%Page: 10 14
 TeXDict begin 10 13 bop 150 -116 a Ft(10)2600 b(GNU)31
-b(Readline)g(Library)1110 299 y(bind)h(k)m(ey)h(sequences)g(to)h
-(functions)e(useful)g(for)h(a)g(sp)s(eci\014c)f(program.)48
-b(F)-8 b(or)1110 408 y(instance,)35 b(the)e(follo)m(wing)h(command)f
-(adds)f(a)i(k)m(ey)f(sequence)h(that)f(quotes)1110 518
+b(Readline)g(Library)1110 299 y Fi(name)p Ft(,)25 b(and)e(y)m(ou)g(can)
+h(test)g(for)f(a)g(particular)h(v)-5 b(alue.)39 b(This)22
+b(could)h(b)s(e)g(used)f(to)1110 408 y(bind)32 b(k)m(ey)h(sequences)g
+(to)h(functions)e(useful)g(for)h(a)g(sp)s(eci\014c)f(program.)48
+b(F)-8 b(or)1110 518 y(instance,)35 b(the)e(follo)m(wing)h(command)f
+(adds)f(a)i(k)m(ey)f(sequence)h(that)f(quotes)1110 628
 y(the)e(curren)m(t)f(or)g(previous)g(w)m(ord)g(in)g(Bash:)1350
-653 y Fs($if)47 b(Bash)1350 762 y(#)g(Quote)g(the)g(current)f(or)h
-(previous)e(word)1350 872 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350
-981 y($endif)150 1141 y($endif)192 b Ft(This)29 b(command,)i(as)f(seen)
-h(in)f(the)g(previous)g(example,)h(terminates)g(an)g
-Fs($if)e Ft(command.)150 1300 y Fs($else)240 b Ft(Commands)29
+762 y Fs($if)47 b(Bash)1350 872 y(#)g(Quote)g(the)g(current)f(or)h
+(previous)e(word)1350 981 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350
+1091 y($endif)150 1250 y($endif)192 b Ft(This)29 b(command,)i(as)f
+(seen)h(in)f(the)g(previous)g(example,)h(terminates)g(an)g
+Fs($if)e Ft(command.)150 1410 y Fs($else)240 b Ft(Commands)29
 b(in)h(this)h(branc)m(h)e(of)i(the)f Fs($if)g Ft(directiv)m(e)i(are)f
-(executed)g(if)f(the)h(test)g(fails.)150 1460 y Fs($include)96
+(executed)g(if)f(the)h(test)g(fails.)150 1569 y Fs($include)96
 b Ft(This)43 b(directiv)m(e)i(tak)m(es)g(a)e(single)i(\014lename)e(as)h
-(an)f(argumen)m(t)h(and)f(reads)g(commands)630 1569 y(and)38
+(an)f(argumen)m(t)h(and)f(reads)g(commands)630 1679 y(and)38
 b(bindings)f(from)h(that)i(\014le.)65 b(F)-8 b(or)39
 b(example,)j(the)d(follo)m(wing)h(directiv)m(e)g(reads)e(from)630
-1679 y(`)p Fs(/etc/inputrc)p Ft(':)870 1813 y Fs($include)46
-b(/etc/inputrc)150 2037 y Fh(1.3.3)63 b(Sample)41 b(Init)g(File)275
-2281 y Ft(Here)31 b(is)f(an)g(example)i(of)e(an)g Fi(inputrc)35
+1788 y(`)p Fs(/etc/inputrc)p Ft(':)870 1923 y Fs($include)46
+b(/etc/inputrc)150 2147 y Fh(1.3.3)63 b(Sample)41 b(Init)g(File)275
+2391 y Ft(Here)31 b(is)f(an)g(example)i(of)e(an)g Fi(inputrc)35
 b Ft(\014le.)42 b(This)29 b(illustrates)j(k)m(ey)f(binding,)f(v)-5
-b(ariable)31 b(assignmen)m(t,)150 2391 y(and)f(conditional)h(syn)m
+b(ariable)31 b(assignmen)m(t,)150 2501 y(and)f(conditional)h(syn)m
 (tax.)p eop end
 %%Page: 11 15
 TeXDict begin 11 14 bop 150 -116 a Ft(Chapter)30 b(1:)41
@@ -6608,65 +6615,68 @@ b(It)33 b(will)g(b)s(e)f Fs(")p Ft(read)p Fs(")g Ft(b)s(efore)h
 b(Up)27 b(to)g(512)h(c)m(haracters)g(ma)m(y)390 628 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 737
-y(0)g(otherwise.)3350 985 y([F)-8 b(unction])-3599 b
-Fg(int)39 b Ff(rl)p 432 985 V 51 w(execute)p 862 985
-V 48 w(next)45 b Fe(\()p Fs(int)30 b(c)p Fe(\))390 1095
+y(0)g(otherwise.)3350 973 y([F)-8 b(unction])-3599 b
+Fg(int)39 b Ff(rl)p 432 973 V 51 w(execute)p 862 973
+V 48 w(next)45 b Fe(\()p Fs(int)30 b(c)p Fe(\))390 1082
 y Ft(Mak)m(e)37 b Fi(c)42 b Ft(b)s(e)35 b(the)h(next)f(command)h(to)g
 (b)s(e)f(executed)i(when)d Fs(rl_read_key\(\))e Ft(is)k(called.)58
-b(This)390 1205 y(sets)31 b Fi(rl)p 635 1205 28 4 v 40
-w(p)s(ending)p 992 1205 V 38 w(input)p Ft(.)3350 1453
-y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432 1453
-35 5 v 51 w(clear)p 722 1453 V 49 w(p)s(ending)p 1172
-1453 V 49 w(input)44 b Fe(\()p Fs(void)p Fe(\))390 1562
-y Ft(Unset)e Fi(rl)p 729 1562 28 4 v 40 w(p)s(ending)p
-1086 1562 V 38 w(input)p Ft(,)i(e\013ectiv)m(ely)h(negating)e(the)f
+b(This)390 1192 y(sets)31 b Fi(rl)p 635 1192 28 4 v 40
+w(p)s(ending)p 992 1192 V 38 w(input)p Ft(.)3350 1427
+y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432 1427
+35 5 v 51 w(clear)p 722 1427 V 49 w(p)s(ending)p 1172
+1427 V 49 w(input)44 b Fe(\()p Fs(void)p Fe(\))390 1537
+y Ft(Unset)e Fi(rl)p 729 1537 28 4 v 40 w(p)s(ending)p
+1086 1537 V 38 w(input)p Ft(,)i(e\013ectiv)m(ely)h(negating)e(the)f
 (e\013ect)h(of)f(an)m(y)g(previous)f(call)i(to)g Fs(rl_)390
-1672 y(execute_next\(\))p Ft(.)59 b(This)36 b(w)m(orks)i(only)g(if)f
+1646 y(execute_next\(\))p Ft(.)59 b(This)36 b(w)m(orks)i(only)g(if)f
 (the)h(p)s(ending)e(input)h(has)g(not)h(already)g(b)s(een)f(read)390
-1782 y(with)30 b Fs(rl_read_key\(\))p Ft(.)3350 2030
-y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432 2030
-35 5 v 51 w(set)p 626 2030 V 49 w(k)m(eyb)s(oard)p 1136
-2030 V 51 w(input)p 1456 2030 V 48 w(timeout)45 b Fe(\()p
-Fs(int)29 b(u)p Fe(\))390 2139 y Ft(While)41 b(w)m(aiting)g(for)f(k)m
+1756 y(with)30 b Fs(rl_read_key\(\))p Ft(.)3350 1991
+y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432 1991
+35 5 v 51 w(set)p 626 1991 V 49 w(k)m(eyb)s(oard)p 1136
+1991 V 51 w(input)p 1456 1991 V 48 w(timeout)45 b Fe(\()p
+Fs(int)29 b(u)p Fe(\))390 2101 y Ft(While)41 b(w)m(aiting)g(for)f(k)m
 (eyb)s(oard)g(input)f(in)h Fs(rl_read_key\(\))p Ft(,)f(Readline)i(will)
-f(w)m(ait)h(for)f Fi(u)g Ft(mi-)390 2249 y(croseconds)h(for)g(input)f
-(b)s(efore)g(calling)j(an)m(y)e(function)f(assigned)h(to)h
-Fs(rl_event_hook)p Ft(.)68 b(The)390 2359 y(default)31
+f(w)m(ait)h(for)f Fi(u)g Ft(mi-)390 2210 y(croseconds)31
+b(for)g(input)f(b)s(efore)g(calling)j(an)m(y)e(function)f(assigned)i
+(to)f Fs(rl_event_hook)p Ft(.)39 b Fi(u)30 b Ft(m)m(ust)390
+2320 y(b)s(e)h(greater)i(than)f(or)g(equal)g(to)h(zero)f(\(a)h
+(zero-length)g(timeout)g(is)f(equiv)-5 b(alen)m(t)33
+b(to)g(a)f(p)s(oll\).)45 b(The)390 2429 y(default)31
 b(w)m(aiting)g(p)s(erio)s(d)e(is)i(one-ten)m(th)g(of)g(a)g(second.)40
 b(Returns)30 b(the)g(old)h(timeout)g(v)-5 b(alue.)150
-2647 y Fh(2.4.9)63 b(T)-10 b(erminal)41 b(Managemen)m(t)3350
-2923 y Ft([F)-8 b(unction])-3599 b Fg(void)39 b Ff(rl)p
-484 2923 V 51 w(prep)p 763 2923 V 49 w(terminal)44 b
-Fe(\()p Fs(int)30 b(meta_flag)p Fe(\))390 3032 y Ft(Mo)s(dify)42
+2705 y Fh(2.4.9)63 b(T)-10 b(erminal)41 b(Managemen)m(t)3350
+2974 y Ft([F)-8 b(unction])-3599 b Fg(void)39 b Ff(rl)p
+484 2974 V 51 w(prep)p 763 2974 V 49 w(terminal)44 b
+Fe(\()p Fs(int)30 b(meta_flag)p Fe(\))390 3084 y Ft(Mo)s(dify)42
 b(the)h(terminal)g(settings)g(for)f(Readline's)i(use,)h(so)e
-Fs(readline\(\))c Ft(can)k(read)f(a)h(single)390 3142
+Fs(readline\(\))c Ft(can)k(read)f(a)h(single)390 3193
 y(c)m(haracter)32 b(at)g(a)f(time)h(from)e(the)h(k)m(eyb)s(oard.)43
-b(The)30 b Fi(meta)p 2376 3142 28 4 v 41 w(\015ag)39
-b Ft(argumen)m(t)31 b(should)f(b)s(e)g(non-zero)390 3251
+b(The)30 b Fi(meta)p 2376 3193 28 4 v 41 w(\015ag)39
+b Ft(argumen)m(t)31 b(should)f(b)s(e)g(non-zero)390 3303
 y(if)g(Readline)h(should)f(read)g(eigh)m(t-bit)i(input.)3350
-3500 y([F)-8 b(unction])-3599 b Fg(void)39 b Ff(rl)p
-484 3500 35 5 v 51 w(deprep)p 880 3500 V 48 w(terminal)45
-b Fe(\()p Fs(void)p Fe(\))390 3609 y Ft(Undo)31 b(the)h(e\013ects)h(of)
+3538 y([F)-8 b(unction])-3599 b Fg(void)39 b Ff(rl)p
+484 3538 35 5 v 51 w(deprep)p 880 3538 V 48 w(terminal)45
+b Fe(\()p Fs(void)p Fe(\))390 3648 y Ft(Undo)31 b(the)h(e\013ects)h(of)
 f Fs(rl_prep_terminal\(\))p Ft(,)27 b(lea)m(ving)33 b(the)f(terminal)g
-(in)f(the)h(state)h(in)e(whic)m(h)390 3719 y(it)g(w)m(as)g(b)s(efore)f
+(in)f(the)h(state)h(in)e(whic)m(h)390 3757 y(it)g(w)m(as)g(b)s(efore)f
 (the)g(most)h(recen)m(t)g(call)h(to)f Fs(rl_prep_terminal\(\))p
-Ft(.)3350 3967 y([F)-8 b(unction])-3599 b Fg(void)39
-b Ff(rl)p 484 3967 V 51 w(tt)m(y)p 682 3967 V 50 w(set)p
-875 3967 V 49 w(default)p 1273 3967 V 49 w(bindings)44
-b Fe(\()p Fs(Keymap)29 b(kmap)p Fe(\))390 4076 y Ft(Read)37
+Ft(.)3350 3993 y([F)-8 b(unction])-3599 b Fg(void)39
+b Ff(rl)p 484 3993 V 51 w(tt)m(y)p 682 3993 V 50 w(set)p
+875 3993 V 49 w(default)p 1273 3993 V 49 w(bindings)44
+b Fe(\()p Fs(Keymap)29 b(kmap)p Fe(\))390 4102 y Ft(Read)37
 b(the)g(op)s(erating)h(system's)f(terminal)g(editing)h(c)m(haracters)g
 (\(as)g(w)m(ould)e(b)s(e)h(displa)m(y)m(ed)g(b)m(y)390
-4186 y Fs(stty)p Ft(\))30 b(to)h(their)f(Readline)h(equiv)-5
+4212 y Fs(stty)p Ft(\))30 b(to)h(their)f(Readline)h(equiv)-5
 b(alen)m(ts.)42 b(The)30 b(bindings)f(are)i(p)s(erformed)e(in)h
-Fi(kmap)p Ft(.)3350 4434 y([F)-8 b(unction])-3599 b Fg(void)39
-b Ff(rl)p 484 4434 V 51 w(tt)m(y)p 682 4434 V 50 w(unset)p
-1003 4434 V 49 w(default)p 1401 4434 V 48 w(bindings)44
-b Fe(\()p Fs(Keymap)29 b(kmap)p Fe(\))390 4544 y Ft(Reset)k(the)f
+Fi(kmap)p Ft(.)3350 4447 y([F)-8 b(unction])-3599 b Fg(void)39
+b Ff(rl)p 484 4447 V 51 w(tt)m(y)p 682 4447 V 50 w(unset)p
+1003 4447 V 49 w(default)p 1401 4447 V 48 w(bindings)44
+b Fe(\()p Fs(Keymap)29 b(kmap)p Fe(\))390 4557 y Ft(Reset)k(the)f
 (bindings)e(manipulated)i(b)m(y)g Fs(rl_tty_set_default_bind)o(ing)o(s)
-26 b Ft(so)32 b(that)g(the)g(ter-)390 4653 y(minal)40
+26 b Ft(so)32 b(that)g(the)g(ter-)390 4666 y(minal)40
 b(editing)g(c)m(haracters)h(are)f(b)s(ound)e(to)i Fs(rl_insert)p
 Ft(.)66 b(The)39 b(bindings)f(are)i(p)s(erformed)e(in)390
-4763 y Fi(kmap)p Ft(.)3350 5011 y([F)-8 b(unction])-3599
+4776 y Fi(kmap)p Ft(.)3350 5011 y([F)-8 b(unction])-3599
 b Fg(int)39 b Ff(rl)p 432 5011 V 51 w(reset)p 726 5011
 V 49 w(terminal)44 b Fe(\()p Fs(const)29 b(char)h(*terminal_name)p
 Fe(\))390 5121 y Ft(Reinitialize)c(Readline's)f(idea)f(of)g(the)g
@@ -7403,78 +7413,83 @@ b(Programming)30 b(with)g(GNU)h(Readline)1683 b(45)390
 (pathname)f(the)g(user)g(t)m(yp)s(ed.)39 b(It)28 b(returns)f(an)i(in)m
 (teger)390 408 y(that)34 b(should)e(b)s(e)g(non-zero)i(if)e(the)i
 (function)e(mo)s(di\014es)h(its)g(directory)g(argumen)m(t.)49
-b(It)34 b(could)f(b)s(e)390 518 y(used)d(to)h(expand)e(sym)m(b)s(olic)i
-(links)f(or)h(shell)f(v)-5 b(ariables)31 b(in)f(pathnames.)3371
-724 y([V)-8 b(ariable])-3598 b Fg(rl_compdisp_func_t)44
-b(*)38 b Ff(rl)p 1307 724 35 5 v 51 w(completion)p 1908
-724 V 49 w(displa)m(y)p 2307 724 V 49 w(matc)m(hes)p
-2762 724 V 50 w(ho)s(ok)390 833 y Ft(If)22 b(non-zero,)i(then)e(this)g
+b(It)34 b(could)f(b)s(e)390 518 y(used)g(to)h(expand)f(sym)m(b)s(olic)h
+(links)f(or)g(shell)h(v)-5 b(ariables)34 b(in)f(pathnames.)50
+b(A)m(t)34 b(the)g(least,)i(ev)m(en)e(if)390 628 y(no)i(other)h
+(expansion)f(is)g(p)s(erformed,)g(this)g(function)g(should)f(remo)m(v)m
+(e)j(an)m(y)f(quote)f(c)m(haracters)390 737 y(from)30
+b(the)g(directory)h(name,)g(b)s(ecause)f(its)h(result)f(will)h(b)s(e)f
+(passed)g(directly)h(to)g Fs(opendir\(\))p Ft(.)3371
+915 y([V)-8 b(ariable])-3598 b Fg(rl_compdisp_func_t)44
+b(*)38 b Ff(rl)p 1307 915 35 5 v 51 w(completion)p 1908
+915 V 49 w(displa)m(y)p 2307 915 V 49 w(matc)m(hes)p
+2762 915 V 50 w(ho)s(ok)390 1025 y Ft(If)22 b(non-zero,)i(then)e(this)g
 (is)g(the)g(address)f(of)h(a)g(function)g(to)h(call)g(when)e
-(completing)i(a)g(w)m(ord)e(w)m(ould)390 943 y(normally)h(displa)m(y)h
+(completing)i(a)g(w)m(ord)e(w)m(ould)390 1134 y(normally)h(displa)m(y)h
 (the)f(list)h(of)f(p)s(ossible)g(matc)m(hes.)39 b(This)21
 b(function)h(is)g(called)i(in)e(lieu)g(of)g(Readline)390
-1052 y(displa)m(ying)37 b(the)h(list.)61 b(It)37 b(tak)m(es)i(three)e
+1244 y(displa)m(ying)37 b(the)h(list.)61 b(It)37 b(tak)m(es)i(three)e
 (argumen)m(ts:)54 b(\()p Fs(char)30 b(**)p Fi(matc)m(hes)p
-Ft(,)39 b Fs(int)d Fi(n)m(um)p 3370 1052 28 4 v 40 w(matc)m(hes)p
-Ft(,)390 1162 y Fs(int)26 b Fi(max)p 735 1162 V 40 w(length)p
+Ft(,)39 b Fs(int)d Fi(n)m(um)p 3370 1244 28 4 v 40 w(matc)m(hes)p
+Ft(,)390 1354 y Fs(int)26 b Fi(max)p 735 1354 V 40 w(length)p
 Ft(\))h(where)f Fi(matc)m(hes)31 b Ft(is)c(the)f(arra)m(y)h(of)g(matc)m
-(hing)g(strings,)h Fi(n)m(um)p 3152 1162 V 39 w(matc)m(hes)j
-Ft(is)c(the)390 1271 y(n)m(um)m(b)s(er)h(of)h(strings)g(in)g(that)g
-(arra)m(y)-8 b(,)31 b(and)d Fi(max)p 2020 1271 V 40 w(length)i
+(hing)g(strings,)h Fi(n)m(um)p 3152 1354 V 39 w(matc)m(hes)j
+Ft(is)c(the)390 1463 y(n)m(um)m(b)s(er)h(of)h(strings)g(in)g(that)g
+(arra)m(y)-8 b(,)31 b(and)d Fi(max)p 2020 1463 V 40 w(length)i
 Ft(is)f(the)g(length)h(of)f(the)g(longest)h(string)f(in)390
-1381 y(that)g(arra)m(y)-8 b(.)41 b(Readline)28 b(pro)m(vides)g(a)h(con)
+1573 y(that)g(arra)m(y)-8 b(.)41 b(Readline)28 b(pro)m(vides)g(a)h(con)
 m(v)m(enience)h(function,)e Fs(rl_display_match_list)p
-Ft(,)23 b(that)390 1491 y(tak)m(es)36 b(care)g(of)f(doing)g(the)g
+Ft(,)23 b(that)390 1682 y(tak)m(es)36 b(care)g(of)f(doing)g(the)g
 (displa)m(y)f(to)i(Readline's)f(output)g(stream.)54 b(That)35
-b(function)f(ma)m(y)i(b)s(e)390 1600 y(called)c(from)d(this)i(ho)s(ok.)
-3371 1806 y([V)-8 b(ariable])-3598 b Fg(const)40 b(char)f(*)g
-Ff(rl)p 875 1806 35 5 v 50 w(basic)p 1173 1806 V 50 w(w)m(ord)p
-1471 1806 V 50 w(break)p 1801 1806 V 50 w(c)m(haracters)390
-1915 y Ft(The)44 b(basic)g(list)h(of)f(c)m(haracters)i(that)f(signal)g
+b(function)f(ma)m(y)i(b)s(e)390 1792 y(called)c(from)d(this)i(ho)s(ok.)
+3371 1970 y([V)-8 b(ariable])-3598 b Fg(const)40 b(char)f(*)g
+Ff(rl)p 875 1970 35 5 v 50 w(basic)p 1173 1970 V 50 w(w)m(ord)p
+1471 1970 V 50 w(break)p 1801 1970 V 50 w(c)m(haracters)390
+2080 y Ft(The)44 b(basic)g(list)h(of)f(c)m(haracters)i(that)f(signal)g
 (a)f(break)g(b)s(et)m(w)m(een)h(w)m(ords)f(for)g(the)g(completer)390
-2025 y(routine.)61 b(The)37 b(default)g(v)-5 b(alue)37
+2189 y(routine.)61 b(The)37 b(default)g(v)-5 b(alue)37
 b(of)h(this)f(v)-5 b(ariable)38 b(is)f(the)g(c)m(haracters)i(whic)m(h)e
-(break)g(w)m(ords)f(for)390 2134 y(completion)c(in)e(Bash:)41
-b Fs(")30 b(\\t\\n\\"\\\\'`@$><=;|&{\(")p Ft(.)3371 2340
+(break)g(w)m(ords)f(for)390 2299 y(completion)c(in)e(Bash:)41
+b Fs(")30 b(\\t\\n\\"\\\\'`@$><=;|&{\(")p Ft(.)3371 2477
 y([V)-8 b(ariable])-3598 b Fg(const)40 b(char)f(*)g Ff(rl)p
-875 2340 V 50 w(basic)p 1173 2340 V 50 w(quote)p 1502
-2340 V 50 w(c)m(haracters)390 2450 y Ft(A)30 b(list)i(of)e(quote)h(c)m
+875 2477 V 50 w(basic)p 1173 2477 V 50 w(quote)p 1502
+2477 V 50 w(c)m(haracters)390 2587 y Ft(A)30 b(list)i(of)e(quote)h(c)m
 (haracters)h(whic)m(h)e(can)h(cause)g(a)f(w)m(ord)g(break.)3371
-2655 y([V)-8 b(ariable])-3598 b Fg(const)40 b(char)f(*)g
-Ff(rl)p 875 2655 V 50 w(completer)p 1422 2655 V 49 w(w)m(ord)p
-1719 2655 V 50 w(break)p 2049 2655 V 50 w(c)m(haracters)390
-2765 y Ft(The)64 b(list)i(of)f(c)m(haracters)h(that)g(signal)g(a)f
+2765 y([V)-8 b(ariable])-3598 b Fg(const)40 b(char)f(*)g
+Ff(rl)p 875 2765 V 50 w(completer)p 1422 2765 V 49 w(w)m(ord)p
+1719 2765 V 50 w(break)p 2049 2765 V 50 w(c)m(haracters)390
+2874 y Ft(The)64 b(list)i(of)f(c)m(haracters)h(that)g(signal)g(a)f
 (break)g(b)s(et)m(w)m(een)g(w)m(ords)g(for)f Fs(rl_complete_)390
-2874 y(internal\(\))p Ft(.)38 b(The)30 b(default)g(list)h(is)g(the)f(v)
+2984 y(internal\(\))p Ft(.)38 b(The)30 b(default)g(list)h(is)g(the)f(v)
 -5 b(alue)31 b(of)g Fs(rl_basic_word_break_cha)o(ract)o(ers)p
-Ft(.)3371 3080 y([V)-8 b(ariable])-3598 b Fg(rl_cpvfunc_t)42
-b(*)c Ff(rl)p 993 3080 V 51 w(completion)p 1594 3080
-V 49 w(w)m(ord)p 1891 3080 V 50 w(break)p 2221 3080 V
-50 w(ho)s(ok)390 3189 y Ft(If)31 b(non-zero,)i(this)e(is)h(the)f
+Ft(.)3371 3162 y([V)-8 b(ariable])-3598 b Fg(rl_cpvfunc_t)42
+b(*)c Ff(rl)p 993 3162 V 51 w(completion)p 1594 3162
+V 49 w(w)m(ord)p 1891 3162 V 50 w(break)p 2221 3162 V
+50 w(ho)s(ok)390 3271 y Ft(If)31 b(non-zero,)i(this)e(is)h(the)f
 (address)g(of)g(a)h(function)g(to)g(call)h(when)d(Readline)i(is)g
-(deciding)f(where)390 3299 y(to)k(separate)g(w)m(ords)f(for)g(w)m(ord)g
+(deciding)f(where)390 3381 y(to)k(separate)g(w)m(ords)f(for)g(w)m(ord)g
 (completion.)54 b(It)34 b(should)f(return)g(a)i(c)m(haracter)h(string)e
-(lik)m(e)i Fs(rl_)390 3408 y(completer_word_break_cha)o(ract)o(ers)26
+(lik)m(e)i Fs(rl_)390 3491 y(completer_word_break_cha)o(ract)o(ers)26
 b Ft(to)34 b(b)s(e)e(used)g(to)i(p)s(erform)e(the)h(curren)m(t)f
-(completion.)390 3518 y(The)24 b(function)h(ma)m(y)g(c)m(ho)s(ose)h(to)
+(completion.)390 3600 y(The)24 b(function)h(ma)m(y)g(c)m(ho)s(ose)h(to)
 f(set)g Fs(rl_completer_word_break_ch)o(arac)o(ter)o(s)19
-b Ft(itself.)39 b(If)25 b(the)390 3628 y(function)30
+b Ft(itself.)39 b(If)25 b(the)390 3710 y(function)30
 b(returns)f Fs(NULL)p Ft(,)h Fs(rl_completer_word_break)o(_cha)o(rac)o
-(ters)24 b Ft(is)30 b(used.)3371 3833 y([V)-8 b(ariable])-3598
-b Fg(const)40 b(char)f(*)g Ff(rl)p 875 3833 V 50 w(completer)p
-1422 3833 V 49 w(quote)p 1750 3833 V 50 w(c)m(haracters)390
-3943 y Ft(A)34 b(list)g(of)g(c)m(haracters)h(whic)m(h)e(can)h(b)s(e)g
+(ters)24 b Ft(is)30 b(used.)3371 3888 y([V)-8 b(ariable])-3598
+b Fg(const)40 b(char)f(*)g Ff(rl)p 875 3888 V 50 w(completer)p
+1422 3888 V 49 w(quote)p 1750 3888 V 50 w(c)m(haracters)390
+3998 y Ft(A)34 b(list)g(of)g(c)m(haracters)h(whic)m(h)e(can)h(b)s(e)g
 (used)e(to)j(quote)f(a)g(substring)f(of)h(the)f(line.)51
-b(Completion)390 4052 y(o)s(ccurs)26 b(on)g(the)g(en)m(tire)i
+b(Completion)390 4107 y(o)s(ccurs)26 b(on)g(the)g(en)m(tire)i
 (substring,)e(and)f(within)h(the)g(substring)g Fs
-(rl_completer_word_break)o(_)390 4162 y(characters)32
+(rl_completer_word_break)o(_)390 4217 y(characters)32
 b Ft(are)k(treated)g(as)f(an)m(y)h(other)f(c)m(haracter,)j(unless)d
-(they)g(also)h(app)s(ear)e(within)h(this)390 4271 y(list.)3371
-4477 y([V)-8 b(ariable])-3598 b Fg(const)40 b(char)f(*)g
-Ff(rl)p 875 4477 V 50 w(\014lename)p 1342 4477 V 49 w(quote)p
-1670 4477 V 50 w(c)m(haracters)390 4587 y Ft(A)34 b(list)g(of)g(c)m
+(they)g(also)h(app)s(ear)e(within)h(this)390 4326 y(list.)3371
+4504 y([V)-8 b(ariable])-3598 b Fg(const)40 b(char)f(*)g
+Ff(rl)p 875 4504 V 50 w(\014lename)p 1342 4504 V 49 w(quote)p
+1670 4504 V 50 w(c)m(haracters)390 4614 y Ft(A)34 b(list)g(of)g(c)m
 (haracters)h(that)f(cause)h(a)f(\014lename)g(to)g(b)s(e)f(quoted)h(b)m
-(y)f(the)h(completer)h(when)e(they)390 4696 y(app)s(ear)d(in)g(a)h
+(y)f(the)h(completer)h(when)e(they)390 4724 y(app)s(ear)d(in)g(a)h
 (completed)g(\014lename.)41 b(The)30 b(default)g(is)h(the)f(n)m(ull)h
 (string.)3371 4902 y([V)-8 b(ariable])-3598 b Fg(const)40
 b(char)f(*)g Ff(rl)p 875 4902 V 50 w(sp)s(ecial)p 1261
index b2106acbfffaa49120672166179674179cb59bf0..70ce2a961c4a58826f95f131ce25c660da11b9ed 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.19.1
-%%CreationDate: Tue Dec  6 15:46:41 2005
+%%CreationDate: Thu Jul  6 09:35:44 2006
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%+ font Times-Italic
@@ -318,24 +318,28 @@ G 3.311(df).15 G .812(or possible future retrie)-3.311 F -.25(va)-.25 G
 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.359(.W).31 G .359
-(hen a program which uses the readline library starts up, the init \214\
-le is read, and the k)-5.359 F .658 -.15(ey b)-.1 H(ind-).15 E 1.083
-(ings and v)108 616.8 R 1.083(ariables are set.)-.25 F 1.083
-(There are only a fe)6.083 F 3.583(wb)-.25 G 1.083(asic constructs allo)
--3.583 F 1.084(wed in the readline init \214le.)-.25 F(Blank)6.084 E
-.737(lines are ignored.)108 628.8 R .737(Lines be)5.737 F .737
-(ginning with a)-.15 F F2(#)3.237 E F0 .737(are comments.)3.237 F .737
-(Lines be)5.737 F .737(ginning with a)-.15 F F2($)3.237 E F0 .736
-(indicate conditional)3.236 F 2.614(constructs. Other)108 640.8 R .114
-(lines denote k)2.614 F .414 -.15(ey b)-.1 H .115(indings and v).15 F
-.115(ariable settings.)-.25 F .115
-(Each program using this library may add)5.115 F(its o)108 652.8 Q
-(wn commands and bindings.)-.25 E -.15(Fo)108 669.6 S 2.5(re).15 G
-(xample, placing)-2.65 E(M\255Control\255u: uni)144 686.4 Q -.15(ve)-.25
-G(rsal\255ar).15 E(gument)-.18 E(or)108 698.4 Q(C\255Meta\255u: uni)144
-710.4 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E
-(GNU Readline 5.1-beta1)72 768 Q(2005 Sep 13)109.3 E(1)204 E 0 Cg EP
+(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\
+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
+(asic constructs allo)-2.529 F .028(wed in the readline init \214le.)
+-.25 F .028(Blank lines are ignored.)5.028 F .028(Lines be)5.028 F(gin-)
+-.15 E .553(ning with a)108 640.8 R F2(#)3.053 E F0 .554(are comments.)
+3.053 F .554(Lines be)5.554 F .554(ginning with a)-.15 F F2($)3.054 E F0
+.554(indicate conditional constructs.)3.054 F .554(Other lines denote)
+5.554 F -.1(ke)108 652.8 S 2.987(yb)-.05 G .487(indings and v)-2.987 F
+.487(ariable settings.)-.25 F .487
+(Each program using this library may add its o)5.487 F .486
+(wn commands and bind-)-.25 F(ings.)108 664.8 Q -.15(Fo)108 681.6 S 2.5
+(re).15 G(xample, placing)-2.65 E(M\255Control\255u: uni)144 698.4 Q
+-.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(or)108 710.4 Q
+(C\255Meta\255u: uni)144 722.4 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)
+-.18 E(GNU Readline 5.2)72 768 Q(2006 Apr 26)134.015 E(1)203.725 E 0 Cg
+EP
 %%Page: 2 2
 %%BeginPageSetup
 BP
@@ -360,281 +364,282 @@ F -.15(ey)-.1 G 2.709(st).15 G 2.709(ob)-2.709 G 2.709(eb)-2.709 G .209
 .366(The syntax for controlling k)108 175.2 R .666 -.15(ey b)-.1 H .366
 (indings in the).15 F F1(inputr)2.876 E(c)-.37 E F0 .366
 (\214le is simple.)3.176 F .366(All that is required is the name of the)
-5.366 F .382(command or the te)108 187.2 R .383(xt of a macro and a k)
+5.366 F .383(command or the te)108 187.2 R .383(xt of a macro and a k)
 -.15 F .683 -.15(ey s)-.1 H .383
 (equence to which it should be bound. The name may be speci-).15 F .853
 (\214ed in one of tw)108 199.2 R 3.353(ow)-.1 G .853
 (ays: as a symbolic k)-3.453 F 1.153 -.15(ey n)-.1 H .853
 (ame, possibly with).15 F 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(sequence.)108 211.2 Q 1.755(When using the form)108 228 R F2
--.1(ke)4.255 G(yname).1 E F0(:)A F1(function-name).833 E F0(or)4.255 E
-F1(macr)4.255 E(o)-.45 E F0(,)A F1 -.1(ke)4.255 G(yname)-.2 E F0 1.756
-(is the name of a k)4.435 F 2.056 -.15(ey s)-.1 H 1.756(pelled out in)
-.15 F 2.5(English. F)108 240 R(or e)-.15 E(xample:)-.15 E
-(Control\255u: uni)144 264 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18
-E(Meta\255Rubout: backw)144 276 Q(ard\255kill\255w)-.1 E(ord)-.1 E
-(Control\255o: "> output")144 288 Q .148(In the abo)108 304.8 R .448
--.15(ve ex)-.15 H(ample,).15 E F1(C\255u)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 316.8 Q
-(ord)-.1 E F0 3.835(,a)C(nd)-3.835 E F1(C\255o)3.675 E F0 1.336
+(ey)-.1 G 2.919(sequence. The)108 211.2 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
+223.2 Q 1.755(When using the form)108 240 R F2 -.1(ke)4.255 G(yname).1 E
+F0(:)A F1(function-name).833 E F0(or)4.255 E F1(macr)4.255 E(o)-.45 E F0
+(,)A F1 -.1(ke)4.255 G(yname)-.2 E F0 1.756(is the name of a k)4.435 F
+2.056 -.15(ey s)-.1 H 1.756(pelled out in).15 F 2.5(English. F)108 252 R
+(or e)-.15 E(xample:)-.15 E(Control\255u: uni)144 276 Q -.15(ve)-.25 G
+(rsal\255ar).15 E(gument)-.18 E(Meta\255Rubout: backw)144 288 Q
+(ard\255kill\255w)-.1 E(ord)-.1 E(Control\255o: "> output")144 300 Q
+.148(In the abo)108 316.8 R .448 -.15(ve ex)-.15 H(ample,).15 E F1
+(C\255u)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 328.8
+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
-328.8 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 345.6 R F2("k)2.556
+340.8 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 357.6 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
 (fers from)-.25 F F2 -.1(ke)2.555 G(yname).1 E F0(abo)2.555 E .355 -.15
 (ve i)-.15 H 2.555(nt).15 G .055(hat strings)-2.555 F 1.284
-(denoting an entire k)108 357.6 R 1.584 -.15(ey s)-.1 H 1.284(equence m\
+(denoting an entire k)108 369.6 R 1.584 -.15(ey s)-.1 H 1.284(equence m\
 ay be speci\214ed by placing the sequence within double quotes.).15 F
-(Some)6.284 E .386(GNU Emacs style k)108 369.6 R .686 -.15(ey e)-.1 H
+(Some)6.284 E .386(GNU Emacs style k)108 381.6 R .686 -.15(ey e)-.1 H
 .385(scapes can be used, as in the follo).15 F .385(wing e)-.25 F .385
 (xample, b)-.15 F .385(ut the symbolic character names)-.2 F
-(are not recognized.)108 381.6 Q("\\C\255u": uni)144 405.6 Q -.15(ve)
+(are not recognized.)108 393.6 Q("\\C\255u": uni)144 417.6 Q -.15(ve)
 -.25 G(rsal\255ar).15 E(gument)-.18 E
-("\\C\255x\\C\255r": re\255read\255init\255\214le)144 417.6 Q
-("\\e[11~": "Function K)144 429.6 Q .3 -.15(ey 1)-.25 H(").15 E .198
-(In this e)108 446.4 R(xample,)-.15 E F1(C-u)2.538 E F0 .199(is ag)2.949
+("\\C\255x\\C\255r": re\255read\255init\255\214le)144 429.6 Q
+("\\e[11~": "Function K)144 441.6 Q .3 -.15(ey 1)-.25 H(").15 E .198
+(In this e)108 458.4 R(xample,)-.15 E F1(C-u)2.538 E F0 .199(is ag)2.949
 F .199(ain bound to the function)-.05 F F2(uni)2.699 E -.1(ve)-.1 G
 (rsal\255ar).1 E(gument)-.1 E F0(.)A F1 .199(C-x C-r)5.039 F F0 .199
-(is bound to the function)3.429 F F2 -.18(re)108 458.4 S<ad72>.18 E
+(is bound to the function)3.429 F F2 -.18(re)108 470.4 S<ad72>.18 E
 (ead\255init\255\214le)-.18 E F0 2.5(,a)C(nd)-2.5 E F1(ESC [ 1 1 ~)3.01
 E F0(is bound to insert the te)3.94 E(xt)-.15 E F3(Function Key 1)2.5 E
-F0(.)A(The full set of GNU Emacs style escape sequences a)108 475.2 Q
+F0(.)A(The full set of GNU Emacs style escape sequences a)108 487.2 Q
 -.25(va)-.2 G(ilable when specifying k).25 E .3 -.15(ey s)-.1 H
-(equences is).15 E F2<5c43ad>144 487.2 Q F0(control pre\214x)20.3 E F2
-<5c4dad>144 499.2 Q F0(meta pre\214x)18.08 E F2(\\e)144 511.2 Q F0
-(an escape character)28.78 E F2(\\\\)144 523.2 Q F0(backslash)30.44 E F2
-(\\")144 535.2 Q F0(literal ", a double quote)27.67 E F2(\\')144 547.2 Q
+(equences is).15 E F2<5c43ad>144 499.2 Q F0(control pre\214x)20.3 E F2
+<5c4dad>144 511.2 Q F0(meta pre\214x)18.08 E F2(\\e)144 523.2 Q F0
+(an escape character)28.78 E F2(\\\\)144 535.2 Q F0(backslash)30.44 E F2
+(\\")144 547.2 Q F0(literal ", a double quote)27.67 E F2(\\')144 559.2 Q
 F0(literal ', a single quote)29.89 E(In addition to the GNU Emacs style\
- escape sequences, a second set of backslash escapes is a)108 564 Q -.25
-(va)-.2 G(ilable:).25 E F2(\\a)144 576 Q F0(alert \(bell\))28.22 E F2
-(\\b)144 588 Q F0(backspace)27.66 E F2(\\d)144 600 Q F0(delete)27.66 E
-F2(\\f)144 612 Q F0(form feed)29.89 E F2(\\n)144 624 Q F0(ne)27.66 E
-(wline)-.25 E F2(\\r)144 636 Q F0(carriage return)28.78 E F2(\\t)144 648
-Q F0(horizontal tab)29.89 E F2(\\v)144 660 Q F0 -.15(ve)28.22 G
-(rtical tab).15 E F2(\\)144 672 Q F1(nnn)A F0
+ escape sequences, a second set of backslash escapes is a)108 576 Q -.25
+(va)-.2 G(ilable:).25 E F2(\\a)144 588 Q F0(alert \(bell\))28.22 E F2
+(\\b)144 600 Q F0(backspace)27.66 E F2(\\d)144 612 Q F0(delete)27.66 E
+F2(\\f)144 624 Q F0(form feed)29.89 E F2(\\n)144 636 Q F0(ne)27.66 E
+(wline)-.25 E F2(\\r)144 648 Q F0(carriage return)28.78 E F2(\\t)144 660
+Q F0(horizontal tab)29.89 E F2(\\v)144 672 Q F0 -.15(ve)28.22 G
+(rtical tab).15 E F2(\\)144 684 Q F1(nnn)A F0
 (the eight-bit character whose v)18.22 E(alue is the octal v)-.25 E
 (alue)-.25 E F1(nnn)2.5 E F0(\(one to three digits\))2.5 E F2(\\x)144
-684 Q F1(HH)A F0(the eight-bit character whose v)13.78 E(alue is the he)
+696 Q F1(HH)A F0(the eight-bit character whose v)13.78 E(alue is the he)
 -.25 E(xadecimal v)-.15 E(alue)-.25 E F1(HH)2.5 E F0(\(one or tw)2.5 E
 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E .74(When entering the te)
-108 700.8 R .74(xt of a macro, single or double quotes should be used t\
-o indicate a macro de\214nition.)-.15 F .089(Unquoted te)108 712.8 R
+108 712.8 R .74(xt of a macro, single or double quotes should be used t\
+o indicate a macro de\214nition.)-.15 F .089(Unquoted te)108 724.8 R
 .089(xt is assumed to be a function name.)-.15 F .09(In the macro body)
 5.089 F 2.59(,t)-.65 G .09(he backslash escapes described abo)-2.59 F
--.15(ve)-.15 G(are e)108 724.8 Q 2.5(xpanded. Backslash)-.15 F
-(will quote an)2.5 E 2.5(yo)-.15 G(ther character in the macro te)-2.5 E
-(xt, including " and '.)-.15 E(GNU Readline 5.1-beta1)72 768 Q
-(2005 Sep 13)109.3 E(2)204 E 0 Cg EP
+-.15(ve)-.15 G(GNU Readline 5.2)72 768 Q(2006 Apr 26)134.015 E(2)203.725
+E 0 Cg EP
 %%Page: 3 3
 %%BeginPageSetup
 BP
 %%EndPageSetup
-/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10
-/Times-Bold@0 SF(Bash)108 84 Q F0(allo)2.93 E .43
+/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R(are e)
+108 84 Q 2.5(xpanded. Backslash)-.15 F(will quote an)2.5 E 2.5(yo)-.15 G
+(ther character in the macro te)-2.5 E(xt, including " and '.)-.15 E/F1
+10/Times-Bold@0 SF(Bash)108 100.8 Q F0(allo)2.93 E .43
 (ws the current readline k)-.25 F .73 -.15(ey b)-.1 H .429
 (indings to be displayed or modi\214ed with the).15 F F1(bind)2.929 E F0
 -.2(bu)2.929 G .429(iltin command.).2 F 1.095
-(The editing mode may be switched during interacti)108 96 R 1.395 -.15
-(ve u)-.25 H 1.095(se by using the).15 F F1<ad6f>3.595 E F0 1.095
+(The editing mode may be switched during interacti)108 112.8 R 1.395
+-.15(ve u)-.25 H 1.095(se by using the).15 F F1<ad6f>3.595 E F0 1.095
 (option to the)3.595 F F1(set)3.595 E F0 -.2(bu)3.595 G 1.095
-(iltin com-).2 F 3.076(mand. Other)108 108 R .576
+(iltin com-).2 F 3.076(mand. Other)108 124.8 R .576
 (programs using this library pro)3.076 F .575(vide similar mechanisms.)
 -.15 F(The)5.575 E/F2 10/Times-Italic@0 SF(inputr)3.085 E(c)-.37 E F0
 .575(\214le may be edited and)3.385 F(re-read if a program does not pro)
-108 120 Q(vide an)-.15 E 2.5(yo)-.15 G(ther means to incorporate ne)-2.5
-E 2.5(wb)-.25 G(indings.)-2.5 E F1 -.92(Va)87 136.8 S(riables).92 E F0
-.043(Readline has v)108 148.8 R .043
+108 136.8 Q(vide an)-.15 E 2.5(yo)-.15 G(ther means to incorporate ne)
+-2.5 E 2.5(wb)-.25 G(indings.)-2.5 E F1 -.92(Va)87 153.6 S(riables).92 E
+F0 .043(Readline has v)108 165.6 R .043
 (ariables that can be used to further customize its beha)-.25 F(vior)-.2
 E 5.043(.A)-.55 G -.25(va)-2.5 G .043(riable may be set in the).25 F F2
-(inpu-)2.554 E(tr)108 160.8 Q(c)-.37 E F0
-(\214le with a statement of the form)2.81 E F1(set)144 177.6 Q F2
+(inpu-)2.554 E(tr)108 177.6 Q(c)-.37 E F0
+(\214le with a statement of the form)2.81 E F1(set)144 194.4 Q F2
 (variable\255name value)2.5 E F0 .79(Except where noted, readline v)108
-194.4 R .79(ariables can tak)-.25 F 3.29(et)-.1 G .79(he v)-3.29 F
+211.2 R .79(ariables can tak)-.25 F 3.29(et)-.1 G .79(he v)-3.29 F
 (alues)-.25 E F1(On)3.29 E F0(or)3.29 E F1(Off)3.29 E F0 .79
 (\(without re)3.29 F -.05(ga)-.15 G .79(rd to case\).).05 F(Unrecog-)
-5.79 E .448(nized v)108 206.4 R .448(ariable names are ignored.)-.25 F
+5.79 E .448(nized v)108 223.2 R .448(ariable names are ignored.)-.25 F
 .448(When a v)5.448 F .448(ariable v)-.25 F .448
 (alue is read, empty or null v)-.25 F .449(alues, "on" \(case-insensi-)
--.25 F(ti)108 218.4 Q -.15(ve)-.25 G .468(\), and "1" are equi).15 F
+-.25 F(ti)108 235.2 Q -.15(ve)-.25 G .468(\), and "1" are equi).15 F
 -.25(va)-.25 G .468(lent to).25 F F1(On)2.968 E F0 5.468(.A)C .468
 (ll other v)-5.468 F .468(alues are equi)-.25 F -.25(va)-.25 G .468
 (lent to).25 F F1(Off)2.968 E F0 5.468(.T)C .467(he v)-5.468 F .467
-(ariables and their def)-.25 F(ault)-.1 E -.25(va)108 230.4 S(lues are:)
-.25 E F1(bell\255style \(audible\))108 247.2 Q F0 .01
-(Controls what happens when readline w)144 259.2 R .011
+(ariables and their def)-.25 F(ault)-.1 E -.25(va)108 247.2 S(lues are:)
+.25 E F1(bell\255style \(audible\))108 264 Q F0 .01
+(Controls what happens when readline w)144 276 R .011
 (ants to ring the terminal bell.)-.1 F .011(If set to)5.011 F F1(none)
 2.511 E F0 2.511(,r)C .011(eadline ne)-2.511 F -.15(ve)-.25 G(r).15 E
-.94(rings the bell.)144 271.2 R .94(If set to)5.94 F F1(visible)3.44 E
-F0 3.44(,r)C .94(eadline uses a visible bell if one is a)-3.44 F -.25
-(va)-.2 G 3.44(ilable. If).25 F .94(set to)3.44 F F1(audible)3.44 E F0
-(,)A(readline attempts to ring the terminal')144 283.2 Q 2.5(sb)-.55 G
-(ell.)-2.5 E F1(bind\255tty\255special\255chars \(On\))108 295.2 Q F0
-.055(If set to)144 307.2 R F1(On)2.555 E F0 2.555(,r)C .056(eadline att\
-empts to bind the control characters treated specially by the k)-2.555 F
-(ernel')-.1 E 2.556(st)-.55 G(ermi-)-2.556 E(nal dri)144 319.2 Q -.15
-(ve)-.25 G 2.5(rt).15 G 2.5(ot)-2.5 G(heir readline equi)-2.5 E -.25(va)
--.25 G(lents.).25 E F1(comment\255begin \(`)108 331.2 Q(`#')-.63 E('\))
--.63 E F0 .062(The string that is inserted in)144 343.2 R F1(vi)2.562 E
-F0 .062(mode when the)2.562 F F1(insert\255comment)2.562 E F0 .062
+.94(rings the bell.)144 288 R .94(If set to)5.94 F F1(visible)3.44 E F0
+3.44(,r)C .94(eadline uses a visible bell if one is a)-3.44 F -.25(va)
+-.2 G 3.44(ilable. If).25 F .94(set to)3.44 F F1(audible)3.44 E F0(,)A
+(readline attempts to ring the terminal')144 300 Q 2.5(sb)-.55 G(ell.)
+-2.5 E F1(bind\255tty\255special\255chars \(On\))108 312 Q F0 .055
+(If set to)144 324 R F1(On)2.555 E F0 2.555(,r)C .056(eadline attempts \
+to bind the control characters treated specially by the k)-2.555 F
+(ernel')-.1 E 2.556(st)-.55 G(ermi-)-2.556 E(nal dri)144 336 Q -.15(ve)
+-.25 G 2.5(rt).15 G 2.5(ot)-2.5 G(heir readline equi)-2.5 E -.25(va)-.25
+G(lents.).25 E F1(comment\255begin \(`)108 348 Q(`#')-.63 E('\))-.63 E
+F0 .062(The string that is inserted in)144 360 R F1(vi)2.562 E F0 .062
+(mode when the)2.562 F F1(insert\255comment)2.562 E F0 .062
 (command is e)2.562 F -.15(xe)-.15 G 2.562(cuted. This).15 F(com-)2.562
-E(mand is bound to)144 355.2 Q F1(M\255#)2.5 E F0(in emacs mode and to)
-2.5 E F1(#)2.5 E F0(in vi command mode.)2.5 E F1(completion\255ignor)108
-367.2 Q(e\255case \(Off\))-.18 E F0(If set to)144 379.2 Q F1(On)2.5 E F0
-2.5(,r)C(eadline performs \214lename matching and completion in a case\
-\255insensiti)-2.5 E .3 -.15(ve f)-.25 H(ashion.).05 E F1
-(completion\255query\255items \(100\))108 391.2 Q F0 .529
-(This determines when the user is queried about vie)144 403.2 R .53
+E(mand is bound to)144 372 Q F1(M\255#)2.5 E F0(in emacs mode and to)2.5
+E F1(#)2.5 E F0(in vi command mode.)2.5 E F1(completion\255ignor)108 384
+Q(e\255case \(Off\))-.18 E F0(If set to)144 396 Q F1(On)2.5 E F0 2.5(,r)
+C(eadline performs \214lename matching and completion in a case\255inse\
+nsiti)-2.5 E .3 -.15(ve f)-.25 H(ashion.).05 E F1
+(completion\255query\255items \(100\))108 408 Q F0 .529
+(This determines when the user is queried about vie)144 420 R .53
 (wing the number of possible completions gen-)-.25 F .561(erated by the)
-144 415.2 R F1(possible\255completions)3.061 E F0 3.061(command. It)
-3.061 F .561(may be set to an)3.061 F 3.06(yi)-.15 G(nte)-3.06 E .56
-(ger v)-.15 F .56(alue greater than or)-.25 F .782(equal to zero.)144
-427.2 R .783(If the number of possible completions is greater than or e\
-qual to the v)5.782 F .783(alue of this)-.25 F -.25(va)144 439.2 S .237
+144 432 R F1(possible\255completions)3.061 E F0 3.061(command. It)3.061
+F .561(may be set to an)3.061 F 3.06(yi)-.15 G(nte)-3.06 E .56(ger v)
+-.15 F .56(alue greater than or)-.25 F .782(equal to zero.)144 444 R
+.783(If the number of possible completions is greater than or equal to \
+the v)5.782 F .783(alue of this)-.25 F -.25(va)144 456 S .237
 (riable, the user is ask).25 F .237(ed whether or not he wishes to vie)
 -.1 F 2.737(wt)-.25 G .237(hem; otherwise the)-2.737 F 2.737(ya)-.15 G
-.237(re simply listed)-2.737 F(on the terminal.)144 451.2 Q 2.5(An)5 G
+.237(re simply listed)-2.737 F(on the terminal.)144 468 Q 2.5(An)5 G
 -2.25 -.15(eg a)-2.5 H(ti).15 E .3 -.15(ve v)-.25 H
 (alue causes readline to ne)-.1 E -.15(ve)-.25 G 2.5(ra).15 G(sk.)-2.5 E
-F1(con)108 463.2 Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .612
-(If set to)144 475.2 R F1(On)3.112 E F0 3.112(,r)C .613
-(eadline will con)-3.112 F -.15(ve)-.4 G .613
-(rt characters with the eighth bit set to an ASCII k).15 F .913 -.15
-(ey s)-.1 H .613(equence by).15 F 1.316(stripping the eighth bit and pr\
-e\214xing it with an escape character \(in ef)144 487.2 R 1.315
-(fect, using escape as the)-.25 F F2(meta pr)144 499.2 Q(e\214x)-.37 E
-F0(\).)A F1(disable\255completion \(Off\))108 511.2 Q F0 .038(If set to)
-144 523.2 R F1(On)2.538 E F0 2.538(,r)C .038(eadline will inhibit w)
--2.538 F .038(ord completion.)-.1 F .038
+F1(con)108 480 Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .612(If set to)
+144 492 R F1(On)3.112 E F0 3.112(,r)C .613(eadline will con)-3.112 F
+-.15(ve)-.4 G .613(rt characters with the eighth bit set to an ASCII k)
+.15 F .913 -.15(ey s)-.1 H .613(equence by).15 F 1.316(stripping the ei\
+ghth bit and pre\214xing it with an escape character \(in ef)144 504 R
+1.315(fect, using escape as the)-.25 F F2(meta pr)144 516 Q(e\214x)-.37
+E F0(\).)A F1(disable\255completion \(Off\))108 528 Q F0 .038(If set to)
+144 540 R F1(On)2.538 E F0 2.538(,r)C .038(eadline will inhibit w)-2.538
+F .038(ord completion.)-.1 F .038
 (Completion characters will be inserted into the)5.038 F(line as if the)
-144 535.2 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F1(self-insert)2.5 E
-F0(.)A F1(editing\255mode \(emacs\))108 547.2 Q F0 .216
-(Controls whether readline be)144 559.2 R .215(gins with a set of k)-.15
-.515 -.15(ey b)-.1 H .215(indings similar to emacs or vi.).15 F F1
-(editing\255mode)5.215 E F0(can be set to either)144 571.2 Q F1(emacs)
-2.5 E F0(or)2.5 E F1(vi)2.5 E F0(.)A F1(enable\255k)108 583.2 Q
-(eypad \(Off\))-.1 E F0 .892(When set to)144 595.2 R F1(On)3.393 E F0
-3.393(,r)C .893(eadline will try to enable the application k)-3.393 F
--.15(ey)-.1 G .893(pad when it is called.).15 F .893(Some sys-)5.893 F
-(tems need this to enable the arro)144 607.2 Q 2.5(wk)-.25 G -.15(ey)
--2.6 G(s.).15 E F1(expand\255tilde \(Off\))108 619.2 Q F0(If set to)144
-631.2 Q F1(on)2.5 E F0 2.5(,t)C(ilde e)-2.5 E
+144 552 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F1(self-insert)2.5 E F0
+(.)A F1(editing\255mode \(emacs\))108 564 Q F0 .216
+(Controls whether readline be)144 576 R .215(gins with a set of k)-.15 F
+.515 -.15(ey b)-.1 H .215(indings similar to emacs or vi.).15 F F1
+(editing\255mode)5.215 E F0(can be set to either)144 588 Q F1(emacs)2.5
+E F0(or)2.5 E F1(vi)2.5 E F0(.)A F1(enable\255k)108 600 Q(eypad \(Off\))
+-.1 E F0 .892(When set to)144 612 R F1(On)3.393 E F0 3.393(,r)C .893
+(eadline will try to enable the application k)-3.393 F -.15(ey)-.1 G
+.893(pad when it is called.).15 F .893(Some sys-)5.893 F
+(tems need this to enable the arro)144 624 Q 2.5(wk)-.25 G -.15(ey)-2.6
+G(s.).15 E F1(expand\255tilde \(Off\))108 636 Q F0(If set to)144 648 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 643.2 Q(eser)-.18 E -.1(ve)-.1 G
-(\255point \(Off\)).1 E F0 1.493(If set to)144 655.2 R F1(on)3.993 E F0
+-.1 E F1(history\255pr)108 660 Q(eser)-.18 E -.1(ve)-.1 G
+(\255point \(Off\)).1 E F0 1.493(If set to)144 672 R F1(on)3.993 E F0
 3.993(,t)C 1.493(he history code attempts to place point at the same lo\
-cation on each history line)-3.993 F(retrie)144 667.2 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(horizontal\255scr)108 679.2 Q
-(oll\255mode \(Off\))-.18 E F0 .448(When set to)144 691.2 R F1(On)2.948
-F0 2.948(,m)C(ak)-2.948 E .448
+cation on each history line)-3.993 F(retrie)144 684 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(horizontal\255scr)108 696 Q
+(oll\255mode \(Off\))-.18 E F0 .448(When set to)144 708 R F1(On)2.948 E
+F0 2.948(,m)C(ak)-2.948 E .448
 (es readline use a single line for display)-.1 F 2.948(,s)-.65 G .449
 (crolling the input horizontally on a)-2.948 F 1.194(single screen line\
  when it becomes longer than the screen width rather than wrapping to a\
- ne)144 703.2 R(w)-.25 E(line.)144 715.2 Q(GNU Readline 5.1-beta1)72 768
-Q(2005 Sep 13)109.3 E(3)204 E 0 Cg EP
+ ne)144 720 R(w)-.25 E(GNU Readline 5.2)72 768 Q(2006 Apr 26)134.015 E
+(3)203.725 E 0 Cg EP
 %%Page: 4 4
 %%BeginPageSetup
 BP
 %%EndPageSetup
-/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10
-/Times-Bold@0 SF(input\255meta \(Off\))108 84 Q F0 .367(If set to)144 96
-R F1(On)2.867 E F0 2.867(,r)C .367(eadline will enable eight-bit input \
-\(that is, it will not clear the eighth bit in the char)-2.867 F(-)-.2 E
-.957(acters it reads\), re)144 108 R -.05(ga)-.15 G .956
-(rdless of what the terminal claims it can support.).05 F .956(The name)
-5.956 F F1(meta\255\215ag)3.456 E F0 .956(is a)3.456 F(synon)144 120 Q
-(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 132 Q
+/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R(line.)
+144 84 Q/F1 10/Times-Bold@0 SF(input\255meta \(Off\))108 96 Q F0 .367
+(If set to)144 108 R F1(On)2.867 E F0 2.867(,r)C .367(eadline will enab\
+le eight-bit input \(that is, it will not clear the eighth bit in the c\
+har)-2.867 F(-)-.2 E .957(acters it reads\), re)144 120 R -.05(ga)-.15 G
+.956(rdless of what the terminal claims it can support.).05 F .956
+(The name)5.956 F F1(meta\255\215ag)3.456 E F0 .956(is a)3.456 F(synon)
+144 132 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 144 Q
 (ch\255terminators \(`)-.18 E(`C\255[ C\255J')-.63 E('\))-.63 E F0 .439
 (The string of characters that should terminate an incremental search w\
-ithout subsequently e)144 144 R -.15(xe)-.15 G(cut-).15 E .935
-(ing the character as a command.)144 156 R .935(If this v)5.935 F .935
+ithout subsequently e)144 156 R -.15(xe)-.15 G(cut-).15 E .935
+(ing the character as a command.)144 168 R .935(If this v)5.935 F .935
 (ariable has not been gi)-.25 F -.15(ve)-.25 G 3.434(nav).15 G .934
 (alue, the characters)-3.684 F/F2 10/Times-Italic@0 SF(ESC)3.434 E F0
-(and)144 168 Q F2(C\255J)2.5 E F0(will terminate an incremental search.)
-2.5 E F1 -.1(ke)108 180 S(ymap \(emacs\)).1 E F0 2.323
-(Set the current readline k)144 192 R -.15(ey)-.1 G 4.823(map. The).15 F
+(and)144 180 Q F2(C\255J)2.5 E F0(will terminate an incremental search.)
+2.5 E F1 -.1(ke)108 192 S(ymap \(emacs\)).1 E F0 2.323
+(Set the current readline k)144 204 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 F2 2.324(emacs, emacs-standar)4.823 F(d,)-.37 E
-.809(emacs-meta, emacs-ctlx, vi, vi-mo)144 204 R(ve)-.1 E 3.308(,v)-.1 G
+.809(emacs-meta, emacs-ctlx, vi, vi-mo)144 216 R(ve)-.1 E 3.308(,v)-.1 G
 (i-command)-3.308 E F0 3.308(,a)C(nd)-3.308 E F2(vi-insert)3.308 E F0(.)
 .68 E F2(vi)5.808 E F0 .808(is equi)3.308 F -.25(va)-.25 G .808(lent to)
-.25 F F2(vi-command)3.308 E F0(;)A F2(emacs)144 216 Q F0 .697(is equi)
+.25 F F2(vi-command)3.308 E F0(;)A F2(emacs)144 228 Q F0 .697(is equi)
 3.196 F -.25(va)-.25 G .697(lent to).25 F F2(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 F2(emacs)3.197 E F0 5.697(.T).27 G .697(he v)-5.697 F
-.697(alue of)-.25 F F1(editing\255mode)3.197 E F0(also af)144 228 Q
+.697(alue of)-.25 F F1(editing\255mode)3.197 E F0(also af)144 240 Q
 (fects the def)-.25 E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1
-(mark\255dir)108 240 Q(ectories \(On\))-.18 E F0(If set to)144 252 Q F1
+(mark\255dir)108 252 Q(ectories \(On\))-.18 E F0(If set to)144 264 Q F1
 (On)2.5 E F0 2.5(,c)C(ompleted directory names ha)-2.5 E .3 -.15(ve a s)
 -.2 H(lash appended.).15 E F1(mark\255modi\214ed\255lines \(Off\))108
-264 Q F0(If set to)144 276 Q F1(On)2.5 E F0 2.5(,h)C
+276 Q F0(If set to)144 288 Q F1(On)2.5 E F0 2.5(,h)C
 (istory lines that ha)-2.5 E .3 -.15(ve b)-.2 H
 (een modi\214ed are displayed with a preceding asterisk \().15 E F1(*)A
-F0(\).)A F1(mark\255symlink)108 288 Q(ed\255dir)-.1 E(ectories \(Off\))
--.18 E F0 .175(If set to)144 300 R F1(On)2.675 E F0 2.675(,c)C .175
+F0(\).)A F1(mark\255symlink)108 300 Q(ed\255dir)-.1 E(ectories \(Off\))
+-.18 E F0 .175(If set to)144 312 R F1(On)2.675 E F0 2.675(,c)C .175
 (ompleted names which are symbolic links to directories ha)-2.675 F .475
--.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 312
+-.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 324
 Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A F1
-(match\255hidden\255\214les \(On\))108 324 Q F0 .192(This v)144 336 R
+(match\255hidden\255\214les \(On\))108 336 Q F0 .192(This v)144 348 R
 .192(ariable, when set to)-.25 F F1(On)2.692 E F0 2.692(,c)C .192
 (auses readline to match \214les whose names be)-2.692 F .193
 (gin with a `.)-.15 F 2.693('\()-.7 G(hidden)-2.693 E 1.024
 (\214les\) when performing \214lename completion, unless the leading `.)
-144 348 R 3.523('i)-.7 G 3.523(ss)-3.523 G 1.023
-(upplied by the user in the)-3.523 F(\214lename to be completed.)144 360
-Q F1(output\255meta \(Off\))108 372 Q F0 .506(If set to)144 384 R F1(On)
+144 360 R 3.523('i)-.7 G 3.523(ss)-3.523 G 1.023
+(upplied by the user in the)-3.523 F(\214lename to be completed.)144 372
+Q F1(output\255meta \(Off\))108 384 Q F0 .506(If set to)144 396 R F1(On)
 3.006 E F0 3.006(,r)C .507(eadline will display characters with the eig\
-hth bit set directly rather than as a meta-)-3.006 F(pre\214x)144 396 Q
-(ed escape sequence.)-.15 E F1(page\255completions \(On\))108 408 Q F0
-.809(If set to)144 420 R F1(On)3.308 E F0 3.308(,r)C .808
+hth bit set directly rather than as a meta-)-3.006 F(pre\214x)144 408 Q
+(ed escape sequence.)-.15 E F1(page\255completions \(On\))108 420 Q F0
+.809(If set to)144 432 R F1(On)3.308 E F0 3.308(,r)C .808
 (eadline uses an internal)-3.308 F F2(mor)3.308 E(e)-.37 E F0(-lik)A
 3.308(ep)-.1 G .808(ager to display a screenful of possible comple-)
--3.308 F(tions at a time.)144 432 Q F1
-(print\255completions\255horizontally \(Off\))108 444 Q F0 1.318
-(If set to)144 456 R F1(On)3.818 E F0 3.818(,r)C 1.319(eadline will dis\
+-3.308 F(tions at a time.)144 444 Q F1
+(print\255completions\255horizontally \(Off\))108 456 Q F0 1.318
+(If set to)144 468 R F1(On)3.818 E F0 3.818(,r)C 1.319(eadline will dis\
 play completions with matches sorted horizontally in alphabetical)-3.818
-F(order)144 468 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25
-E F1(sho)108 480 Q(w\255all\255if\255ambiguous \(Off\))-.1 E F0 .478
-(This alters the def)144 492 R .478(ault beha)-.1 F .478
+F(order)144 480 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25
+E F1(sho)108 492 Q(w\255all\255if\255ambiguous \(Off\))-.1 E F0 .478
+(This alters the def)144 504 R .478(ault beha)-.1 F .478
 (vior of the completion functions.)-.2 F .477(If set to)5.477 F F1(on)
 2.977 E F0 2.977(,w)C .477(ords which ha)-3.077 F .777 -.15(ve m)-.2 H
 (ore).15 E 1.264(than one possible completion cause the matches to be l\
-isted immediately instead of ringing the)144 504 R(bell.)144 516 Q F1
-(sho)108 528 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.346
-(This alters the def)144 540 R 5.346(ault beha)-.1 F 5.345
+isted immediately instead of ringing the)144 516 R(bell.)144 528 Q F1
+(sho)108 540 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.346
+(This alters the def)144 552 R 5.346(ault beha)-.1 F 5.345
 (vior of the completion functions in a f)-.2 F 5.345(ashion similar to)
--.1 F F1(sho)144 552 Q(w\255all\255if\255ambiguous)-.1 E F0 6.922(.I)C
+-.1 F F1(sho)144 564 Q(w\255all\255if\255ambiguous)-.1 E F0 6.922(.I)C
 4.422(fs)-6.922 G 1.922(et to)-4.422 F F1(on)4.422 E F0 4.422(,w)C 1.922
 (ords which ha)-4.522 F 2.223 -.15(ve m)-.2 H 1.923
-(ore than one possible completion).15 F 1.04(without an)144 564 R 3.54
+(ore than one possible completion).15 F 1.04(without an)144 576 R 3.54
 (yp)-.15 G 1.039
 (ossible partial completion \(the possible completions don')-3.54 F
 3.539(ts)-.18 G 1.039(hare a common pre\214x\))-3.539 F(cause the match\
-es to be listed immediately instead of ringing the bell.)144 576 Q F1
-(visible\255stats \(Off\))108 588 Q F0 .846(If set to)144 600 R F1(On)
+es to be listed immediately instead of ringing the bell.)144 588 Q F1
+(visible\255stats \(Off\))108 600 Q F0 .846(If set to)144 612 R F1(On)
 3.346 E F0 3.346(,ac)C .846(haracter denoting a \214le')-3.346 F 3.346
 (st)-.55 G .846(ype as reported by)-3.346 F F2(stat)3.346 E F0 .846
 (\(2\) is appended to the \214lename)B
-(when listing possible completions.)144 612 Q F1(Conditional Constructs)
-87 628.8 Q F0 .05(Readline implements a f)108 640.8 R .05(acility simil\
+(when listing possible completions.)144 624 Q F1(Conditional Constructs)
+87 640.8 Q F0 .05(Readline implements a f)108 652.8 R .05(acility simil\
 ar in spirit to the conditional compilation features of the C preproces\
-sor)-.1 F .096(which allo)108 652.8 R .096(ws k)-.25 F .396 -.15(ey b)
+sor)-.1 F .096(which allo)108 664.8 R .096(ws k)-.25 F .396 -.15(ey b)
 -.1 H .096(indings and v).15 F .096
 (ariable settings to be performed as the result of tests.)-.25 F .097
-(There are four parser)5.096 F(directi)108 664.8 Q -.15(ve)-.25 G 2.5
-(su).15 G(sed.)-2.5 E F1($if)108 681.6 Q F0(The)24.89 E F1($if)2.963 E
+(There are four parser)5.096 F(directi)108 676.8 Q -.15(ve)-.25 G 2.5
+(su).15 G(sed.)-2.5 E F1($if)108 693.6 Q F0(The)24.89 E F1($if)2.963 E
 F0 .463(construct allo)2.963 F .462(ws bindings to be made based on the\
  editing mode, the terminal being used,)-.25 F .477
-(or the application using readline.)144 693.6 R .477(The te)5.477 F .477
+(or the application using readline.)144 705.6 R .477(The te)5.477 F .477
 (xt of the test e)-.15 F .477
 (xtends to the end of the line; no characters)-.15 F
-(are required to isolate it.)144 705.6 Q(GNU Readline 5.1-beta1)72 768 Q
-(2005 Sep 13)109.3 E(4)204 E 0 Cg EP
+(are required to isolate it.)144 717.6 Q(GNU Readline 5.2)72 768 Q
+(2006 Apr 26)134.015 E(4)203.725 E 0 Cg EP
 %%Page: 5 5
 %%BeginPageSetup
 BP
@@ -742,8 +747,8 @@ ntents of the current line.)108 655.2 Q F3(EDITING COMMANDS)72 672 Q F0
 2.5(db).15 G 2.5(yt)-2.5 G(he)-2.5 E F1(set\255mark)2.5 E F0 2.5
 (command. The)2.5 F(te)2.5 E
 (xt between the point and mark is referred to as the)-.15 E F2 -.37(re)
-2.5 G(gion)-.03 E F0(.)A(GNU Readline 5.1-beta1)72 768 Q(2005 Sep 13)
-109.3 E(5)204 E 0 Cg EP
+2.5 G(gion)-.03 E F0(.)A(GNU Readline 5.2)72 768 Q(2006 Apr 26)134.015 E
+(5)203.725 E 0 Cg EP
 %%Page: 6 6
 %%BeginPageSetup
 BP
@@ -823,7 +828,7 @@ etween the start of the current)-.1 F(line and the point.)144 688.8 Q
 (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 .795(ords in the)-.1 F
-(GNU Readline 5.1-beta1)72 768 Q(2005 Sep 13)109.3 E(6)204 E 0 Cg EP
+(GNU Readline 5.2)72 768 Q(2006 Apr 26)134.015 E(6)203.725 E 0 Cg EP
 %%Page: 7 7
 %%BeginPageSetup
 BP
@@ -924,7 +929,7 @@ F(ferently)-.25 E 6.894(.E)-.65 G 1.894(ach call to)-6.894 F F1 -.37(re)
 Q(By def)5 E(ault, this command is unbound.)-.1 E F2(Killing and Y)87
 681.6 Q(anking)-.85 E(kill\255line \(C\255k\))108 693.6 Q F0
 (Kill the te)144 705.6 Q(xt from point to the end of the line.)-.15 E
-(GNU Readline 5.1-beta1)72 768 Q(2005 Sep 13)109.3 E(7)204 E 0 Cg EP
+(GNU Readline 5.2)72 768 Q(2006 Apr 26)134.015 E(7)203.725 E 0 Cg EP
 %%Page: 8 8
 %%BeginPageSetup
 BP
@@ -1020,7 +1025,7 @@ F(application-speci\214c.)144 681.6 Q F1(Bash)5.517 E F0 3.017(,f)C .518
 (nt)-3.773 G 1.273(he other hand, allo)-3.773 F 1.273
 (ws completion of program functions and)-.25 F -.25(va)144 729.6 S(riab\
 les, and only attempts \214lename completion under certain circumstance\
-s.).25 E(GNU Readline 5.1-beta1)72 768 Q(2005 Sep 13)109.3 E(8)204 E 0
+s.).25 E(GNU Readline 5.2)72 768 Q(2006 Apr 26)134.015 E(8)203.725 E 0
 Cg EP
 %%Page: 9 9
 %%BeginPageSetup
@@ -1112,7 +1117,7 @@ F0 1.095(command enough times to)3.595 F
 (vious occurrence of that character)-.25 F 6.044(.A)-.55 G(ne)-2.5 E
 -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G
 (count searches for subsequent occurrences.)144 717.6 Q
-(GNU Readline 5.1-beta1)72 768 Q(2005 Sep 13)109.3 E(9)204 E 0 Cg EP
+(GNU Readline 5.2)72 768 Q(2006 Apr 26)134.015 E(9)203.725 E 0 Cg EP
 %%Page: 10 10
 %%BeginPageSetup
 BP
@@ -1193,8 +1198,8 @@ E 2.5("C-M" accept-line)151.2 645.6 R 2.5("C-N" ne)151.2 657.6 R
 ("C-Q" quoted-insert)151.2 681.6 R 2.5("C-R" re)151.2 693.6 R -.15(ve)
 -.25 G(rse-search-history).15 E 2.5("C-S" forw)151.2 705.6 R
 (ard-search-history)-.1 E 2.5("C-T" transpose-chars)151.2 717.6 R 2.5
-("C-U" unix-line-discard)151.2 729.6 R(GNU Readline 5.1-beta1)72 768 Q
-(2005 Sep 13)109.3 E(10)199 E 0 Cg EP
+("C-U" unix-line-discard)151.2 729.6 R(GNU Readline 5.2)72 768 Q
+(2006 Apr 26)134.015 E(10)198.725 E 0 Cg EP
 %%Page: 11 11
 %%BeginPageSetup
 BP
@@ -1236,7 +1241,7 @@ R(ord)-.1 E 2.5("M-F" forw)151.2 604.8 R(ard-w)-.1 E(ord)-.1 E 2.5
 ("M-U" upcase-w)151.2 676.8 R(ord)-.1 E 2.5("M-Y" yank-pop)151.2 688.8 R
 2.5("M-\\" delete-horizontal-space)151.2 700.8 R 2.5("M-~" tilde-e)151.2
 712.8 R(xpand)-.15 E 2.5("M-C-?" backw)151.2 724.8 R(ard-kill-w)-.1 E
-(ord)-.1 E(GNU Readline 5.1-beta1)72 768 Q(2005 Sep 13)109.3 E(11)199 E
+(ord)-.1 E(GNU Readline 5.2)72 768 Q(2006 Apr 26)134.015 E(11)198.725 E
 0 Cg EP
 %%Page: 12 12
 %%BeginPageSetup
@@ -1274,8 +1279,8 @@ E 2.5("C-Q" quoted-insert)151.2 614.4 R 2.5("C-R" re)151.2 626.4 R -.15
 ("C-U" unix-line-discard)151.2 662.4 R 2.5("C-V" quoted-insert)151.2
 674.4 R 2.5("C-W" unix-w)151.2 686.4 R(ord-rubout)-.1 E 2.5("C-Y" yank)
 151.2 698.4 R 2.5("C-_" vi-undo)151.2 710.4 R -4.166 3.333("" f)151.2
-722.4 T(orw)-3.333 E(ard-char)-.1 E(GNU Readline 5.1-beta1)72 768 Q
-(2005 Sep 13)109.3 E(12)199 E 0 Cg EP
+722.4 T(orw)-3.333 E(ard-char)-.1 E(GNU Readline 5.2)72 768 Q
+(2006 Apr 26)134.015 E(12)198.725 E 0 Cg EP
 %%Page: 13 13
 %%BeginPageSetup
 BP
@@ -1310,7 +1315,7 @@ R(ord)-.1 E 2.5("f" vi-char)151.2 576 R(-search)-.2 E 2.5("h" backw)
 648 R 2.5("n" vi-search-ag)151.2 660 R(ain)-.05 E 2.5("p" vi-put)151.2
 672 R 2.5("r" vi-change-char)151.2 684 R 2.5("s" vi-subst)151.2 696 R
 2.5("t" vi-char)151.2 708 R(-search)-.2 E 2.5("u" vi-undo)151.2 720 R
-(GNU Readline 5.1-beta1)72 768 Q(2005 Sep 13)109.3 E(13)199 E 0 Cg EP
+(GNU Readline 5.2)72 768 Q(2006 Apr 26)134.015 E(13)198.725 E 0 Cg EP
 %%Page: 14 14
 %%BeginPageSetup
 BP
@@ -1349,8 +1354,8 @@ F0(initialization \214le)2.5 E F1 -.548(AU)72 242.4 S(THORS).548 E F0
 (ug reports concerning this manual page should be directed to)-.2 E F2
 -.15(ch)2.5 G(et@ins.CWR).15 E -.25(U.)-.4 G(Edu).25 E F0(.).25 E F1
 -.11(BU)72 410.4 S(GS).11 E F0(It')108 422.4 Q 2.5(st)-.55 G
-(oo big and too slo)-2.5 E -.65(w.)-.25 G(GNU Readline 5.1-beta1)72 768
-Q(2005 Sep 13)109.3 E(14)199 E 0 Cg EP
+(oo big and too slo)-2.5 E -.65(w.)-.25 G(GNU Readline 5.2)72 768 Q
+(2006 Apr 26)134.015 E(14)198.725 E 0 Cg EP
 %%Trailer
 end
 %%EOF
index f834b5826537a4be511964a41d728e67ba2d39aa..e14c655f754c3c42900d7cae7b601e992321bff2 100644 (file)
@@ -14,7 +14,7 @@ This manual describes the GNU Readline Library
 consistency of user interface across discrete programs which provide
 a command line interface.
 
-Copyright @copyright{} 1988-2004 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2006 Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -22,7 +22,7 @@ are preserved on all copies.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.2 or
 any later version published by the Free Software Foundation; with no
 Invariant Sections, with the Front-Cover texts being ``A GNU Manual,''
 and with the Back-Cover Texts as in (a) below.  A copy of the license is
index 6f2e2ee2d345271afa81771f6ebc368d0d4d564c..ecff10608271ecd24292e1b176795c2b74348a9c 100644 (file)
@@ -8,7 +8,7 @@ This document describes the GNU Readline Library, a utility for aiding
 in the consistency of user interface across discrete programs that need
 to provide a command line interface.
 
-Copyright (C) 1988-2005 Free Software Foundation, Inc.
+Copyright (C) 1988-2006 Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -1033,8 +1033,10 @@ pending input has not already been read with @code{rl_read_key()}.
 @deftypefun int rl_set_keyboard_input_timeout (int u)
 While waiting for keyboard input in @code{rl_read_key()}, Readline will
 wait for @var{u} microseconds for input before calling any function
-assigned to @code{rl_event_hook}.  The default waiting period is
-one-tenth of a second.  Returns the old timeout value.
+assigned to @code{rl_event_hook}.  @var{u} must be greater than or equal
+to zero (a zero-length timeout is equivalent to a poll).
+The default waiting period is one-tenth of a second.
+Returns the old timeout value.
 @end deftypefun
 
 @node Terminal Management
@@ -1668,6 +1670,9 @@ the directory portion of the pathname the user typed.
 It returns an integer that should be non-zero if the function modifies
 its directory argument.
 It could be used to expand symbolic links or shell variables in pathnames.
+At the least, even if no other expansion is performed, this function should
+remove any quote characters from the directory name, because its result will
+be passed directly to @code{opendir()}.
 @end deftypevar
 
 @deftypevar {rl_compdisp_func_t *} rl_completion_display_matches_hook
index 478b41fac3c7d73aa4d15c658a7b9404680ae792..5c6467a9aa69a2accd35f2b88fed15cc00a53ea8 100644 (file)
@@ -10,7 +10,7 @@ use these features.  There is a document entitled "readline.texinfo"
 which contains both end-user and programmer documentation for the
 GNU Readline Library.
 
-Copyright (C) 1988-2005 Free Software Foundation, Inc.
+Copyright (C) 1988-2006 Free Software Foundation, Inc.
 
 Authored by Brian Fox and Chet Ramey.
 
@@ -336,7 +336,9 @@ file is taken from the value of the shell variable @env{INPUTRC}.  If
 @ifclear BashFeatures
 file is taken from the value of the environment variable @env{INPUTRC}.  If
 @end ifclear
-that variable is unset, the default is @file{~/.inputrc}.
+that variable is unset, the default is @file{~/.inputrc}.  If that
+file does not exist or cannot be read, the ultimate default is
+@file{/etc/inputrc}.
 
 When a program which uses the Readline library starts up, the
 init file is read, and the key bindings are set.
@@ -593,9 +595,11 @@ the command does.
 Once you know the name of the command, simply place on a line
 in the init file the name of the key
 you wish to bind the command to, a colon, and then the name of the
-command.  The name of the key
-can be expressed in different ways, depending on what you find most
-comfortable.
+command.
+There can be no space between the key name and the colon -- that will be
+interpreted as part of the key name.
+The name of the key can be expressed in different ways, depending on
+what you find most comfortable.
 
 In addition to command names, readline allows keys to be bound
 to a string that is inserted when the key is pressed (a @var{macro}).
index 7727865e1336c20a3aa4d69269dce74514c5aa08..bbac041a82e03a640fdcd265b80aedd4f0acdb73 100644 (file)
Binary files a/doc/rluserman.dvi and b/doc/rluserman.dvi differ
index 3d8595b12e1ec8cc44e41aa13fdb25c2b90463e1..a102195ae8681ffcde082d72f39fae1428a87c4f 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on December, 6  2005 by texi2html 1.64 -->
+<!-- Created on July, 6  2006 by texi2html 1.64 -->
 <!-- 
 Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
             Karl Berry  <karl@freefriends.org>
@@ -487,7 +487,9 @@ Any user can customize programs that use Readline by putting
 commands in an <EM>inputrc</EM> file, conventionally in his home directory.
 The name of this
 file is taken from the value of the environment variable <CODE>INPUTRC</CODE>.  If
-that variable is unset, the default is <TT>`~/.inputrc'</TT>.
+that variable is unset, the default is <TT>`~/.inputrc'</TT>.  If that
+file does not exist or cannot be read, the ultimate default is
+<TT>`/etc/inputrc'</TT>.
 </P><P>
 
 When a program which uses the Readline library starts up, the
@@ -794,9 +796,11 @@ the command does.
 Once you know the name of the command, simply place on a line
 in the init file the name of the key
 you wish to bind the command to, a colon, and then the name of the
-command.  The name of the key
-can be expressed in different ways, depending on what you find most
-comfortable.
+command.
+There can be no space between the key name and the colon -- that will be
+interpreted as part of the key name.
+The name of the key can be expressed in different ways, depending on
+what you find most comfortable.
 </P><P>
 
 In addition to command names, readline allows keys to be bound
@@ -2626,7 +2630,7 @@ to permit their use in free software.
 <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
 </TR></TABLE>
 <H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>December, 6  2005</I>
+This document was generated by <I>Chet Ramey</I> on <I>July, 6  2006</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 <P></P>  
@@ -2788,7 +2792,7 @@ the following structure:
 <BR>  
 <FONT SIZE="-1">
 This document was generated
-by <I>Chet Ramey</I> on <I>December, 6  2005</I>
+by <I>Chet Ramey</I> on <I>July, 6  2006</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 
index a58234e28e8beb8d21eb6ee4ae6c3d87c7e17657..10bbc3d65528aa6818f5836f6c7def218943fc05 100644 (file)
@@ -2,11 +2,11 @@ This is rluserman.info, produced by makeinfo version 4.7 from
 /Users/chet/src/bash/readline-src/doc/rluserman.texi.
 
    This manual describes the end user interface of the GNU Readline
-Library (version 5.1-beta1, 11 November 2005), a library which aids in
-the consistency of user interface across discrete programs which provide
-command line interface.
+Library (version 5.2, 26 April 2006), a library which aids in the
+consistency of user interface across discrete programs which provide a
+command line interface.
 
-   Copyright (C) 1988-2005 Free Software Foundation, Inc.
+   Copyright (C) 1988-2006 Free Software Foundation, Inc.
 
    Permission is granted to make and distribute verbatim copies of this
 manual provided the copyright notice and this permission notice are
@@ -14,7 +14,7 @@ preserved on all copies.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Free Documentation License,
-     Version 1.1 or any later version published by the Free Software
+     Version 1.2 or any later version published by the Free Software
      Foundation; with no Invariant Sections, with the Front-Cover texts
      being "A GNU Manual," and with the Back-Cover Texts as in (a)
      below.  A copy of the license is included in the section entitled
@@ -330,7 +330,8 @@ of keybindings.  Any user can customize programs that use Readline by
 putting commands in an "inputrc" file, conventionally in his home
 directory.  The name of this file is taken from the value of the
 environment variable `INPUTRC'.  If that variable is unset, the default
-is `~/.inputrc'.
+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 are set.
@@ -539,9 +540,10 @@ Key Bindings
 
      Once you know the name of the command, simply place on a line in
      the init file the name of the key you wish to bind the command to,
-     a colon, and then the name of the command.  The name of the key
-     can be expressed in different ways, depending on what you find most
-     comfortable.
+     a colon, and then the name of the command.  There can be no space
+     between the key name and the colon - that will be interpreted as
+     part of the key name.  The name of the key can be expressed in
+     different ways, depending on what you find most comfortable.
 
      In addition to command names, readline allows keys to be bound to
      a string that is inserted when the key is pressed (a MACRO).
@@ -1717,30 +1719,30 @@ permit their use in free software.
 
 \1f
 Tag Table:
-Node: Top\7f1382
-Node: Command Line Editing\7f1814
-Node: Introduction and Notation\7f2457
-Node: Readline Interaction\7f4081
-Node: Readline Bare Essentials\7f5274
-Node: Readline Movement Commands\7f7065
-Node: Readline Killing Commands\7f8032
-Node: Readline Arguments\7f9954
-Node: Searching\7f11000
-Node: Readline Init File\7f13153
-Node: Readline Init File Syntax\7f14220
-Node: Conditional Init Constructs\7f26156
-Node: Sample Init File\7f28691
-Node: Bindable Readline Commands\7f31810
-Node: Commands For Moving\7f32869
-Node: Commands For History\7f33732
-Node: Commands For Text\7f36858
-Node: Commands For Killing\7f39586
-Node: Numeric Arguments\7f41730
-Node: Commands For Completion\7f42871
-Node: Keyboard Macros\7f44417
-Node: Miscellaneous Commands\7f44990
-Node: Readline vi Mode\7f48353
-Node: Copying This Manual\7f49274
-Node: GNU Free Documentation License\7f49506
+Node: Top\7f1373
+Node: Command Line Editing\7f1805
+Node: Introduction and Notation\7f2448
+Node: Readline Interaction\7f4072
+Node: Readline Bare Essentials\7f5265
+Node: Readline Movement Commands\7f7056
+Node: Readline Killing Commands\7f8023
+Node: Readline Arguments\7f9945
+Node: Searching\7f10991
+Node: Readline Init File\7f13144
+Node: Readline Init File Syntax\7f14299
+Node: Conditional Init Constructs\7f26350
+Node: Sample Init File\7f28885
+Node: Bindable Readline Commands\7f32004
+Node: Commands For Moving\7f33063
+Node: Commands For History\7f33926
+Node: Commands For Text\7f37052
+Node: Commands For Killing\7f39780
+Node: Numeric Arguments\7f41924
+Node: Commands For Completion\7f43065
+Node: Keyboard Macros\7f44611
+Node: Miscellaneous Commands\7f45184
+Node: Readline vi Mode\7f48547
+Node: Copying This Manual\7f49468
+Node: GNU Free Documentation License\7f49700
 \1f
 End Tag Table
index 932065e7fd85aec2899079111e53c4c602f1bb8b..74fe0df48de7c68124fb8ec2ef17f1c33bb3574e 100644 (file)
@@ -10,7 +10,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 600 -t letter -o rluserman.ps rluserman.dvi
 %DVIPSParameters: dpi=600, compressed
-%DVIPSSource:  TeX output 2005.12.06:1546
+%DVIPSSource:  TeX output 2006.07.06:0935
 %%BeginProcSet: texc.pro
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -2573,402 +2573,404 @@ DDE3DE50E1EC439204C7FE350C69494823725920719D613907163AD63FE83C6D
 1CB6DA81A6C816C747542CA09493306B44A7DCE934B877DD356F38D07D3E0355
 CB149BE6ED646E84DB9DB61859F6FC45BCE13EE42458D1991AC34AAE6EA72320
 3EC6346C38CA87107618ED3C46C331623D8FAACC6CF9292B8F1B407806A0D480
-8F51A5BC97F6B26623BB96E862F0BD7A12B4A27290DCBD439BEF850C55DD9D2B
-611638328F5CD25DE5C89CAC116116D672D62ED0082789AF7683DCB07623752C
-A93640A3781219E10DA27B8787879A80F9E91AA3E1AEF94D219872981BC0508B
-E768152E8C39C99EBC4345BC6EA518F0F902B8F62BE49099EE93501FE6243D45
-951AB62A48FB07A5CCC372B2231D05BD7D07D998954A3EE34986143698A5FC94
-F92168811860C529974831AAA6466CC73E69025AA522454CB788A8DCEFE75071
-F6886C595593ED37ECEA5C3F395CB55D32C04159828F58D003427C382778987B
-35D8A4D2613C2FD1751CE461F181F60B3154EFDF2DDFC356B3897DD8D62075E2
-F2BC150C02B54FF74019C7654296A32DF5C14EB68513B73D2A1B014F8778635B
-6A0D9982C00D068F9DE5C83D261E0C36DFAA57EC691AE052C37C05803FBF1748
-07351396B9B8DFFBAE0AA5B38E9954B4558BF8928350BF4FED69118897768C54
-2B7E6651C1A8473E9DC2FECF584990F967CC8B396E70CB2323E78EA28FAF164C
-5B3E297034FADA9E0E0EE279CAE751FCCC300C8480FB228A480C612229FC54CD
-F7EF109D8433B21EF2909661F24AE7B863B5AD13CBE62A1566F936B2AF8887EA
-FCED2ABA9A561C49663A1E25BA427315299C68D08586CD27458E0BEA9DF1AB02
-A4163647D20399503BC1B62121FBF5D6A7DD66BC012ADAC610C6DA9BEC03FABA
-E7338A6730ABA07D6BBF208851B58A1E90A78D07E841F32F694DD61F7AC3F756
-4357E19B0C9AB1F5719CF3902C1A9CDA56626D116D8D79C37328292EA826420C
-46F6C2AB2287118101C955FECEF867532C76D99C7510BF15074B85D47FD79EBD
-DFFBBFB40249FDB3D967D824E94EDF93825F9305A5863810A5ABAC136CF6828C
-4E05579F341EA27AEC4F52B9124BBF8D83E9D2DCA1A3DB4BEA5F1837558C0585
-9561C081206101E6A226A09952C33648108EE10572BEA309ED0A3626028711D0
-E87AFC3BD3ECCA52D35EC502DEA9AF8724677A419918881C8CCE7A4D1FC16584
-A564470B0DB5490F6506BAF2C883ACF77436A4D48E27106BBE9E75B71400762F
-37B814A94A6A9923C62CB196CFC9BCC1090842A11AEC78CCBDAC7F83DF52F59F
-02977A96F045A92AC2E3A08DE307301A89D8046F0E46D483F59073B92F442571
-A14A536EA7675294562B550CD056C9D659D4AD0B451A6108C800758CF9ADC362
-58048D3AC7C82915A4DCBA00257695018828169099C58E212C8FD68750201EBE
-F2674832C450C18F0620C01965CB208ADCBF46AB35C2ADF383F9D51DED351375
-A1CEDACF8AB61A41252DE6704B222E2DE14452927631ED28A7F9DD2806CAAF28
-2E55CBF63BA707DABE48E3A180039014EF14B6DE8230AB2B85000B401AB04C80
-0D4D9A62C5B632A3BCD13A61B590374601A6A92529BCA946C031C3CB1E48D580
-5FF55170B88F57E175B42EBD02087828D586321B5AA7285F4CD091D823DE9EC1
-6D6119CB6E80A8004F7C91A70BE16001F0817F6017E1C3B4063A3CD11A153EF7
-4C60B1E2CBDF2C806FBE518D0FE1371B3C8F28AE4AC8C8F3F2280D451B36DA99
-351FADB8ADA025E02EDEC48858E3E0A9A6B7B89FC43A25E050D62C2E5AD318A2
-CB0068E95E2A8F360161B634200913DB5DF7153B2BE0A9DDAB90A5A8D8C01020
-DE20C1676BCAA8E8759204D63588B5E0E9A204C1BCDA3BACD8BB302743F8C79A
-B19E42ABF04CDC246847E6BEEB314A6C8B4E75DEFFF121F8D3E3D7FF779D5831
-3D20CEB655AB93E01F8A2C9F0E0B4177C7849B84239F8AD122D30A7F645DC621
-F4E629D80E04A035E235C61898A37B12F01DC6DDA64B42F5CB678E5177D65BD9
-7C6CE064A9D668D18EB475171EC2B9B7E521DFC2921E6EF1F9F16E7EA97E4FD6
-4E55038CAF07149CAC035790A4B5EB495E254091B11B7842E9A41B6CB190A9FB
-CE474841BD42E49429264E7CA131AFC7671C4BA08139D2DC3487C09AA8DD789D
-83C575FE71B12C22D8C8886F79FB423AA1ECDDDFE37AA3C8511E5A56A6932D53
-5D5A46119BA1E0D430716D82D804A6C84E0A57EC1EC700369DF57C53B1722C96
-787BE06E67A2074322A3B002572DF642C6663C2FB7197315670BEFD4306DF25B
-C318FDD843D81E02510768CD729D87E8D8C7DF4291E929D46C11CE1447F631CB
-D6933AC8CA5DB74921FFD5794FB1ED54650F5A257AD6E5ED58986AB161F9694D
-BAFF7F25E3D6B1F4B2E991DE634F1EB1AE609874C80F9A60D48AE0C3500A9A93
-13C50FF156C5EED1FD89AB4576483D78664517D3E93DA13B7E9B2227627338EE
-A25736B2B3D828DD349C1CC1A539BF64E3C687BB9CE19078C730E1B5A728FDD1
-1E965BAF73C66005F22DECD760D7881E195DF8F6CDD47444FA9C0BFAD7DA0B69
-01A75DCD0617411ED8E55F059A4B9C1445EDB2BD23663732A4690D5470A76DB6
-43313C91F86826692BB066148382E1BBA4B2304CDCB7CE89E9AC1474207AD74A
-6748AC5DF5511E97606CD2FFA73CA34FEEAC677D2367AE7674E3CE45C3F85B12
-0150C32858973B0D2910E809B1C604F7CF60C9E2CA7D8B51D6D1720EE7D8E284
-9E4B9B45D71CC19633063DA34DB83544E0AE7F96F122F9A43BEF88B5C385614F
-7C7F68236A69B2D50BAB3CF3D4330950CADBDE7EBC5CAE8A1846FFD70C97AB1A
-4DD634B830F4BDDE46541D4DFDAE4916F89DC7A377540898D35A2EA808DD8591
-CC88C2939FC879D30FAF0A81F3A1D0CF7B77FA2E09CB393B3AD4C0B01834133C
-0FB10F0D5C734A06DE16E61C05D61DE35CD19102358A4995AD59AC3F1C1F45D7
-9735C2DC9B6FEA6B7F797E96B1C49BF16A18323EAD042DC040C672FD36E98C0C
-1CD16C15BCE3E79B155DB1E4486F29652FB8731DCA35F4A3E724AE5E8DFC4DC4
-F5BCEC9E9E22BED23DEF93115C3185A96A8DFEBB98203DE7591E5111BC8F160D
-31770E04B71F20467F81F47B7547A97A05B19D2868DF5E9F69364C3629DDC77B
-E6AE409B4A3FCA29DF18C8F26400995D664BF1A39F61031B7F3BA92F017F40A0
-F542AD1CD9B9DF2782AA91D77CAE7992A45BC70D58882B64318B026D686BBF37
-1611483C5447B8268B47D8FECC3B6118AC480156B8A083A8C3B45534D6525524
-CB2F2A6ABF5252B2C5007A51B7E61B833CC4F76F3C9A61304347C30E4206EA8F
-D95BDB83125D04A4988A79680DAC28A7BABCE5BE7D449DB54EFB9482F5A5C562
-F2D23F8A759110E610AD18D8B55DE2F86E2ABCA985738F25892D6E40AA645C19
-16A308B8061BA570D9E2CD5EE7A65647BD6E384324D1FB94EB723E4D84300FA1
-F042C92D9FD1FDB36E5D5AE68BE5D135ABDED7AC0187B280418638B0608D243F
-33E44B3339B9A25420BD4F93394366259CF4629E52610BD350D1646399DDE7DC
-9E26F8813F1E7E517D298DD6C35014997DA7C726568D0214428D3E297C132E2E
-525CEFAE85ECF165530124C18AB61F5B6D3E5EA1909B4A4019180DBC1226CE73
-5C5716589EAE3349112B4517E72833771B31896ED628404307E642327B07E16B
-B46A3E58ED1C6260176E887DCC58426A9ABAA9F6BFFE8B15E4D1F706E924521E
-C83BE148DF4EC7AA155F48F5FED1E0088C9B859D36A3D14A8127DA2C6FDB1CCF
-BE5E5251EEBB1524210C506D369B8AEE6319FACDFBD50EDF42DD3A1146A98258
-37ED2DC1F34F564DEB7139260EDB0242D5D1F968AF4FAD42FCC51B0F7E7CE276
-AC47511BF6DE9E1DFD14D89113AF2FED93E0DEA66C8FA11E0AF8D7554E935550
-F90AB7C39FC72AE2B979E93366A4FA17EE7F6ADE1BEAF71D1BBE2A229802247A
-4109BADAAADC1F6C237BB934A886BE67BB9152551724D4266DBC0AE4E16AF900
-05D4C8C3F165E0AD9B57B7DC1CAC235CFFB47855432ABF70F7B0123CCA859C2A
-55DF06A88446C71ADA559540F0375D2295559BCA85EEA4A996C2E58DA9EDEA22
-FD3E893637927CD0D975E5056ADC519F591B3B766B6A74F325A93DA4A03BD01B
-FB614A0332C634AF3AE101226C2EEBDDE185FB1B211A134F049C4EA9C78066A6
-598AEE95EE2EAC2FAFFB7ABA657105854E8422F037C4C6EDDD954B13F378906B
-E34ED3D8FA6FC0715756217BFEC7B7A5F598720940DF9E0CEC10B7890AE01EB3
-B9C687ACE674043CBF779ABC5829DA7AD6D6E42AD5E5DE77F3EBE69C239C8CDF
-17EFA0A72D656BF886323CB93DD55FA1FFE7B15782BF7CCD8C393EA3670D3DCC
-ECE6B7BF47308FE26F23C9EE35CA2D06600E662B38A21B49FE6DDF55734183DD
-1EB1EEABABD705117C660E37F7C4B6D6FB34AD19C2855CEF032A83ACBB4B4051
-19247698CC98CB602E51D6C698F25F8C59F57F2F845DE327DFB89ABBBD962057
-84103467E0236BFC46E20B71F3A0B6E7E5C7EDE5096CCEC89614FEBBFFB6F3B3
-F2D8E3F9FEB96ABCB698B0E63AF2D18750DC6B9B73CA9AF04D591DCF873B65C1
-4273BE308E6D3B691EC68EBBFE20BF423D38C1E63C591A840114611A6C4C6044
-FD9B42A8B941C9619971A84164DCB6297A209392974E85045F55CE6AB2FE5905
-7CA258456D40CC53B53EF5B145BBF9202DD61E35026476F816297976CFDB917F
-A2ED96478EA7F251C06559A55428D8E5CB4ADBCD10B18A9B5C19F6A5B32E8216
-59096C655531F4EC1CF88897B3E73EEC721184F58D6922F9C2901B687A5F3EAD
-2A92D0506D00DAE17332014ABCC3F39C3A3590344762AFF7C83C096CC3C471BE
-30A0E03C368C52ACF36406045B52C15A9F924F981E1EF18E844AAB1DD8F14FCB
-33F3C820BA3D0C29403A480C33829E515B046AB571E1B1B69FD2D2C1617A9903
-B229963E2B2EDFEF0AC90018E750711AB6F30FFE728825F2F08274BAA144D5FB
-85BBBD814559DBA0F746125DE106363A4871BDBE36F75B89B6E51F7326EF4355
-DB7EC080F6A8FE54BA2A2BD1B2A733B46B704362D2FA362762D37E07A07C2D06
-9DD8C345108EA9293EA0B7D5AC073F739D081B3878BE2FD6EFC662111602CD8E
-9F936DA499E09AF169C1A6F8185DFDE4F812D4C2C5CCC308EEC87E0B782A29A2
-94690E173D7158AA622E84FD961DCEFAF3A1E605AE8BA8E499D605710DF1218D
-15A0D4FDB1BFC1DE0E7AACCBED8F69618158F5A55F74DD5BD0D46DD2FC969AA0
-11F42111FE7C1C45E10075CF04EC1B40A75487130BFFD663F12266581FE3B7B6
-97CD203CCA6601357A5CEDAD84A56C918561F7CFD21496A003D1C0CFA348CA68
-5E60F8EECBB1C0B28BE0777AE54F79124E2B45BCC0B457CA50D1BD542658C82D
-BB9BC364241F12DE80D9197016550F2E16E4D3CC7C136FB020C37763C8F45558
-E6E3E6C5F50B68035E9D7A8DBD1FA6C132DE6EED1EAC290DA84022D5CAF6F63C
-5B846156281F1274BA26A18A4364C9766425181EABCA1D1C30C44262C3E318FC
-CF982B209C3C8A2287F78E6C13126D15F6E01D713CBA0567987FE1E40C7AFA80
-26B0996CC8D3832E5F15136ED4F38A94B08533F77C639B1A6C36B044382E9318
-BE3EF27CBC4F3FF095ACF22EE237B1B1207427359FFC298CE8772B4F3C91DA75
-CF78FB0F32B9270379AC52546B4FD55D5F5534057FAD104C8D9086D732B102C2
-C760E67CC118174DC431140E72CBBCE806DADD62F32D9DC5B28656912AF6C421
-9914E7A55D2F9050EE3EF10F1DB19E6F9CBD686EEB7AA20BF5D805ED4CC2066C
-AB192013B1EC1455631A62B1BD379B923445FACDB242F238B55DC89C11FCE7A3
-F779C34D94262C6771702C32B030E5C27ADB2A137207A2744F03F1D431E5BB48
-C180DB065F94092EB9791F951AC802E4719723A51039B2C1187415BEB8CB6825
-E756CFC336527039C10DE521F097B8A116A760BB28498682049DB6A677F8F198
-AFA1AAAFE6297B03A290DC022D14363912918569F633F236A3395A13EA6F0C66
-7A5231FB79305DF854CFC01D870FAAFE6746D6CA8F3EEAE43C106196779C185A
-8EA75335ACD3E57B209B1222BEBEE5783C60594AFAD59009DF17A90A69F1C73C
-B6D28AF7F578B26D4528C503C3E0752BFB32A46CCF766C8AE94C53161ED6E80C
-7E11DBDBFC2E851B9A6C0FDBBF53BD86D81AC53CAC82E4BB2B0C3B0AB65F5045
-9D0FBC1393FAB38F4DDA130C7641CB78D4D7DF5C4752CB8385EFCA41D4279DB6
-5F107D970A6F0BF9E1199837B134848894314638080D2D9818E953ABF485AA4A
-9B168FFD567D4A3BB4D422232F7784E6654BB78105D3738E01D4DA5B3A8E5BEA
-65B6B9651E3DA567B898931A0B09B264CBB038A5FD5B258693E96102AA1CCE10
-2111FBD5BB6A6BDDFEE10618D8D0D69C37C764B9B8AB75B41469D39C66297E7E
-9437DDE52A15474015D19243209DEFDDE03294791ED5E93145AEE0AAA6A8D885
-F2DABFC697C22D1D95BB88CDEEC9BF45E9B72DF12A6556272A9ABAB51AFCF61C
-1B6D91C6301CDE51E8FA16F7C190455698001AB223DEAD7D2D0FB85B9851BFD7
-659F3FCEB58866048351345F58A100B00769E8C63728FA17E884C23166D9A449
-E28758E1C71D67F4FE8D16D4E6E745911D073ADF8E53E4225C1000F23294B89E
-1C10C6B5B83D221E513DFDA1B62979C77F04266B0119A63935E0F1F84BAF02CE
-67D3390043B43A56E608D4CC52C8B59D981311A6840D1F7020598EF125992915
-75747CD5454B529EA0BBB03A523D8F0D781D4E176F3964FB5D75F7A37CBCC7CE
-6BB8030D6B0C32CEC3F122344EC441C3EA0F6EEFF0D56326DBE6D01A34689AE1
-4CDBA14449571C2AF99A37C57E906652E715C45DE7A66D0A8FC229BFE907ADCF
-9CE416260E544E4D74E619BC2AD70FD57F7E68D493CE3A7E3BE440C393E8FF83
-8D3C1E25438AA078CCC9C96C27C63FE9BE72BD7975CBDD1EAFFE785B8A8BE742
-13DC52E10F7970E84FE8FB8FC41D8E39835E8634CC96648DD081F0DCA956DDFC
-D2C692F456CF629D1D44B58CEEA2293C36A34FBE15A5B7715F02442E071C5C4C
-EB125BB2AD24B8A7B250A90B67F5C067B0693EC61878E1F06AA60CEA3B4F473F
-359302F1F69CE358D820009C8F0791D2CB3D5052168528CC4F1B2F76C4ED9223
-67B7F56F90D8D3B0DF6F9C0F1E4D8BE26CC0313E64873FD3FC49916558321F0F
-B892C2E0209827211CF344CF5CB8D39B89EB70C2ACA9CCD0800A2197DAFC2BAE
-F298E0F5482734E1008C639234B1D596829A3CF328C64FDB960D2776DD3252B3
-973016E9CBE7472241901A120AC3C7B13D5D695F8C5373D38E7DFDCE2CBABCC2
-D41CAC8A5208BAD2802EF62ED68637B739F15B6E43A1C6F1C45C3D5334A48D9D
-BB0887EF702555CF915DCBFB723126DC8F6C6C594001D31DE3E01FDBE324D1D1
-828CB0176075842E32C10DADD3CDE2747F0E3844DFBCC1510E17C11F3EA8FB95
-B92683A989C56F69D8D5056FEB5A0B44EC349555AF9D998170A1F4AC71C2C088
-09050E56FC0DEED55FACF57B36DC4CC3D6C31BA9BB312E4E01C2D49A56CE033B
-4A2AB13A467C0C334345D236B477A5ED1A2CEE5E77C094F3D6A7944E0B3967EA
-5245F0841D5F3DC306BD19BFF5E8C05C2DDE274BF5CEED180B6005BD1E7F7D19
-953035883A4EB02AEBA5D668A7CB644190E90539DC5E988AD288E9987773DC33
-C259E1D1A911CC524B28488420C8468143F47257D8125DAC6AE0926CC781B80F
-40CB02D2251DC44984AEB09A31221E0A95E028204D63A7D3ADB63D2478AB86FD
-CE89910E0D82CE92EA4DBB0B45B6120A94A87DFB5928D0AEF0471F9F747A2FEE
-D3800AFD8DABEC814FC18579E6E91D0C8D55BDA07E717F2374931ECB563D275E
-170672538EE975F144F994FF1995F303B897167CA7941A8A4E464BF4115642B3
-BC5B8393A221D381E89E05499BE7B107CA4B067E0A3D1749BA3ECD2BDB4E7483
-AD1752117947400959C53074E2A09A4A614AD1038DFCB105A620E7B5473570DF
-E6A3F92C0425D4F484E2B4FA8A8228C8AA1E42369827DDFCB6C2978994153DE3
-5D8DC1F3B2B3633A02768433C2D414C2034E81A44ABC8F25C41DF741BF27F03D
-CE9C6FEB75CC041EC44E802514A81D9EB00C27878DFCD7B06CA5E4AC54E8BFCF
-DF88EE81E6461BB8686F667468FB76B2702ACC81BE90B2FCBB20C13740652954
-A89D08D96BB441C41D3ECD77A882DC44801E3393653DE8F957608BAB66A48DC1
-3CCA84A7DA212ED5C2D5BE701E53AD799F5D9181B345CC068FC56931CB6F5B59
-55837B8636486DACB5340EE5C1C1FF281C8282B4B395C6D6F962078AE6D1AAE8
-A42575A1AD2FE71F73F3DB3EF9404D1D279F2047306877A73FAD35B511C5B28F
-73824D32890E2FFD50AA238F7488E74D33891886A27719818EF42C2EA6CA1A2A
-394ABB47F6AFB8F9FD719F73C6EBFE66D69D3FB0205ED5C7855F0986A6ECCD41
-8E6B90B9D4613BD0D1086D8A3312240A33EB8F86BFF88CB88EE93BFB69FA0155
-FD8616B823E49A398EE3E8AD18349F09A19C79156A1E5AA2C11E979FB3C443D5
-AB4CE4E715567D8A08A89E42AA9D6766F2DF15C9945F4470197EC9C77A5CCC90
-51747E361C8F0A7E20E9CC6F55EA637D17F9B7F09C557B42A4062ECF9733D00B
-301491F04153520DEDD72BEB160AD01E42AF44906E560869CF32C34F5F2A00C9
-B11AEED61B96A4F6580169259A8C512F7BFF30B5326633CFAED5E57B04867BFB
-27CD5AC009D10F95EF86168A71F0ADDC893E56843B244C13E816383E8DAE3B33
-EEE7E2B57D4F4EF802FECA10B7868B5AE65BF86CC69B9184930753F93634A391
-BE366DEAD431CEDFE41490B848F9759ED9CA10A65922D7DBCA3156FEAFA799BD
-E5D7B2710F8656CDA4A6049FFA2FD625C6DFDE319C40D26A2276C9AB0319B708
-06B422A6BE6064CF28C53217EABB03D2E37B6187AC1B6E88BDE9AA09E4B83BC0
-D835920ECBEE1AAD0A1BE1C1DA7B8CE4C5DCF153637DF49F6CF0B89566137204
-E3EFFFCCF9F4F756C9A28E54A644624E61D10C666972ACDC1C1CC7E372C9FFB5
-7A094FB2E32976ADABB9927B844BD52F6AFF498C832F6A5A06265FBEDADAFAAA
-8559D8DBA1DA76422426E857CE8E77B3CAA6703345D834CE79B42BA8B0849AFA
-5E49F893CC90E9C376498A227F55CBC606F9F1E3A92F33CB623CC809F68BD4E0
-4F8C9FFF1EBC88513797125BC61F15D501B9F5D885B21375B822B0B9143E165C
-3CF5BF162B260BBBA8494503CECF8C1ECAE710D2443980C4FF4D25AB688DA89F
-918FD0F8739D6EA3CA9C33DCF26D7AC3ED84C9C349AFDB8074101135C4EE6B4C
-648DED37E3E001CBDAC5C235074F0BF7867A169B9EA7CDC8EF2F8B00E463DCDA
-DE329E8157AD7ABECB8495FC023BDC66251E03E0E17888C02296AADD9E7D5D17
-96BA18F80FA072A4217D8533FFAF50F03B8E6E0D78C8DE5F86C9A4A4055EE1A0
-8A2934205464CF4A2E5AFCB513C5497A2F4B28EC779E64625EBB3BF6F596DA3F
-5BFF2F58866BCC2D49C460AE1A6400D338136CAE856735CBA3FEB582B05C0A0A
-2244089C177551A292606BD0A40D894B493B184FC5DE2F94CC7DD7F7ED102220
-91FB35FECCF743E5F4CEC5B4A8C6725808D6326226D89EA69EA8F8DF80DAB46F
-89E628E54F3AED60AB497A43E39EA31A53BEA08B734F1476812522BD648AB450
-B519965DC8313C8BF6DF5662367838AB9D681C1EF07480DE14664B79A86D19CB
-46592158A7D186D5A545C78D1AEA8DC9925A92C03BEBB76963EADCEED1F9EB2F
-B6471580ABDA95ADA78B3A77E06741BA7CA079BA360F27C63A498F54434D39E2
-62DCF5A5577936440E6655FBF0E240A3FFF16551B61464C96297BF8DB4085C15
-F133AB85DE1605B32F9E61233CD4DEDC7274CD22634C7DF635D8E2BCB56F9D1F
-39CB2DC06B02D935CAE59E7F936896471FB206186038914BD15B113C6766D000
-D1BF9C2F111327E62D5B2134771047F9683C9FA991571E2CCFD007026649011C
-AC30D40C37B07889937FA1FC11C9E1127E2B30C5F0DD94475A02ABE8668C1076
-2B1C64365A34ED59A43A984780A2C9C2D5464526CD1D8359D711FABCBBC059E8
-CF0F79141CB8141371FE98B7E04E3C19570718F048DD75886133B5393C941391
-681F0866F5147442F1261881DEFDCA18F0BECBA95FE311FD78DD84FDB5013EC7
-2292B5D3F51B6C38A36ABAEF91B2D2B88AAA436FDEEF5C300D1E20C6A463901A
-F55C14E03DC51DFD340A5D462A8FBD6AC5214393AB6BD332CB5D2848C7FB9DF9
-B50531F8682F848A46C6B16AFA262E3D62C9651960234CB38240506B9C4BF374
-DD0F4039366C6F02BC18A067EBFFE26DEFA5C0E0929D1181ABD949071F42C58B
-7F97FF6BB7200BB66C37AEA46AC1B51D1F3A901502BD4BFB0B9FBF6B7C1E48F3
-9289B063250892AB9380C9743920318FE5634F5884F446BCCA6DA3687BD441BA
-FBDA49659DD23AB091371C73C2A8408EAB11EB1AE679ECAD9A98EB954A869E6A
-6947CDC66661EDDFFAFD810C67E2FD2B55A60F2E6BF128E162EEAB80F250C7E2
-D46C9F9EEDC79B54A831A16D46370FF8EABB4D40D7BAFC536D236B58D15AA860
-46190D58CD13F425F353CEF582E27842562DB76463E049C5371F68C86396A0EF
-2FC5A078EDB98362A49C9986C4E2D288ACD9EFFA5E16FFE88CF1258E3DED7F1D
-E0E1B510C316085AC417E15615E62780A2D149ADB2FDB97A6149D34451B405BE
-E52C772E343D697015274C68CDDAB2CDAF9D89858F74901BEE6C0ABEECE90C96
-C659CFA3E11642456F8053DBCB26BDD8963CFB995038F590468DFFD55C08D0E6
-A117AF9EC7121D14736739729C0A23C083BD202A09040544F3B9E52B2AB90749
-3C960D8873A9D5ED9F9309B5A2EBE756BA0E03EC82FF9EAE787C7F6D5B9077E0
-5F6F01CF12562C9DCEAEB087F7B1A1E0821C70A896EB5AE991B99BC4A9F5B1A3
-AB2607557956AD82A5FB20CACF7CBA9A7621596CDF3D2F61A3A989469E9DB780
-48EB4D1FDACC4C82634A1335411F635A3241555D7AE0B3C25FBA73718655CA66
-01CDFB963408B6346352C8C74DD649330D9DBE9CADDB8E4F68DFD62855868994
-2F3BE6477962C4CCBEEE8FC4108570115A4385AB7CF3DDF279CBB4235217AD2B
-055B6A1E070EE26989997D5197E5D354926A6EF093FE865CFA59EF8378165E9D
-CD501D2D3A386ED76D636C3446429D4E6FDB5776C80510C6AA4225D5FE97AE62
-7F9E968C64D2488FB051B698D0CC481A62E80EAC8208EDAD7CD5FEBA1FD61CE9
-C010032C96790CAC644CA51EA4EF1512C78B9D03504077BBCAF6BFBCE7255E38
-D7772273B9046FAC92779DD7928431CEB7B22B8D17763D01D241607F050060E8
-52ED05CE4F5D3EC57B349828B6FA8D7E3D765FD8036063EB0F2ADA54D064D03D
-0850E21A7EF5BF1A6FC538B44F6B9D7DCDE6EF84406987EC739803873BDF9539
-1D0E10735FD6F397223C62D9318E323B666063EFBDEF387B5886E7A72E5FD4AF
-2CF2626DE6BCBF60A66243D82D66BF22D4213DBA1421F2A69FD16BC560D498F2
-1326273B81B3ED0F8C3952BEAFD761C6F822FCFE5E37B5630639ACFA6ED6A82F
-0662A917F9163478D2DC81F55BBCB71E3273FE3131F3E1E8F50291D35DBEECE3
-1A2A2C675F0C14C11483590BD4C941021FA2B9E48771A92C46C22A4CDA623C54
-D89A1CB095A5DE8CC328DEE7110F7D123C3EB9CFEE757FEB5FC15B7186885EE2
-A939F6F02829CC672281D1CF097FCB730A550FEA4A915286B089E55303990A2B
-24132543E8463F1C0B13CFA8F94523262BEE756AE77BCF1E087ABAC3E8251271
-71CC1F617586E6EEE7EECE435F4F306106EBD2AA4017C888F498B49BB96E8DA3
-7BDF6A406053AFFF353311B840B8E2D91FBEC3A72761CB0BFCACB011C437E4AE
-4AC97B9286225B1151CD667F5260AB87C5A20DAA60410E9C232914FAA94CAAC3
-2229535D15A15C9D5BF6779CB21C36E045875C61B1B9246007338877C26119AA
-91559A898DAAA2804FF6FF24AFB4A60E2FB56B78968B2FD3E41BD7E6AFC2C89A
-4E4BB3631A02AD952EA1819D5AA6B315B87F76D0639F9D6451096DF4F13FE347
-24700BB56AA905E905D0690EA3BEF1E350403A48D2D5797C3037CE3EEEB7CBAC
-DEB18240EAF5FCD951F7960BDB06DA47E20E6012470909264CF2A2A5D88EF6FD
-40B72F03FB490D2D1949B87CD47F158CADD835ADC71584BB63469475204D0F39
-71AF1159BF4EC333E6768D58030F398AA252FC98D25FB7AA12D155A0788E7092
-9C1E7A6CC7DDCFF094C3F50FF2BCBA36FBBF315D5D29BC6E9E488D52998EF618
-2DFE63A1866457E0C843CF7FC16444B7320272AE039EB84B9CB50A7DC054A4AC
-EEACDEB069F26FD9317B8F2F912CD1F39E435F95A10547567F15147BC19480C5
-29EA0FE1C9966DE2A0CCEE612080801CC0AC5B2ECE3D101C9E64B62AD1E22514
-9D056D5A90ADD81C55001F1A219FD13CFF9963C234595FE69AF7935D50F033D4
-4F5E281E08EC69D22BD97A5F2E285305EDD2C7C44133176C1DA87BF869BEC6DA
-8D4E4157263E26325E2977F30523E83CFCBF915E6F6AB01A3B0B4DBE26E0CA9E
-033499BA92902A366E610EBFB9D1120F894A51528C27F00637B3598AC250CCDD
-26DA2821DADAF36C6F98C782DE3C5C7BF9017C08DBCBE29FED877C9B838DD137
-333B1B1E6DB341356458336012829D719BF9D59F8B377FD0A13894AB748F7757
-892B52EC667212233D781F47D177B85D32DCF0CE3AD0050E7CB6AD9C10686E98
-06CD5B51554EE0A1F2E6310CF8E68B1ECD9DEFE48914705420A464034C32EF98
-53573BE5F1FA4AECB4B8CA561E2838939D6A6CB1FCDAC1D2D1C9EA56656B9909
-0AE70C62CCFD0783D746E8DC997BBF8E48019FBB9EB27DDF432F9D49438B0CC5
-B88F8CFF72F71AF9A05F7A4C0565A1741E585DC4AC4EC8E7AF7EB29857BA860D
-A0D9CAF0C33A04DDE54C483F7B5A770FC69A83569E50C74C241B2EB36DD9F770
-2D7FF44B15BBDFC7E2E207D0BD87EDAD51B0FEC8B0001F6114ED0D535313831A
-0B5F9C69D34A30EFB806FE12CFD640339E8E6ED51BBEA6D315C4C0C2A2F804B4
-58AA3E778A729120F217F7877A2D9ED7CC9ACCDBA01134DBCA2B7E14B60D7763
-D7158417CB509DBAA3EA9504CCEAA03F75B359BEA4F295DA6C2890E635D9614D
-B3928B2E72AEA4402656A9164AFB23B59A7C027D5127CB8E2ABADD6298A4D665
-347E3E070645B2D7950697BFCE5703A3B41710FF1E0374DB6B155320E8812FB0
-9039B54EDC25B9BD9B7E25C1AF1DBEE11C6604EFF06F615281C96C26683867A1
-F925325BDA0200EB88AFB21DA6672E42DA5CAEFB0650F0D6D5B6BF82CB1ACD14
-E19A3BB995087ABC6170AFDA6EE1DDAA77ECB07A830CB2066501401BB3B82666
-FA5C812DF094B062DBAAF96453A1E0871DAC4F1E47B874DF4B849D123B2B0544
-274DBA2382C1238C5A8A5451F50AA0FC495E7E5D5C800A28AAF68F609DA2B987
-FA8A3CF6962C971098FBB45C505E6AFC52A2EBE5C20B82C81D143755BD95804D
-17ACC944DF0ED475003C1C067C1F6AF41D267F16F81AA26EBB16696D697CC282
-57123D8BE5637BFD6D15EAE454561F84A1E52DE03511169BB2065ACBA1A020BE
-C8DD66C8A63739758C9CFC445FDF16FC547B68DC847DAD6DC87DFE0A186E03E3
-8AD184A106639A3EECCD03C1035B853EDF36BE3B96E8853D173238AA9B47D517
-87BAC312A282B6A949CC81ADB1F84191371F0233C303D540685C3E9F94BB9297
-B7777BE483B6CD50C4FABE0BE92D4179FC32E2939C5C04D0550B46E3B2551EF2
-401B00213143F1DE18039B187F200A8BB564B83F006943481E141E63837EF0E8
-C1912CA347A01A2E151E3A6F114328A2AE542225A0120E26A925F176A6455D4E
-CCEE1D4D1D73F9DE93FBDDC5927A271963E5ED7F5D6640AFDCB996E6CAF74570
-046FCCA2EB03878B104076A44C8C479275656DABA64E9A5B169042247DDFE099
-14188A528DA964F44E9FCFE5A1B769D9FB6064BCA3C2916DBE10DE58AFC17BAA
-B21AD23A7C16F37669EC39DACC5AE5CB8EE825DB473150BDA27BD72E3FB25AAD
-EE1CDCA62DFC9BFA00E8574C5CFC6384E4348AA62C8D5009DF10AF7070671AB7
-ED425C3B9301A84804DCA3D8437ADA5A354CA577A0FF39E6C588383C58395790
-81AB85A5D90D3F09054826A43109C32C95604ED0ED4EE7CF68950F9C2F959231
-A05B21A89F41C1A496158FB2B33076618E363FC5A73CB44564922699EFD15678
-6DFA8503BB8F8E262AE6BF0ED7EAC85F0EB63F311A6E9F5C09F7399EF0804674
-471723CD1D3D84183B401F2037E36D4BC9D5BAD1A3270F07ED55A43924FD2F02
-DFDA236DFEC603AD7BBC88040E0BFEFFBA92DC3F724756CDC41D05B6CBB04E4B
-693383975A7636FC3269C5151B0085F4BC89886E5AFA3E1CECCF967AC0765D4C
-AD4F4FA8F3D2158F70EA44F0A78207DC2C5287F377182B7C0817243A76781B1B
-EFBBE2011ACD72CD1AD50A551D95654F9A67E2F9DC85BD05B104325DE38C7198
-E85D6DA068B4C772B6CCEACF68BD8B1D08721CECFE10D881AFE643EE5438B3C3
-5203EB8D3E004E4E18EB6C1E8A7BE94401180DD1343C46B1FE5872C039653E13
-882E66099ABE3AB5009A622C92DCA6972B8C05B133050D9612A9487D5BC6077B
-95248F11B54043912A542241ADB71E271A83ED36FF0CC44B6DE8DB095467289E
-49A4A97EA363FB0486C7567A8056F056904C5BCB2ADFE0CD469A937AEC90B119
-57EB911C0B88171766700C44BA8AC7C9D1C954010A5C594EB0DCAF6F528A6C1A
-E5AEDD88F890E94E3DD1EE2D088AE27C242D692E627BA00BE6723C54EC748865
-AD8FDB8D4DEFEF4EC67A89FDF87A6B7F8B49EAAB9664E105960E209C663D3105
-965BDB55C548FE1BA0FB610900E7DCADD084481295948C263046326DA0C8C513
-80FE1E956AF54C3D8CC5C53CE71BD8A646F9813FB8582CFF41E3837BBB8084D6
-30A00A36124C0E827E08D2674D81FD84300CE6971B0D711DF90BA72AA842B30F
-A99C230AA58492FA3443323458B9B7189514DB8439582926336EA42E2EA6C318
-CF198A7CE1350DB0F345DFB7425EC49ABDCEDB0786D29E6A791D573F4BD97BAB
-563C8BA40B4F1B97D30566E00D4504813AE704E0F8D0272913341C312C4825FC
-4999FF9AE415C2453A03F0624291C0D09081C2792FBA1D61FD36CF49681E3FA4
-64BB59959AEFC3037A41229B42FD7E531933143F026D53B5A29A780D899AD4A8
-58695F05DACD66FEFE0795F89A8B5D50E6BE223700D7A99059F30436C7DD7FB4
-B51DAC6A96C2DE44E3A52005EFEADDC2A3241AE5E654D202E5F7DB699550C15A
-63B72F971F8D27433A150559558D900875AAA739826B46B6DDDE79ACFA06B03A
-B0D724D8CEFDAF097F3DB44708328EE3A013E7B69EEB75E678785B4B18C19A64
-1780F930A57C9D354D0D357642BCC3D1E9769919675F956D64649AB0E702F4C1
-484B40933625D19098860D2BEE441F81175BC89B5E6FACEBE068283222591A32
-C276A7F799DFE539D9368F897B2CAA71138244A1233AD747F80AF7ADAC2C5D2D
-03257A9D3C61D1B50C6B78B859B6B06C39E0DB84EC08B14600E73CA9BEA23040
-766AD0A9E7E538069EF555FA11950E0F9B441CFD8A972DFCC674052D3E2D21A6
-A554010FA65520D22F15E30CFB87292AB254DB9F2536FBE8C15DF23C9E7AE638
-C71868E50DC447F952EE509D17FFD4B3F911C4DC42937889DD78EC13697494A6
-D2D809E113D1094462C71372437C53DBCBF8529212FA3F4AAEFDD5BD893C3F2E
-2CA9778D58B4F13093A581DC12D94A1A7D4A9C0FA544A40A5D783FF8CFA5505F
-456AF7F6754AD45E671A61EFCF329662FE117873741C6C1E838017B5DE1BE323
-6820548623452ECD301FA8D88BA0BF7478596CC082C314354BBAE9C8BBD3971F
-6A88297E46DDD4D20B4DC7CFD9BB555E900A76BD1B8847E72B8D1DA2D3FCA282
-1A3E905F9041B056B0ED0B1CB77C4E004794AA896D3AB654DECA7832CC19D3AD
-5E7FF8F07E3AE6607D6AE0A5A3B348A6C407D86338E23564C1398138758B293C
-0621C2CCE84D0932EB2208A91DB5875AC5D62061D90569222DF9FC13093E9DA1
-1B74BE5195D901FB002CF065442B8B8348F8B156CDBB437439614656D8A6833A
-CF3735B3935B5052D2A370820E1D528AF5151F24739B63B723026340C1F1AFEB
-2C03FC48FAB55307C0A23BCF4942A904AED27C76B77AFF3040A2178D273E2630
-A3E2BB41001638C4851DF7C0B1AF21374EE89DB807660297550147477589971A
-D9A473BA3FCD3D1674798A01F9A13521DFDE7B4034D626F72DD9BC980D6C120A
-09929148132E8321D9BC9F03C68630ED09587053A0FBC676BDA18662A17EDB53
-81D488487FC409367C5605CE746604959FDBFF5B1582CC3F3B196179C58525C3
-18C0D7E11ADB5C648FE97413D93E04B235B3BA867E8AD677307050266C631EC9
-F20C017979A821552E66E3A7C773BC08B163F5AF0D737D475BBF964722E23967
-E71C78FB525E8C4EBD2B625B46F253DE02BF051BA5231D26B8B611E5D2877C01
-092A277340C7D0E95BF9AE7D91D88B0E8124822028020B43DA5DE7B33AF27AE3
-54EFFEC24DDF6B4EE8C7C1D5F8DCC1CD039E0478DC3A01B0611F17CDCA82D006
-9A5D2CEC07F4A11175D35F56C352D0849E894A9FC2F9917847907578013C5A58
-84F9A619C890F57737D0A0D4DC86B75179333BD611B2CC4D6CDC6CAE5B828762
-1C9BAA95C907E43385200809B68942A51D5FE0FCCF4B995D0367114D29264B83
-FE796E3E84200C0D28704D76176E6451D8C670ECC490C79B4E64E54C7C59B33C
-B176B6EF9493CF52FF0BD30E7FE9CF302D92AE8296309D7C346ABC288859C426
-98CB7C7C58A749CDBE1FE05162F8F541A809B9E25EF88343C21863ECE4693159
-7588E877D3E894CE09D9C778826CCEB13BC0DAC6845A69BFC85A797ED310E38A
-72AB793F2A3D2659F9E59E0DCF22941C523395BE5BE1910ED21ECD41842474B2
-27CD8F75B96B7B7043A7C9211DDF93645DCB3407373834991D8965D1CDBB713A
-AC49F848F73983602751D26899A9BE1905FF301F9A6ED6B207CE20B7090117B6
-CA3FC46A68FA01650631C51BD8AF3B97139042F0CDCED3806EBF10D344B470FD
-9B35779428DA32F1A9F60CFBE25BA691BAD490037DFB2C5B956E062A6EB8C553
-9700EAE90B5BDA9253BE72BB533941EE87536A1B6A36702156C5E90AED008813
-9E79CB6E161213562F9EA3ACF12DFA21BF9336DAFB1E90FE081239FD7760F6D7
-A84F956804A5A5CAD5D501B97EE758B9EC165F05E0C36BF03552620624C9050C
-83AE829DA19BCB7FE78567AB3BBE4C770D01825B465D8342580F5EA809325734
-C533E0F2A99C696CD0CD84F2CA151548F3AABA509199B2106EBED08A2E79EBC1
-64F0A3D77BDC53C1040561D9F559F473496DE62B8D4063872D504C3837856FD4
-F451AF7F1EE600FD66C01C9CA63793EBC8FAD595AF1724CE7BD006A72B0CF192
-9A023CCA62CC519667F2E278442F4185E57580B761C8325FCCFB6E094F34F4DE
-1644B24B578771E37141A1598E63E9EBD0AF4CAD443AE2DCED1E564038FB6DC3
-57F71BC6EC0C092F0F91969572E80335A2D394727705AA951716CF3EBD26823A
-003A29935B93D170FEE1DDBBCC081A5E8090B0CC75D2AF60FD4E6EB63A153416
-B25142B594B7658EC4A1D0B61BA8022BE9E9E258E6EB8B83CBFF6BB502274749
-2815AADB342CFF901D0A2AE84BA1D23AF749C4DA07BFD6D8CD03C275F095251A
-81AB02B2C4AFFAAC3F2C03A2960B80F3346374DD2D2D2B21D13A7847D8BB1AFD
-8CC5AA5C1634FB8C705D42842E6BD7434CE6590748701A3AB9E17175C8EA34E6
-7CEA5181DB26BB36370BB7B1D4425DB57010BFBC92A50ABA6B151584DB25E49E
-3C6B12540062CE28488CEE407321EAE10C45F01DA476D28F18F70CD030FF3605
-8DCB10CD81E0D20F13EAC320F8B677A96A5A21965D1122E29795C983F2624D42
-52C6D1EC1A3D45A55FEAD0A8840FAEC2
+8F51A5BC97F6B15807F95CA9DC14C0F5FF3AF1881346AF82F65F0C9AC200DD03
+CD20E0C06E8AA4FA8B225DAA01BF6F07ED8B9C9577F5A565755A71A40D2A453B
+AEAAB4599F617CFEB0B809856CE021E25399D38570ACF8354798FDC2DA24F0A9
+3AE098F5EB8C400569A5D4178354CCE780B8CDCA570E6051F21ADDAFFE775A26
+F9222A6DEE1BB669795728FE4DC07114AB6A8067C56D909BAB80358F39B257C5
+779834A4261613C8F2EFD82F20C9AE15E072BD78D60D77EAB14430DC51BCAC86
+DD91D1654E340719EF37A8B7C6AC8471C16680FB0FB7ABCAA8555A292AEAD439
+4C6BA6BAFB0B19F9DE59745E45D0B67C1D4DE80CFEA538A2551037E0CE7E8D57
+C10AF598A2E9F8A5F67D793D2A228E7A1ACAFDC75420318FEA23286A45CE9C45
+EA34C3E15634BE1FAA50EABD04E94F6D47CA2B78F2B129C94579D24946A8BF07
+8E870456AD04FB3D0549B59D1CABEE60F9759BA2BC06E068D2DEDDEFD8B2788E
+92CBF4B44E04781BC17A58A0A3BA1CFC463145593170F06FB4DDB90460256DBE
+572A290F44973D09EABC8D7665E1D18E1B8F5EE44985B498B6E662B87DD610ED
+CBFDFFD33F0A0C95765E24A7D071269FF7FA2D47942FBAEAAE065B7DF4A9EAC1
+FD58D7C302F9D15A2ED0969168E2FC4A021C521FC7D9C53ED3DC1A0F9AC63862
+AB2396C14CF8552EB0A8C067AB163FE0DA20E3AE1C7881AD6DB0E1D615F7F2EC
+1184C69A430487B861F5CBC52F27C53E1588AAD6FD43CE2C0EA490B257C4A36E
+06E21AA6EAB94938E002FA80E1B1295C1322A207C5A87EC49669AA2FF054BB4B
+B64B622FEAEE05CC84835178C4DA9DAD113D5C6BA75830CFCAA2077A071069A5
+258AC7E801FEA6778FB7EA7507470AD0AB6BB49210858477F53A831F9CE5CEF8
+B519C07786D0551A22E3EEB5230098FB06B390FAB4C73F0D3D03EB4890C03329
+5A0B9C67F1E16B0E1A9D4389DE67F6A950F322ADA03433E71E1DD8D4E416D9E8
+CC55EFAAE6C94CCF24980BAE71CE23916DDB17DE1E412CA5CFED25AC13109246
+A26A8F568DDC73538ECDD2BB41B9B5B020F0F1D36C8F414C24566F8F9E1352F3
+38A5D47FF00D91F43069137BAA659301C2A1EBA1AC6623DA8773643A29E498E2
+33C33DA49C290B5719BAA7E9CD8D00C803624BE63EB0100D6D093E3A1A86D653
+A3CAE4459EC25EE9D59D4AFF27CD3FE4BE831C0C31EAF27F364247114E896CD1
+6395D9516ECF3DA7D9A6B4F36245021C9CD6C332182441B79365164B1E40C5DB
+9E4B5A69DB4AD7D79979E6013435C7D70BB7E910B75F28449CFAD0443645DF30
+5AE363FD581271F587E53FA6DB88B28FE6B80F8A5CD58BE57B6B386896BF7A4A
+D1A36057CB2CC346697B21A5CAAE37A68E62BA46568F0CEC8EABCA7D1A08E7FC
+72622305F10E7BECD696DB80A170CB09BC5E27BE68733943C72A163C88485457
+D47FEA6B5D20982E5713DB5C4E499DE5DE8C2090F3006242516349955D8D7857
+0DB51BFFF42BCB28DDBEA8C2AB5431DCD10DDF05F0B59D00F65BECAD61ACCE82
+1454C36AFF83685C530C8E3A5016665E2A50287558A44E43BE485C96E3DC24E1
+8B291399BD9C9D105377497D085FE5F9037B984104E915DB9E76DDA3BD5A83CC
+ECB3DB2A2E14B90760C207F2D53D9389EA03AC1F5A6AC61E1F538DAB42800822
+BBB425E322947A26F51B3E81D2B3D0CF214D2410BE2B0F12CD978C1943A025E9
+C9E5B403936A6B7928966EEE19504D9F7994861A4A73BB3A63719DE764BE9182
+494E70BFAAC3C26CF422727BA3A2660F1B2394CD361886FDB734AA49614F4C61
+565831EA21D56CCFF58F29F2EBDB513E9D3601F405B94FC7F5FCBA22CC3E47B6
+5F71C0768FA87DA0BA8F5390C0EBB0EF2242FC8FA3AC0C3108F6772237BFEFD8
+61F3DBAB78F70D8801A2F4C615D86D011537BCB2B5ADF4A13EDF0C8BFBBBCA0C
+2C0A139999ADE8FD695D2954C79A86D885E70CD72EAEF05430AEF1A15C9F1771
+F10BC3B8C9EF931147E5EDD3EB5C8F459077AA3407829FA8092F61A909A6B67F
+B6AFC3F35F065420DD6CE2E0FE0227B06A203F334EB8B7EE4C6F27C394B86EE5
+75D6200E98B1F37F1A977B8E92BDF6C4532879A6EC1D68BE998EF2B57C50F06E
+5F30DCFAB85B51ACD1B127161A73E0BD1DA354F3025B3F92C054031D03ACF16A
+158B45606BE9E306B633061654527B904E99D6D8FC61D7D1CC69D18D94D977D4
+402BAE1BC49DD45F8772709A4F148476F9302E38BBF6F6843FC56CDFCF7F74F9
+983100F8FF980CA805AC80511BDEDA1138F12733EF1FCB50D0F60EC06D6BE1B0
+9F908DDB1278340BC780A31752A809A0B6651C5B3E5E0F2017F092849B1162BF
+2188145EEDDCD96CDF5C00AC05385492038EB2F10358D853509706635412F19B
+DA6041053C8F41970BCEDF162C1347DEDE920819734B47FD99CD38E1BEF7A7E8
+8150B295BA78BB5EEB055571F49B848E5A85175DD39DDA6364B7BD0C9C3FC42D
+EFB45AC4E52351213740B3CE676A43DBFD4D04B1691D5EEAC147DA471A3D7A00
+93CC624819D3BE17DE9D8F07FAEE4F54EDCDEB4134D9F39C3BC33857BC8A08BD
+82E23B5564415A3410CDF25ED8C3D443A0F5A9CCE3D75C5AD55DD3DD28EEC633
+82882118F09251A0DCC8349AFCA61603ABC621894DA5C1BF308399A9CCB8283B
+6F54E096CE3F2D3C11373E5356570403B418B84B06FBEE27B63D8B678FA39186
+81605E6B09B02037FC124776DAD7AE3EDF993C064EAC0DD678E13D8D78F74DC5
+22BDD780DDE77AEF1C2E2CD2239EBA6A9E8E9AF9F4F4605ABDCF22902055AB90
+3C5CECEE9B92B52EDAD5D29C3FA6964A7A7A2EECD8F9EAE1CC81D9825E8411DF
+058A838F2C335860FB3B063C824FD45825ED5481B9320FF99B60F17ED8A1C1CB
+A7E12EEF35A40266C7DE2E1DEC31AADE7626C5FC57DF545933F602F283A27D9F
+0E2C77A1BD5394944566497E01CACAF62542EC93D16CD80D4647435B6C905A31
+B94C5CC9F43D6492BB70A5E8867C7B0F58D75240B496DEBFA6DB94D8CA775A7E
+53237BB081D1A189124E6880B6D964867804BA33E0BFA961A562836F7FA1E98F
+EE78ACCF16B330473D69D52D011AB174EB440746ABAC7DD7D9AABA70ED2891D2
+47E2AB24669280D11FD453BBE591642A3FCE09EBCAF62F8E27FF0782216E6E87
+AFC464F2316DDBFF0B6736D42577AD10754C6936B6EAFB18AB6AA3AFB316B179
+B19A0561A157E90035FD26B8FDC72C2892C94957D3257C38F8B1BF14CC7C6AEB
+6FA1C4AC6F22C627BDB1CE6AC63D656D5E7410F7E516813CA3BC9EF02EE8ED4F
+B02D57B303875A7F3E1B8176892C2149C39060E2AAB5C4DEEE429B7AE36CCF51
+997C547147B3CB8DAF1E8C8B160F00A869E5FE90F8302E081307F4C92EE0B374
+EFD848E3F943E04245B6393060B126C7E2A2728F9878D7CCE3DA74525AF11C66
+3BBA0749AEEFD5B190A4A0A729784D15665A8150FDE7A8EA5CC4CF0092B2AB09
+CF8659711E84D057DEFFF2696BBB20E16D9E4B1D4D4EAF69F3BF07644B90C94F
+D11E9CF3E66CD3368E808DF69DEB6C6A3233A88D558BE5037ED5B42EDA0070DA
+3D29F04CBFF58BE922CF4C8F9688A20EA7CB644B080D2C01A2715A69D3D8B7D9
+5C0914DD83C9490E465DF0EF013B6473BC28E937C6E13A2F08CCC8B6F35544F5
+9F79AA89481CD0AAD87C6CA2391BB69A39B090208EFE1A0FF5BEC74923193F6E
+B2AED1DCDF644351089CD7460AC4987789B2D92D851E3F58B41BFD281D717863
+5CEC8AEA5CB14F52F6EA6F5156F08A1CED2312CDBD2B18BF01FE503AB86DA440
+F892BAF54438A5FA847DC0FC7121F2EB829DD00D2DF2BE54EDCC42187840D8B4
+1CE8DF33B574EF36701E2873D5824C37C6BD7DA4AC7BE64D12A21FF2A23CB9B4
+1C6FFA7D8B927745000345B5AAC5825D89E617FFC97B6C7FDE0509DE3FC6F2E2
+1508278734B33F4550D4F565B0A23C2615B49BD17B6741E086DFD50E1E6CE979
+558741605E2A314C325BC4216C2F0F809F492B1898431AC7AB4579E76A3A0F63
+E8CADD4AED7CC6C56AA12867A43CB25187686ADBD4591DD35638F5C79C961085
+BBCF38D48E756C295A0FA4E59BC1CFAEE016686A8F91CC56E37E4A8312F39837
+09A926B3713EBCCD1D82DF9DFF36C0C024975F531B42E7F61D830E2FB51BAE2D
+9A05BE87E8F052E748F8B4201C8869A64BBBD42CA4974E230E59CE541EC0C743
+7292203798D2E11AEF67156FEA12C22964785FEB4CFF473A710A5D7F97A07A40
+D5E9A182D7A96A083823DBF8B1726E8B71F0D751D506DFBC20EDD53A0368D098
+59453D360568B76B5168254027AB71D2480C63D486E855050B1F480BEDE9B4E8
+3379C0B539E33AF2E286C2A02A5D73148114F88898D7C01F408844CA50574D1D
+2B513E63ED04011F179512384C647100C1870937BBA5F404E80B6C8BBA52F6FB
+DAD5343B530919E5AE54E0C859591769580B82911BDF290777B825E417D4EFB2
+FA60EED5786B27E3109CBCCE391B855ED46262FC16A663E63E9A19CAA6C6F58A
+72AECBF5234E25B5C49D143F1084F0B571BB424A1952AB4B26366ACF83A29BEF
+75D9307731FCD44EEF157A59117360402DC446F9B58388AD66AD88B8C82631FE
+31E99E3158C25D152EF626EE76B2AAFECA33CC0B9A571C7253D3AB32DCCC1A2C
+11DED910482250F8A84E0C55FB76264A1C4F434CDD85A347B1DF702C8347CF3C
+5461B2F76AE34887964985AEAC9B7ACF13700B60B7C1446ECA269B2E5146AA31
+0F0556C5435B68B92274A4E5B554B0B7A163E15F8D4A0391F1389C3D7BAC8EC7
+A1AEE0C8C79ECD8F6C2A6011BB0FB966134FD1F75C32F515F63F6A5C15323304
+EB0F0C267F5FA8FF55D2E4D64F5184320756B78F8C043B10D267A548EB1E0CD8
+04E106687542C3231D1E8C157A9BBBB053ACA2FC0DE6413D52360CFF6ADA686B
+F2676FCD629ADFFFFE6F818EF61E5E90B2A077790B2B06E0BC1E0B9163982691
+2EC03BC185E8114DBB76298230FE8B82BFB09FE562A0D96C696784D365CAECE3
+A89A1643257B0298449320C35F91980B364D7E589DD82D69C8379B33CEEF951E
+851250D66FFA0F664D6C2A8F61F2C97E925A46547FB698321FC84CD623CC7C94
+223D2B874D39A65264E9B45EE4646BB830F2F62F8B7F391BF70CC3A9C099B7C2
+559F46ADB70B967DBA1B74300C79738BCEE6FCB3C6D9BE839A22D8C7F4930376
+82D2CA6DA3AA63ADAE47FEF0F0812A6E8D6CE62C60181E71DDA511DF008C38B7
+6741FE1D1FDB1244D04809C4DAFACD75070C10CC0937B7FBA274F64252654907
+7BFCDCB0A8095D5BA8687C93BBD90B2AA3085C047DCB8A095640310E0ED49B31
+93DD65DB30F49E3CC07AF9FD1A6EFC7D5DEE306121CF7442C0ED5A1EB49DADBD
+5A0AE4F838C46C78DDE83BAD2AA31EE6E6DD7405970CF09FA9EB5DC00889EC81
+0E42612CD085D64C74C0784C04257F0E708DD74A8D8C06F8845C2B2966FA2358
+4D5DDD2157A00C184E11300D34097737B1CB714CC71070FB05F7385CCABFECDD
+A035DBF8F2FD9B67F7402BA8F589A5AD61A5476178B404188FB908D591E4948B
+FD39377D0AEF18B82D001514B03A123F7FDD63812FD45D62EC971E93EFE90BD3
+9496C49174F0EF0F513C2BA16F6A6507968C5199519BA9D713DEE4D0C2D427C4
+078F347B5120552E2556A42E0FC37BFC7FE8181F17A01B449CF71E093695BFA2
+D53857C0E3DB972244943B67A07D5AF4FE7F6E04C8033EBD20EB55C38AFF58B0
+D04FF4AC82937A650818A480F2A40ABC3F4A26B7F4C17CDF1A7B056EA67E0D29
+01BDBF1DE76DD59523DDFBF39774AD9E4A04CFF23CE673197C6A17015449D65C
+45C56079351A5A16ED030E96D24A755B2C14B6B925D8C30A16B77981B92D2171
+1E77C0C11DBF9ADEFFA03178411F841A109EC7DC45C4C8E133725B7ADF0DA136
+4A46840677A020BE6897A9FD9AB322F27AD0B55B5500D2B48B71D4AAEFB10774
+8553F99DFCB01FC07508200B9367E6C8145D7F1248335E90D32D9E528C4B955E
+B8DEA684A010BF454070B7DAA128C0BDF6AD29810C4CCE310A30080AD36E7799
+9FD52B074E044EE02FA248087EF3D690FD6DA1AB501CCA44D132049479919EC1
+9401487835D2CAF0A89FDFFF635EFA444E8098D4CE6E2C892482F45D002C28EA
+8879170E7A34FD6AEFF140B1EA77C009F30E60B2857609EF8345A0F20F8085AD
+5E78AF3F6EE20F363468B49FC735FF32AC6382F638006B83FC283AB7ECEB0DC7
+0B67505FD5F97105EA4BA11B18AECCA6E5D7EA36C538401F16832183A17BCAF6
+BFB047542E014E2941BE29F8747E6DD07AB13B374AFA63ECA73D4134FD950C03
+DA939E892C35543DB6AE960A18D57490686E0F758061AEE74D40BBEAC328A905
+7A29FEB1EB40ECF45593C6B2829445541DB58D0E8697CCA09C47D6C86B730015
+8E920228398E492FF70A3DB13248033A61DB5542B8327797951A89317C96E68A
+5EF8784D8848222DEF31FE30A9F9E4C12D42D0DE930898DC4446509988E39196
+792F97BFC9A60C717D78D8901C5190899165A1389835DE21EA49EE01B584787B
+8849FDF0146111811047FBC3ABFFE2307E16518093AADA08DF73FDE6227D2BE0
+5DF2071FAB4F7E825B563B3059F8615DA305F51AA2B9906F1516040BD883DEE3
+922D1D905EC34D3F0400CE2492E93BDFEDD8F3230838EB248C0CEFB5ECF929DF
+D707A953953722436BEA6F5DA51A56F7668CD083E9CD7FCC8B736EF8B08442C8
+AC1AFF6DA974FE5E50D1694B3D07B2E47C0238801E7528C04C967023698E5B1B
+23DB992777B22E7448697F2B78A20B98B78A79635104930A408C18C7E6B1577F
+425F2073EE5E17A8998A38DEA4BB12834B6E842835BC711BBBB04B371CC8E532
+2490A6431876346A3A263683C153D77A5BB9B32E3D91B952172DD05C38F72F3F
+A5140DF292545E31C25B27E2791205641375EC542589D61290504CD73B560B2B
+0C2A8AE31CAACCE8BAED61AC04652F2E0977BE269D860034C429B0164585B658
+29EB62078B9B802B4E214FBE0198A76F5C9CDF072D3C3675583E44130306B5D7
+7D2F147BA926C70749525B60374CF6763E273F30F2532469BF6A7A3965E26046
+EA9E93F7D393F8EC2C021987D33A9AB30930764D1534AF53E361EA65B2B64B9B
+4E93768EA25ABF534761CF567552B0B6D52C8C53BCF5E3414A0B653FF21C8F65
+2C6132916466A286C7E498A2897C237AD5568FEBA57B72C7A87A416035CC03BC
+D1EB9DACE25516AFB3A6B6CAE2C70665002FE2DF14C2850662E43C5F05252031
+BBD84960EE0A86C8410082F441B8B594E001133C4D9DFAD9B4F38BC878C29AEC
+5EDDAA290F7FD74C9228995E107A975C70A7A37EF8E01856E978F284F1BB1453
+A44320130DAF09D7064D9867D27A55E3425F5D25B99F553C9202EE42FE8D3AD2
+6C1D34416C520E0483CC2B87ED9D9F39E563A9A0DC421C04B3B9CA8582DADC5D
+323DBCAA108F28E8F11DDB3D0F0B10D4A62C93FF9E2CED79214641160DFE8447
+93ACC0D72E8D30DFA0E368DE8E56C566D7E15E559C409EA8D913BBB18E4BBA89
+3246FD9DAACAC4C5DA87EF5B9A91D10F10D7252F7531FCBC343ECD3D2B674982
+8F0BE87B3E1CA86112FF617A8E63BA92175913CC403038265C5E35621001B6AF
+EBA934372CB68E99920797A6B154557FAA7C3C696A15EC66348E209BDF87943C
+A9F4281847F5C3C8F340C80240F1A93916880670C350B3A9E651EBA7E62F5D50
+9BE78BCDE8E0599FCB7FD9874E87E957D1117CEEC67A63B8862278E015856F2C
+E31898E7FA1436AF76FF20AF5A7E5BBAB5C23E8C0E66C975A290AB6EECC07F04
+C8A37224EBA5D046C7746168EC081B93E0EED2DA80D9754050617DA4CBD3D5AB
+C9C57C0FA2767E7FD633288652C3C4A2C8095D9E8E2A18C887B4D765B2578215
+64EE4227B2A8B3990DE2E0A4361E0C05B145837D58C4BA15CBAB0E79221759F4
+F17BB5097988872A957479DE4734BE905DDE5B8DB9A31FB9C235114974520D2C
+CB6D6284C199A880217364EDEB160F5FB7FC762819E4509FD20E27A5F865EECD
+B893551A9ED16D5E809B49B9AC67763CB67F877EC21D8E2B8A0D06E9936E84B3
+A6181D5831D67A8F2A466A71F5A4DCEF0DD7387CD5B248F2D5981A9F63D8A260
+88B568E1773B13256E440FACF2DE1041CB99397F8B4CDC8CC87447FA6FA0D670
+5B99D0BC94ECB1AD7BAB0DCC66D278E256CC3689DD3B2F036A6A3DCC8FA77FCB
+0A88AB3A3D50C245AAE20ACCEE7ADCD9FC5C9FD53B405F0FAB220385F7D92011
+E527BC0789261AAE6197377DC5BBC9F5BAE3683700F85C63C0DC59B02BF8B65A
+800DE3BB27A3E75A87F6A550C787F67B1430369268BB61CF5FA66D8F5221543F
+2CEE65CAC0BC2996F73B71783E5BB43B030C90A5FB13CD66BC659A3AC2E897C4
+500CA657F16F70759F0DA8D712F4E94BAFD3DBA866DFA8D7310A44F240522200
+C8F14C7CBF9BBC33276B623C746F7D0A4D76AB13E39DA19E1308EED0A388A23F
+D9336D3532151A416C720052128793385DF6B68D3BDDAADF8F7FFB53260B81DB
+321B33EB566593E390158B80DC631545A66C3CC2BDDB61446A6298D884389303
+E2E55D64F430F35271060417EA4350B783041A7607D44DA3452D304797C03864
+DE4CA134F33471E959A74DE4A8403BD5A1A381BE22221ADF76F0B71F29C7DE1C
+9FD94E0F158182F6DE7689A96C555D2D9F1FF664111F56B147B650BCA6FA1FAD
+9ECA4488EA201C8BB72F63BDDFBE7239F13C46C492F320B4F06F34A668F657C5
+CDD4FC447C67E1BAC54C99666DAA9E96ABC836BDF0980239245D48227C14E811
+FEA8C345C2BEE84300C746016F98893E12D296C64C2119208E4C203A8EABDFB6
+699EC1F750DB57FCBC535E0929123F36A0113E6CDAC09149CE5865B9B1DAB041
+A74C6EB8EF0E8FDD6DED8C67B849324EAB11FA732BA2EF27E11190027F657912
+31A49FDF69D97032A07C66B79FE3F39594FD7DD3BB4570A90747E908D0121A05
+27D12831D23C466F31E31C5B3CC636880DEB158BB4A2AC34114299987E9F8F53
+B0A28EEFC3A259F49CBAD20BD7BB4ACB07726033CB8ADF88E7FE0A0DBFDB10B6
+21669AE4942A298072C72522D34E16987ABB7FF0236EF31B00EF6094024AED38
+CF83EA391CA265E5C6B8B63CE728CBF008756D4F1CF35E0E39B7B17A0608FC37
+78CB7864BA7EE90401AC2CDBFE9AAE8E3F726B41DA0BBFD7E503BC01ECDDE23D
+15A1954FCAE479BC85DF88D0044F2403A75F26276D16F8F125BBA3D166DAE700
+8F0C3A51CDB950B603FC44DCEE18028B36282DA5D7C4CC9C79EF2C879A86A1AF
+467CAA95AF247AC7EC18B7282E5A9863473871C679368C9438FE626962BA0D02
+AB329F7F03BA30FBC62A855DCEC3C4099A003F8D6F6FC94D5B7FF9DA05331BE9
+21B06F9CD00C1E2C5F694307ED8D81D474E70BDED837C8973AF6405115C85E57
+7D64640D85C0FA0FED12BDC55DCA2285DF9DA4F9E48361C00AF5F61C57E4E1C9
+60FC8DEA6C2EFF9654CD220D626CBE75E183368BB8B093FC64BF13B90F935756
+F87FC508F719472F96A7E9732C2B8100354A59C88BD82BD12E485EA7680EC9A7
+FFE0A6636C8D0A423D0432561649BA335E8BACBC5126BB4F796EFCE6DF8B00F7
+01DB1C7FB57D15AFC69470774A735CFD876711AE3AF1EF970A1FE154927A0A00
+A68D4CA6899CE12A1A26CF5393446B436F40D5A47238C053F3248C5929C2B5FA
+EA441400AD4B928537A636AB45FEE4F298DCEA28FD29641C41E51926C2FA4F12
+BB1187C4F050FCD171A9EF0954EEADFD2807956D09CD6EE2A4F4B88B54F3BF6E
+653A02FCC95A3BDCE0A0FD9F3F6E74222A52E2D424857E9A4973104842E1C308
+215467C9F5F9943126BA74589C900B74CD8FCBE53DD73FC9063A5B4BFB708DD5
+B8E30211679F57FBC99D651918A04071C6163EC8205AA0BF84BAF8CE8B05193E
+DC677B30A87722E97F961F3F7024FDD5E0A54A30855E8B7A27715DD055F396F4
+E3DA37B23D51C0430D159EAE4116ADEAE6CCC19669593DB3EAFA37E960D63B0D
+34E00C124CA2A621A4D13E2EECE188BD060714E0A5D38EDB57D0FE37E01A3166
+9DAE1B44103702832F003CDC90632C47720FB444223824A893172441238C11DA
+87D57D945EFE864C0FAF9DB4019041D5BCA4B7CABAEE9264F7D0664089252A10
+142B31D8ACEB1D9C8A46A1EAD878C189BC82179911717C4D6DE3A4DDDB117D94
+851A5F735F8F64F6343B92C0C697963DEDC4FECF1D6ABC5276D6156A40C4E53C
+93559EC3E3518A3CFAA0E4F1B296E9CDCCE30FF6D429A927F85980F3A424A719
+050EE1E6DDAA47E6705E996A65E1F805333B9728F4E9E7C8B3B3E29AA68D95C9
+124F5036334D202E1E4A520F47FAEA47FD2AA761E99029365E00447F13FAD190
+DEC04F8356327345FDEB37C79E467BFF87218A40217598D40965C5E06ED0F93D
+AA40CC9445A2649F9D6D8C90FAEA395733E71F8ADE555E2166892B3FCF84C749
+268430344C7E70ED90C9858A74428382BE6E04D39174C1A52FD6727CCEDF3FA4
+55083E08ACE62339128CB8687F00C8DEAD4B7C7F2176154C5A2D2A854B72E3FC
+9EA3320B701637A137EBC3C819CB06F372B543C0E929BFF3383DF0C4B093589A
+40417511C97C3CAB64C88C26743683534320F8CD312E9B48E5683E4E05FC1A22
+7CA3CF17F181D1B581FBAD827964CE1F911F6C48CD868A9F6F1250215C1BE545
+48F29F82CF164AC3376AC9CE8485D2DEE18D515F12726E501AB86E2A904AC445
+5B3859CE24028493A520F8118834427341C7167FDC4731449E9080400929C0E0
+97328ACBC1CAED6C5042AC37E84F5A122DBBF261049BE6D7AB0E688CFA9E457D
+DCB4004DE6E5EF19D57409062F918C6FB0F09B434F30C8E609A11071BCB2B5DA
+A22F9AEA81C48989A244E8BE97BA8CF9A09E9611D47A9F77948B3FF43CE6F378
+71BB181A69867B6E6E01725992C9DD2FA6EE02107375D0C5876FCE49A3E1F3B1
+6A15DFF1BF3DB92ED9162BD4A36AEB4F3FF40E7E71B2B81FC4E372C941243F90
+C959651A8F98C0441B854097EFA8D66FC76FFD29CE9E786AFA3AF08B5C83660D
+7FE132D95866BEEE0E475F04367343112880F80DF8532D14D8EE4991858B0CFC
+2974C53D70C60BA9C6707307699397C30EE5044208F391809C2B7884D74C77EE
+52A34E2D9EBED8C9AD77F8EAF56676AF405E9A162D5970AD68959AA0C01AFDB2
+AF2E7641A58B894E5EE279E723C7BEC3ABD82D5C1BA27F68394652E942E47061
+C2C8B460209A3D141F23E97AEB68872AA946B5D8C65FBB792A8F9A456B755A95
+18434B1A9CD425243A2056307B26386E64BDA30500018C74B38D9CC6BFC7D87E
+52BAEF36B97B8C41FA46F38B4D37813EE37584E5B36FE9DDBECC8C6BF6646194
+59BF4AB637100456713A84BD505FBE9833956C028AD7C521E8C5BDA9E7088760
+1DEB596FFB35100C01D7EB2660A048F2F6AF924CA0A7C1FEE2987A590D9D5C11
+B0F7B5DECD35F54B4CCFCC7BF8370B7A3184A91ED8B963CF9D180CBC7BD83339
+66866C3B335DFDAB771A7C476650F6AA7925E12B2223EA09E7D2BF80E584298E
+3B114466520D713D3D14D73CCE9BF05DB6870D48564C12CAED2A003BCD295E3B
+0872B5FF1896822188C70CD5D25A039C49D49453AD7D379EA749A3FD3B119D1C
+68E98559EEACF0E6BE1DA9D4BEA3A827BCD4BC75AE6013EF1402F744624FFC00
+C17DD16B4E1C44B8B0FA8791FBAA3C3B6E60561523BBF45357BE6A550302D720
+11DDC010C02178E35528C3D6A40078C6ED2E0AE8F1E9C14D9769C3BE991FBC2C
+3F615E83420B9CF206A6B3C9DC5415BDE571BC3B9444BFD5269092D0EC2791C1
+2FCFDE8CACBC5729582143F36DA9CE6D36C5C66854FCE9C29F3189AEB11694B8
+08873FE32E8292FD57B9CE6E4F6B1DC76FEA98EFEBFCED91001B7FC2A78211B1
+F30DD80DF6F6973211A5D76E000D4F73DD012C62E760732C8D2A94FE6404165A
+513EAAE7958D8E80D47F8E4CCAA1C8822944ED82CDDF945E3C990F075CD530D2
+45E0143743A9310C6E493C5E8D4C6D2672C1834AAF7D570C53347AAB358B217A
+65C336328D667D6CEA6BB97EE648EDD4AB856BF8736E036B559A2BB0D476CF60
+F559841C95C1D8DC962F85E63B2C19D55B106D93B896D87D10B1AA94E36433F7
+17EFB0655E5119BA27D08E75DB75DC2895E922EA7463EE9D5FD7E2DA9B0D10D1
+9F31FF30539C079965DA102B2B61E026BF4F425AF25203F62C6606C904C35A3A
+F766B098EED1991E893128512DF0F35E2C0C196601889B6380CAC542BDAFEC17
+11C265A9C773BD7AFF7483FFACDCEA528E66DEB207D5AD57DB3D2CB955A14B1C
+75190E70CE5B650B021757BC64C5D45FA12239041ED5374147540F7E1E06ACCA
+B06DE83B2FF3CAEA93CBC27D37AFDC748881BEDC30BE2118F542ABC14C6F58F0
+A9D6E9FE325657A14462B4D67BF2EB05E5458B120821A75EA86D102DDB92E9CC
+9DF84F5905A7A3A011C8A7A62F556BB2712AE28CE5AA49295717B08727FC6BA8
+E06C6ABAD51FA0AD08E1821C547C599B4134D6DA36E10A6679425C2E6C56BB5C
+CD56CF0CF5069400F9396411AE4F4BF55988646FDFF2290935252C290153044C
+E30C6FFE0A623A697A5EA25C34FBEE0A9D429B88D1512C21E55CFC5715F76027
+1F863D57EA37AD55F910E131A7A7F7C52F4CCAE4434F300461F77305EAEDE26E
+A782B9FE2D4DADF5044F4B912B09B0AF19EDD486C433D682914650AA408C965F
+2CE16EA10005C4F63E23C5E26939C04FBE91C6C021989AB11BC1E9BAEC5ED9A2
+43F8A29BEC53480EE5841392FC2A89CB596589BE8F2F63A56B17B053C2189EDB
+1372F17B54C2CED7D1701AB04395AF3B36DA19D6B2316ADC443E068CEF52477B
+369B931C69579CCF750BB165D6BEF4205CAA35014EA9A678E4891AC0B9B28110
+D9436F71FFD26EB44053A0DC8A846CC31F1B42096CFD3CD3EF42628517FCAFF7
+FC7B26526B9CADEB536A0B583988637177F5A38370643DC4902AD7C65389676B
+2AC2E025A6BDFE6728151DD4C639847C47F00281B382CFBB9FD0833315A7B381
+03327EE5C2E7B4E107EF3685481B63676B0081BE25A5366BD5BC5E06CAC15A60
+25A2EBBB8C9FF37B73E75253EE0CECDDB404779EA69D2332EBFEE235808DE06D
+66BFE466BC0306A120701FE469606DC96BBB1549AD053D06840D530DC1928FB0
+2D8AFA1129EB725B62982248437715E44ED3C0BE04951EC65ACF23F433AF7067
+60FF11CC949E4B5E1F5C8143B8DACEBB520A490AE110F2E0148D10F2B7B9D7D8
+9B445CDCE2A80240DD31A57FBCBB1C99652E4CEEEFC56ED9A4A02A87BAF808D2
+F2F3413A885F57548170B80E001BA0BDC645F3D55BF251EAEB93141359C10BBF
+69FA01583A539E5A76D55EF88B9249487EEED62396103F854F573F91C04FC363
+B3AF64C1244BB7563E4E4837AADFB652BF189D3AC0A8454FA57CE6FF252EAED5
+E3EE3714BB613DD8BDC6128C13A0E8E0CCF2AEEF10063E32FAB2E54918FBEF3E
+1986208B7986F4084768DE289A4AF319C863FD5CF564A72EB7F437DB8DA6DA80
+D33DA28F7987F9C86547904B0F49F351D18F705C4A178B468ED43E179C43C276
+26E5054AA42CC7B5B00FC14C61C25B11A9D5A5DB3B1806F60248CBAEC06C068C
+ECC0AA85F07856F5F73C0AD13308E6FF55C6C7649B96FD3E4B291B9188ABF764
+34610CE0A73EFC9E52357A2BECB4E6ABCC3C5EF8B1350CE3B1907A104690C865
+4D6FB2A1293B00533867EECBF8B1831B753DDE5C683153533A89FC6E3FC0700B
+61CB7C10C37800B8DF5A40732F17322F4464E7057166C966F1BFDA555129648F
+CFD85AD185410961C086CD5B6FA08619FC943100369C186BA5F3E5D2D4B00CF7
+CE3D23D6166F5F2AA31B0B4CFE98CF190841F69AEFF503E7E49838E4BEB81E0E
+9DC3104632B0FB4A6A04D87D02E9C15AA4F046D39B670F5E37827EF6DA926CA2
+3686FC4E27F14D5755B9312D947096C5EB2F1277DB6E843A168261C4E36F36ED
+98B4825791F6335BB8397DB9B5A3C0561621CA93B143AC978B6549AAC5AA047D
+63F39B84E353120DB184F52CAA1E2CCE76F15AFC6CB7F3C507B2944B354E182B
+225E43C25A92C6396C9CDBDDC93E8F5FA2ECB9B9399CA05CA7CCBEC2A9CE968A
+D089CD94001FBD5F8B1E4060B6B55A7DCCF5B1972E3B532C98C555B000CD28AD
+D93033AAA45346EAD38E49B3CD0F272B5CC2609A26677761131815F64753C5A9
+CC335864E866D94ACFB45EFB67692F31C126B256B4112ABCE4C6EC415AE492AF
+B68C14AF756ACA050F179E2DC1144A744C12121F92E3985962791540BD21B304
+864BEE24C5DF20BE89A70E0D4B797338364993D66A1FE2232ADB3D1374111A63
+DCA4B98912B7E3A6E35A457185418835A5B9675C53752B8D5F53E9C01E0F6E77
+51A6350D29C04E22BA5897CCCB579DD5F90FC8482307030DBB6E8561BADFD1F1
+5FC063DEFE5178BCC1A5F4DE534704AE0E43BD1535A12CCDB14AA1D0C74B641D
+658DAACF0059A434EE6282078C1E80F85A34C3228F5F7FF83F89603613B84478
+EE02C184414F84FE7970785ECC2EDDCAAD88FF94E70D3DA9D4747F95080A3C1A
+2EEDFAF5D4ADE27B99436F2E22E18EC8D061E3DD90EC70948BD50D1EE2C8C4E3
+A0D988D36146419C05EDBA0DA61FC95218CFEED1FCBCC91F419FAE7B43D4077B
+44C025532B9AEF5C2D00F08FD4B0CC118222EA16039E16B2B21674F66AB6CD6F
+6E1F1F54DACC75DD1734EF3318D1364F840E10B44842EA2D710D2A36F3528458
+2C68D67B737B90617D3598125CC89EEC39851131EDD077DDFA9CFCD9DD7FBBF9
+DB8470B9E0DCAB56428F1508E3BDE08CB9F91630BE44D6729AB44D3F9CC25BD0
+5358EA6386EF07D8FAA843A187A9FDE319AE69E85801E6901D6CA87D8CFB171B
+FB248FF2EEF1C6AC56D9A36D648348385ADB4B8A7D614794D8F422972A9D4C80
+3F8E33F1B2FC23C480B27E3388B19FE3544AC9461525199447BE809A04714F7C
+F3E80752A16AFEB451720ED3F5DBDAAB5E4B118ACCA148ACB99AE24DC09523E0
+BFA40A88965E69C047E7F00C8A01A0588EB3B47E99293C9284599DBDD099D52A
+A0C2033D88BAE5984261681C024174906F98B99466F38D0DC29337F69B14D3F3
+50843FCBEEFD2BDB556068FD7FC654F087886E1CB17FA2279C3986A3966611C7
+DE7EC1CB51937AF2501369166E96A4DD0B124BEC75588C348B22DADE47B6BAD7
+D1F7C5AC2122B02CFD2218D962C305B2953F7B6D36E4316450A8DCE29866EDB8
+5D3B93CF031A439C48BC55A217BD7A6617E09F5677DC5986AECE3EF80FD633BF
+56D49E21D1E672027461FAD4858BAEAF550D408E71FB357886DCA559931B5149
+8CFFA9C48713600FF392D880B1002C70EA2085E64E217453F873BCC05E5F7CEE
+E5DE1C0ACC95275D4DD32E55147E507150FB2607DDB5E6D3A54F89B3CFB40232
+0D6F40457D714A60AF7DE113F9A0A2DD661FB351B58DF3B626754DCF3D51701F
+BF8B731A4A8F3A143F6782C5F0ACEF6F0774A7C07BC4554C28F2F2D080EC9183
+CD210B3E29032E28F01FA1C16832671DD1699DF342EF00452C34B2779BEC9124
+3C64C978950398237F1AA8D66A3A39A0D7088B271C054A9143D65ACDC3E1F0C7
+7E9F868F07083F55A6386337793D9E8EF88E6CB1FE850F0116B2E1088E1DF2C7
+4AC396C84CF0F35E635140E7A6A19E5E39902A2B52499071247BC39266519B64
+52F027A9EF68DA6F805C47C5B6ECC0A9ED5DB79CB1901AF8CAD2F7B9CE609BD9
+3EC6057888FA4D0AAC5B0DEF146124789E8B6903BB4EF9C05A4EF964EDEB91C1
+4CC2614FCB772D3C72B6DC4D056F185FF3C9F7C96018FBFBD40A636C33810DB4
+47FC8CBDC9962A72404AF156B17D69CBAD1F07B4E75CF402F68097E7588D78BD
+3C9DD1122ED7916C4C56D908F84B2218450E35209DE1A30E71B416898AFB1F3F
+25242B70EE33FCDBD00C2A103A3590AE3B63C5900696365B0F018B80618D0F72
+EB994FD8DCFDDA7EA3CACCF393872EFF39BAEEC6BEDEA67D03AE98F2249E84F3
+6ED37EE5E993EB96F282D0270C794F2FE622434EE5C99C8677B572D1FCE4EC13
+A1B171193307A7C8A81DED947154D90E58E2BF5281C56892201F6C8D287DDCC0
+11AB85EC27554BE0040FD227E027F74847B16D6BA060F75208D12CCE7FA44044
+A08917508036BEAF1D9B9D940C1CDB2298793700F940333A98BCD90147DCF127
+C6B99F4BF49EE656CADA2F4C7EA905A755879E7F692F4F39ADF6EAB7AEABC171
+2A72D147F1CDC0C864B12EE0816399FA7D125CAF57AF89A440D25333D568845F
+B4D6B8EBC58A521073BFBB6D9F860980767343CADF8414D5EC167D9C7BC40B5C
+97FBDD69B3DAC25E87C4D167F376472AD826A4EA0511278C8D9DD9E47F687108
+7C53C4721AEA016627E47487C871A6A6B1FA52CA703169AD6C785415CF63E06F
+CCC95C2FC29097A3F114B5BFE53D0D0D15AAAE7A81211510A28B8DDD2E9D3F5F
+9585367A2FE0E43F1CAAC3BF4D89BF38CD362B57667F97E202289EE40ACD4E76
+247E1C2BB25F65F2BF20745FE3A19CD048228ACC97CB8F66EEDE564758535AF8
+3DECCA4F5251099F649C7F296C068A69EC6EC2ABB93876CF4DB6C9D1B924570A
+5124C65A88FEC62E1DAA87BF2F22F179033EFE247A114ED8753A12F642B32D96
+7EF019414141E494C1A98B7396EDF2427C235EBE37B47A8CB2D6A9F1947A52EB
+D437C9354185B43A4AC299C20AC267FA110508FA24DF66E2EF53A781B0000D06
+2B3589A4E8FC4277A956BC7EF8CAF57FE644C44198499F566DC3843EE31E17A1
+E63B14A615A3B89AD5F16B34EFE495493112F536ABA91750DDB8FD1F558BC74B
+199FF3A48D9BD0DE21B54E3387805AD1B9F105E511569AD44D1191207557AAE5
+CDD74D81C65FC06598248A72A91E9865E736FEB8526E1532620BFEFD7CDBA684
+70F0EAACDB044A1FC37BF155BC61500A207BA16200F7A7EF5C98F7C0BA0CE63D
+DAAF59F0FD04BE25E822AC796F52829BB0048393AADDD343D25734A256C6CA04
+F3F5F041264034247668EBF3C859103930B3B08C595BF890CA60C1E429233A39
+E996C06BE6EB32CD6A1560BB6378C435A1736AFDAE01C0A13F37B8E9C3334DC3
+C385AF8FE1AAE8ABB777EC8555DE3E74A433D47217F9D05CC291D9936CB04652
+9E3DC449849E4E8A012E8DF58F8DB4D3B042445DB2A5F3E98B2005746950F402
+A22085D5DDC5FEF15D8D38DDBC6E5F8261506E3C508EFF3B7C08C1EE8E4B1349
+A845343908E5B9F93CA25ECE6AF6F3AACF4BF3350C703C582842F59CEEE1025A
+406082C780B92205B359155B095CCE851DFE85D83D6842238E0E15DE2DA0BCC9
+F03921E124EE06E5A282DF6F82B2ADD92D0BA0ADB809BBEEAF5DDF399B26A608
+7E89D51E25EC5E70277FA6A96C4F786BA1BB8478A975989F4014887BC73F16E7
+335179472B4B623F160CE46ACFA8CC210652093E8361DE1735A2AD37D923A906
+838167A8060DC4B749F6B62381ADB5B8932502DC3FB47236FD7837172F22FFF1
+2C33897F244B9873F88A29F222299D7E08F79D07FEE3E4ED09F5F9DD29E9E7CE
+450FAC5DDFD241F896AF6680B45011D095CACD10C395966A9C6DA794EF0E81DE
+68298ED97FAFBE0ACE1430713BF604E55CBD770F5B120828AF486B25776581AF
+F6D733602666FEA868B6AE2818B77E7FD71F06A4EE3CB15D19DDF679DEAF17EF
+E0DF14CDDA21C09B4A6FB966CFF6F8B58C042A7F0BD75DBB6DB7EB81C1C134DE
+D84BCF8E507600DFA6D5AB32E9A27BF4DB8EDB419C4D94C6B934B1FD9462E7F9
+CFBAFEF8FCB7D86FFDED8A7470A0A4D8113FE70EA8DE74E19C5F5ADC4B01D4C1
+B27E1393D3449B1285D6F0F0A9041B936A41C3218941B33D3472F46DDA0DEC84
+A0339B5218CBE53DE3516774BA6DEA013C9FB3039BF4DA71BD5D6A5C5CA415C8
+
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -3021,12 +3023,12 @@ rf /Fh 135[56 2[56 54 42 2[51 58 56 68 47 1[39 27 56
 48 48 48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48
 48 1[48 1[48 48 1[48 3[48 48 48 48 48 48 1[48 48 48 48
 2[48 48 48 48 33[{ TeX09fbbfacEncoding ReEncodeFont }77
-90.9091 /CMTT10 rf /Fo 131[91 1[40 48 48 66 48 51 35
+90.9091 /CMTT10 rf /Fo 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
-20[51 51 53 11[{ TeXf7b6d320Encoding ReEncodeFont }80
+20[51 51 53 11[{ TeXf7b6d320Encoding ReEncodeFont }81
 90.9091 /CMR10 rf /Fp 134[102 4[75 76 79 3[108 1[54 2[54
 2[59 88 108 86 108 94 11[149 2[144 3[151 1[116 2[72 1[152
 71[{ TeXf7b6d320Encoding ReEncodeFont }19 172.154 /CMBX12
@@ -3042,31 +3044,31 @@ letter
 %%EndSetup
 %%Page: 1 1
 TeXDict begin 1 0 bop 150 1318 a Fp(GNU)65 b(Readline)g(Library)g(User)
-g(In)-5 b(terface)p 150 1418 3600 34 v 1373 1515 a Fo(Edition)30
-b(5.1-b)s(eta1,)j(for)d Fn(Readline)e(Library)h Fo(V)-8
-b(ersion)31 b(5.1-b)s(eta1.)3139 1623 y(No)m(v)m(em)m(b)s(er)g(2005)150
-4935 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
+g(In)-5 b(terface)p 150 1418 3600 34 v 1873 1515 a Fo(Edition)30
+b(5.2,)i(for)e Fn(Readline)e(Library)h Fo(V)-8 b(ersion)31
+b(5.2.)3333 1623 y(April)f(2006)150 4935 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 3024 a Fo(This)37 b(man)m(ual)i(describ)s(es)
-f(the)g(end)g(user)f(in)m(terface)j(of)f(the)f(GNU)h(Readline)g
-(Library)e(\(v)m(ersion)j(5.1-)150 3133 y(b)s(eta1,)34
-b(11)g(No)m(v)m(em)m(b)s(er)g(2005\),)i(a)e(library)e(whic)m(h)h(aids)g
-(in)f(the)i(consistency)f(of)h(user)e(in)m(terface)i(across)150
-3243 y(discrete)d(programs)f(whic)m(h)g(pro)m(vide)h(a)f(command)h
-(line)f(in)m(terface.)150 3377 y(Cop)m(yrigh)m(t)602
-3374 y(c)577 3377 y Fl(\015)g Fo(1988-2005)k(F)-8 b(ree)32
-b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 b(Inc.)150 3512
-y(P)m(ermission)g(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d(distribute)h
-(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m(vided)f(the)150
-3621 y(cop)m(yrigh)m(t)g(notice)f(and)f(this)g(p)s(ermission)g(notice)h
-(are)g(preserv)m(ed)f(on)h(all)g(copies.)390 3756 y(P)m(ermission)k(is)
-h(gran)m(ted)f(to)h(cop)m(y)-8 b(,)38 b(distribute)d(and/or)g(mo)s
-(dify)f(this)h(do)s(cumen)m(t)g(under)390 3866 y(the)j(terms)g(of)g
-(the)g(GNU)h(F)-8 b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8
-b(ersion)39 b(1.1)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
+TeXDict begin 2 1 bop 150 3024 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(5.2,)h(26)150 3133 y(April)22
+b(2006\),)27 b(a)c(library)f(whic)m(h)h(aids)g(in)f(the)h(consistency)g
+(of)g(user)f(in)m(terface)j(across)e(discrete)g(programs)150
+3243 y(whic)m(h)30 b(pro)m(vide)h(a)f(command)g(line)h(in)m(terface.)
+150 3377 y(Cop)m(yrigh)m(t)602 3374 y(c)577 3377 y Fl(\015)f
+Fo(1988-2006)k(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8
+b(oundation,)32 b(Inc.)150 3512 y(P)m(ermission)g(is)h(gran)m(ted)g(to)
+f(mak)m(e)i(and)d(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g(man)m
+(ual)h(pro)m(vided)f(the)150 3621 y(cop)m(yrigh)m(t)g(notice)f(and)f
+(this)g(p)s(ermission)g(notice)h(are)g(preserv)m(ed)f(on)h(all)g
+(copies.)390 3756 y(P)m(ermission)k(is)h(gran)m(ted)f(to)h(cop)m(y)-8
+b(,)38 b(distribute)d(and/or)g(mo)s(dify)f(this)h(do)s(cumen)m(t)g
+(under)390 3866 y(the)j(terms)g(of)g(the)g(GNU)h(F)-8
+b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)39
+b(1.2)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
 b(published)d(b)m(y)j(the)f(F)-8 b(ree)29 b(Soft)m(w)m(are)f(F)-8
 b(oundation;)30 b(with)d(no)g(In)m(v)-5 b(arian)m(t)28
 b(Sections,)390 4085 y(with)i(the)h(F)-8 b(ron)m(t-Co)m(v)m(er)33
@@ -3446,202 +3448,206 @@ Fo(and)d Fg(C-J)f Fo(c)m(haracters)k(will)150 408 y(terminate)j(an)g
 518 y(original)30 b(line.)41 b(When)28 b(the)h(searc)m(h)h(is)f
 (terminated,)h(the)f(history)g(en)m(try)g(con)m(taining)h(the)f(searc)m
 (h)h(string)150 628 y(b)s(ecomes)h(the)f(curren)m(t)g(line.)275
-769 y(T)-8 b(o)31 b(\014nd)e(other)j(matc)m(hing)g(en)m(tries)g(in)e
+771 y(T)-8 b(o)31 b(\014nd)e(other)j(matc)m(hing)g(en)m(tries)g(in)e
 (the)h(history)g(list,)h(t)m(yp)s(e)g Fg(C-r)e Fo(or)h
-Fg(C-s)f Fo(as)h(appropriate.)43 b(This)150 878 y(will)26
+Fg(C-s)f Fo(as)h(appropriate.)43 b(This)150 880 y(will)26
 b(searc)m(h)h(bac)m(kw)m(ard)g(or)f(forw)m(ard)g(in)f(the)i(history)f
 (for)g(the)g(next)g(en)m(try)h(matc)m(hing)g(the)f(searc)m(h)h(string)
-150 988 y(t)m(yp)s(ed)37 b(so)h(far.)63 b(An)m(y)38 b(other)f(k)m(ey)i
+150 990 y(t)m(yp)s(ed)37 b(so)h(far.)63 b(An)m(y)38 b(other)f(k)m(ey)i
 (sequence)f(b)s(ound)e(to)i(a)g(Readline)h(command)e(will)h(terminate)h
-(the)150 1098 y(searc)m(h)22 b(and)e(execute)j(that)e(command.)38
-b(F)-8 b(or)22 b(instance,)h(a)2127 1095 y Ff(h)p 2151
-1042 151 4 v 2151 1098 a Fe(RET)p 2151 1113 V 2298 1095
-a Ff(i)2349 1098 y Fo(will)e(terminate)h(the)f(searc)m(h)h(and)e
-(accept)150 1207 y(the)30 b(line,)g(thereb)m(y)f(executing)i(the)e
+(the)150 1100 y(searc)m(h)22 b(and)e(execute)j(that)e(command.)38
+b(F)-8 b(or)22 b(instance,)h(a)2127 1097 y Ff(h)p 2151
+1044 151 4 v 2151 1100 a Fe(RET)p 2151 1115 V 2298 1097
+a Ff(i)2349 1100 y Fo(will)e(terminate)h(the)f(searc)m(h)h(and)e
+(accept)150 1209 y(the)30 b(line,)g(thereb)m(y)f(executing)i(the)e
 (command)g(from)g(the)h(history)f(list.)41 b(A)29 b(mo)m(v)m(emen)m(t)j
-(command)d(will)150 1317 y(terminate)i(the)g(searc)m(h,)g(mak)m(e)h
+(command)d(will)150 1319 y(terminate)i(the)g(searc)m(h,)g(mak)m(e)h
 (the)e(last)h(line)g(found)e(the)i(curren)m(t)f(line,)h(and)f(b)s(egin)
-g(editing.)275 1458 y(Readline)35 b(remem)m(b)s(ers)f(the)h(last)h
+g(editing.)275 1462 y(Readline)35 b(remem)m(b)s(ers)f(the)h(last)h
 (incremen)m(tal)g(searc)m(h)f(string.)54 b(If)34 b(t)m(w)m(o)j
-Fg(C-r)p Fo(s)c(are)i(t)m(yp)s(ed)g(without)150 1567
+Fg(C-r)p Fo(s)c(are)i(t)m(yp)s(ed)g(without)150 1571
 y(an)m(y)i(in)m(terv)m(ening)g(c)m(haracters)h(de\014ning)e(a)h(new)f
 (searc)m(h)h(string,)h(an)m(y)f(remem)m(b)s(ered)e(searc)m(h)i(string)g
-(is)150 1677 y(used.)275 1818 y(Non-incremen)m(tal)48
+(is)150 1681 y(used.)275 1824 y(Non-incremen)m(tal)48
 b(searc)m(hes)g(read)e(the)h(en)m(tire)h(searc)m(h)f(string)g(b)s
-(efore)f(starting)h(to)h(searc)m(h)f(for)150 1928 y(matc)m(hing)d
+(efore)f(starting)h(to)h(searc)m(h)f(for)150 1934 y(matc)m(hing)d
 (history)e(lines.)78 b(The)42 b(searc)m(h)h(string)g(ma)m(y)g(b)s(e)f
 (t)m(yp)s(ed)g(b)m(y)g(the)h(user)f(or)h(b)s(e)f(part)g(of)h(the)150
-2037 y(con)m(ten)m(ts)32 b(of)f(the)f(curren)m(t)g(line.)150
-2311 y Fm(1.3)68 b(Readline)47 b(Init)e(File)275 2562
+2043 y(con)m(ten)m(ts)32 b(of)f(the)f(curren)m(t)g(line.)150
+2322 y Fm(1.3)68 b(Readline)47 b(Init)e(File)275 2575
 y Fo(Although)g(the)g(Readline)h(library)e(comes)i(with)f(a)h(set)f(of)
-g(Emacs-lik)m(e)i(k)m(eybindings)e(installed)150 2672
+g(Emacs-lik)m(e)i(k)m(eybindings)e(installed)150 2685
 y(b)m(y)d(default,)i(it)f(is)e(p)s(ossible)g(to)i(use)e(a)h(di\013eren)
 m(t)g(set)g(of)g(k)m(eybindings.)74 b(An)m(y)42 b(user)f(can)h
-(customize)150 2781 y(programs)32 b(that)h(use)f(Readline)h(b)m(y)g
+(customize)150 2794 y(programs)32 b(that)h(use)f(Readline)h(b)m(y)g
 (putting)f(commands)g(in)g(an)g Fd(inputrc)37 b Fo(\014le,)d(con)m(v)m
-(en)m(tionally)h(in)d(his)150 2891 y(home)h(directory)-8
+(en)m(tionally)h(in)d(his)150 2904 y(home)h(directory)-8
 b(.)50 b(The)33 b(name)g(of)g(this)g(\014le)h(is)f(tak)m(en)h(from)f
 (the)g(v)-5 b(alue)34 b(of)f(the)g(en)m(vironmen)m(t)h(v)-5
-b(ariable)150 3000 y Fn(INPUTRC)p Fo(.)39 b(If)30 b(that)h(v)-5
-b(ariable)31 b(is)f(unset,)g(the)h(default)g(is)f(`)p
-Fn(~/.inputrc)p Fo('.)275 3142 y(When)f(a)h(program)f(whic)m(h)h(uses)f
-(the)h(Readline)g(library)f(starts)h(up,)f(the)h(init)g(\014le)f(is)h
-(read,)g(and)f(the)150 3251 y(k)m(ey)i(bindings)e(are)i(set.)275
-3392 y(In)26 b(addition,)i(the)f Fn(C-x)i(C-r)d Fo(command)h(re-reads)g
-(this)f(init)h(\014le,)h(th)m(us)f(incorp)s(orating)g(an)m(y)g(c)m
-(hanges)150 3502 y(that)k(y)m(ou)g(migh)m(t)g(ha)m(v)m(e)g(made)g(to)g
-(it.)150 3739 y Fc(1.3.1)63 b(Readline)40 b(Init)h(File)g(Syn)m(tax)275
-3990 y Fo(There)33 b(are)h(only)g(a)g(few)f(basic)h(constructs)g(allo)m
+b(ariable)150 3014 y Fn(INPUTRC)p Fo(.)38 b(If)28 b(that)g(v)-5
+b(ariable)29 b(is)f(unset,)h(the)f(default)g(is)h(`)p
+Fn(~/.inputrc)p Fo('.)37 b(If)28 b(that)h(\014le)f(do)s(es)g(not)g
+(exist)h(or)150 3123 y(cannot)i(b)s(e)f(read,)g(the)h(ultimate)g
+(default)g(is)f(`)p Fn(/etc/inputrc)p Fo('.)275 3266
+y(When)f(a)h(program)f(whic)m(h)h(uses)f(the)h(Readline)g(library)f
+(starts)h(up,)f(the)h(init)g(\014le)f(is)h(read,)g(and)f(the)150
+3376 y(k)m(ey)i(bindings)e(are)i(set.)275 3519 y(In)26
+b(addition,)i(the)f Fn(C-x)i(C-r)d Fo(command)h(re-reads)g(this)f(init)
+h(\014le,)h(th)m(us)f(incorp)s(orating)g(an)m(y)g(c)m(hanges)150
+3629 y(that)k(y)m(ou)g(migh)m(t)g(ha)m(v)m(e)g(made)g(to)g(it.)150
+3870 y Fc(1.3.1)63 b(Readline)40 b(Init)h(File)g(Syn)m(tax)275
+4123 y Fo(There)33 b(are)h(only)g(a)g(few)f(basic)h(constructs)g(allo)m
 (w)m(ed)h(in)f(the)g(Readline)g(init)g(\014le.)51 b(Blank)34
-b(lines)g(are)150 4100 y(ignored.)72 b(Lines)41 b(b)s(eginning)f(with)h
+b(lines)g(are)150 4232 y(ignored.)72 b(Lines)41 b(b)s(eginning)f(with)h
 (a)g(`)p Fn(#)p Fo(')g(are)h(commen)m(ts.)73 b(Lines)41
 b(b)s(eginning)f(with)g(a)i(`)p Fn($)p Fo(')f(indicate)150
-4209 y(conditional)29 b(constructs)f(\(see)g(Section)h(1.3.2)g
+4342 y(conditional)29 b(constructs)f(\(see)g(Section)h(1.3.2)g
 ([Conditional)g(Init)e(Constructs],)i(page)f(9\).)41
-b(Other)27 b(lines)150 4319 y(denote)k(v)-5 b(ariable)31
-b(settings)g(and)f(k)m(ey)h(bindings.)150 4488 y(V)-8
-b(ariable)32 b(Settings)630 4598 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e
+b(Other)27 b(lines)150 4452 y(denote)k(v)-5 b(ariable)31
+b(settings)g(and)f(k)m(ey)h(bindings.)150 4624 y(V)-8
+b(ariable)32 b(Settings)630 4734 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e
 (the)i(run-time)f(b)s(eha)m(vior)g(of)h(Readline)g(b)m(y)f(altering)h
-(the)g(v)-5 b(alues)41 b(of)630 4707 y(v)-5 b(ariables)34
+(the)g(v)-5 b(alues)41 b(of)630 4843 y(v)-5 b(ariables)34
 b(in)f(Readline)i(using)e(the)g Fn(set)g Fo(command)g(within)g(the)h
-(init)g(\014le.)50 b(The)33 b(syn)m(tax)630 4817 y(is)d(simple:)870
-4955 y Fn(set)47 b Fg(variable)56 b(value)630 5093 y
+(init)g(\014le.)50 b(The)33 b(syn)m(tax)630 4953 y(is)d(simple:)870
+5092 y Fn(set)47 b Fg(variable)56 b(value)630 5230 y
 Fo(Here,)29 b(for)e(example,)h(is)g(ho)m(w)f(to)h(c)m(hange)g(from)f
 (the)g(default)h(Emacs-lik)m(e)h(k)m(ey)f(binding)e(to)630
-5202 y(use)k Fn(vi)g Fo(line)h(editing)g(commands:)870
-5340 y Fn(set)47 b(editing-mode)d(vi)p eop end
+5340 y(use)k Fn(vi)g Fo(line)h(editing)g(commands:)p
+eop end
 %%Page: 5 9
 TeXDict begin 5 8 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(5)630 299 y(V)-8
-b(ariable)36 b(names)f(and)g(v)-5 b(alues,)36 b(where)f(appropriate,)h
-(are)g(recognized)g(without)f(regard)630 408 y(to)c(case.)42
-b(Unrecognized)31 b(v)-5 b(ariable)31 b(names)g(are)f(ignored.)630
-536 y(Bo)s(olean)c(v)-5 b(ariables)26 b(\(those)g(that)g(can)f(b)s(e)f
-(set)i(to)g(on)f(or)g(o\013)7 b(\))25 b(are)h(set)f(to)h(on)f(if)g(the)
-g(v)-5 b(alue)26 b(is)630 646 y(n)m(ull)e(or)g(empt)m(y)-8
-b(,)27 b Fd(on)d Fo(\(case-insensitiv)m(e\),)29 b(or)24
-b(1.)39 b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v)
--5 b(ariable)630 756 y(b)s(eing)30 b(set)h(to)g(o\013.)630
-883 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g(is)g(c)m
+b(Command)29 b(Line)i(Editing)2153 b(5)870 299 y Fn(set)47
+b(editing-mode)d(vi)630 432 y Fo(V)-8 b(ariable)36 b(names)f(and)g(v)-5
+b(alues,)36 b(where)f(appropriate,)h(are)g(recognized)g(without)f
+(regard)630 541 y(to)c(case.)42 b(Unrecognized)31 b(v)-5
+b(ariable)31 b(names)g(are)f(ignored.)630 674 y(Bo)s(olean)c(v)-5
+b(ariables)26 b(\(those)g(that)g(can)f(b)s(e)f(set)i(to)g(on)f(or)g
+(o\013)7 b(\))25 b(are)h(set)f(to)h(on)f(if)g(the)g(v)-5
+b(alue)26 b(is)630 783 y(n)m(ull)e(or)g(empt)m(y)-8 b(,)27
+b Fd(on)d Fo(\(case-insensitiv)m(e\),)29 b(or)24 b(1.)39
+b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v)-5
+b(ariable)630 893 y(b)s(eing)30 b(set)h(to)g(o\013.)630
+1026 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g(is)g(c)m
 (hangeable)j(with)d(the)g(follo)m(wing)i(v)-5 b(ariables.)630
-1029 y Fn(bell-style)1110 1139 y Fo(Con)m(trols)44 b(what)g(happ)s(ens)
+1181 y Fn(bell-style)1110 1291 y Fo(Con)m(trols)44 b(what)g(happ)s(ens)
 e(when)h(Readline)i(w)m(an)m(ts)f(to)h(ring)e(the)h(termi-)1110
-1249 y(nal)37 b(b)s(ell.)61 b(If)37 b(set)h(to)g(`)p
+1401 y(nal)37 b(b)s(ell.)61 b(If)37 b(set)h(to)g(`)p
 Fn(none)p Fo(',)g(Readline)g(nev)m(er)g(rings)e(the)i(b)s(ell.)61
-b(If)36 b(set)i(to)1110 1358 y(`)p Fn(visible)p Fo(',)32
+b(If)36 b(set)i(to)1110 1510 y(`)p Fn(visible)p Fo(',)32
 b(Readline)i(uses)f(a)g(visible)g(b)s(ell)g(if)g(one)g(is)g(a)m(v)-5
-b(ailable.)51 b(If)33 b(set)g(to)1110 1468 y(`)p Fn(audible)p
+b(ailable.)51 b(If)33 b(set)g(to)1110 1620 y(`)p Fn(audible)p
 Fo(')j(\(the)i(default\),)i(Readline)e(attempts)g(to)h(ring)e(the)g
-(terminal's)1110 1577 y(b)s(ell.)630 1724 y Fn(bind-tty-special-chars)
-1110 1833 y Fo(If)45 b(set)h(to)f(`)p Fn(on)p Fo(',)50
+(terminal's)1110 1729 y(b)s(ell.)630 1885 y Fn(bind-tty-special-chars)
+1110 1995 y Fo(If)45 b(set)h(to)f(`)p Fn(on)p Fo(',)50
 b(Readline)45 b(attempts)i(to)f(bind)d(the)j(con)m(trol)g(c)m
-(haracters)1110 1943 y(treated)36 b(sp)s(ecially)h(b)m(y)e(the)h(k)m
+(haracters)1110 2104 y(treated)36 b(sp)s(ecially)h(b)m(y)e(the)h(k)m
 (ernel's)g(terminal)g(driv)m(er)f(to)h(their)f(Readline)1110
-2052 y(equiv)-5 b(alen)m(ts.)630 2198 y Fn(comment-begin)1110
-2308 y Fo(The)29 b(string)g(to)h(insert)f(at)h(the)f(b)s(eginning)g(of)
-g(the)h(line)f(when)f(the)i Fn(insert-)1110 2418 y(comment)e
+2214 y(equiv)-5 b(alen)m(ts.)630 2370 y Fn(comment-begin)1110
+2479 y Fo(The)29 b(string)g(to)h(insert)f(at)h(the)f(b)s(eginning)g(of)
+g(the)h(line)f(when)f(the)i Fn(insert-)1110 2589 y(comment)e
 Fo(command)j(is)f(executed.)42 b(The)29 b(default)i(v)-5
-b(alue)31 b(is)f Fn("#")p Fo(.)630 2564 y Fn(completion-ignore-case)
-1110 2673 y Fo(If)d(set)h(to)g(`)p Fn(on)p Fo(',)g(Readline)g(p)s
+b(alue)31 b(is)f Fn("#")p Fo(.)630 2744 y Fn(completion-ignore-case)
+1110 2854 y Fo(If)d(set)h(to)g(`)p Fn(on)p Fo(',)g(Readline)g(p)s
 (erforms)e(\014lename)h(matc)m(hing)i(and)e(completion)1110
-2783 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)40 b(The)30
+2964 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)40 b(The)30
 b(default)h(v)-5 b(alue)30 b(is)h(`)p Fn(off)p Fo('.)630
-2929 y Fn(completion-query-items)1110 3039 y Fo(The)26
+3119 y Fn(completion-query-items)1110 3229 y Fo(The)26
 b(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h(that)g(determines)
-f(when)f(the)i(user)1110 3148 y(is)i(ask)m(ed)h(whether)f(the)h(list)g
+f(when)f(the)i(user)1110 3339 y(is)i(ask)m(ed)h(whether)f(the)h(list)g
 (of)f(p)s(ossibilities)h(should)e(b)s(e)h(displa)m(y)m(ed.)41
-b(If)29 b(the)1110 3258 y(n)m(um)m(b)s(er)d(of)h(p)s(ossible)f
+b(If)29 b(the)1110 3448 y(n)m(um)m(b)s(er)d(of)h(p)s(ossible)f
 (completions)i(is)f(greater)h(than)e(this)h(v)-5 b(alue,)28
-b(Readline)1110 3367 y(will)f(ask)g(the)f(user)g(whether)g(or)g(not)h
-(he)f(wishes)g(to)i(view)e(them;)i(otherwise,)1110 3477
+b(Readline)1110 3558 y(will)f(ask)g(the)f(user)g(whether)g(or)g(not)h
+(he)f(wishes)g(to)i(view)e(them;)i(otherwise,)1110 3667
 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5 b(ariable)25
 b(m)m(ust)g(b)s(e)e(set)i(to)g(an)g(in)m(teger)g(v)-5
-b(alue)1110 3587 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40
+b(alue)1110 3777 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40
 b(A)24 b(negativ)m(e)j(v)-5 b(alue)26 b(means)e(Readline)i(should)1110
-3696 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g
-Fn(100)p Fo(.)630 3842 y Fn(convert-meta)1110 3952 y
+3886 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g
+Fn(100)p Fo(.)630 4042 y Fn(convert-meta)1110 4152 y
 Fo(If)22 b(set)g(to)h(`)p Fn(on)p Fo(',)h(Readline)f(will)f(con)m(v)m
 (ert)i(c)m(haracters)f(with)f(the)g(eigh)m(th)h(bit)f(set)1110
-4061 y(to)g(an)f Fh(asci)r(i)g Fo(k)m(ey)h(sequence)g(b)m(y)f
+4261 y(to)g(an)f Fh(asci)r(i)g Fo(k)m(ey)h(sequence)g(b)m(y)f
 (stripping)f(the)i(eigh)m(th)g(bit)f(and)g(pre\014xing)f(an)1110
-4168 y Ff(h)p 1134 4115 139 4 v 1134 4171 a Fe(ESC)p
-1134 4186 V 1268 4168 a Ff(i)1332 4171 y Fo(c)m(haracter,)36
+4368 y Ff(h)p 1134 4315 139 4 v 1134 4371 a Fe(ESC)p
+1134 4386 V 1268 4368 a Ff(i)1332 4371 y Fo(c)m(haracter,)36
 b(con)m(v)m(erting)g(them)e(to)g(a)h(meta-pre\014xed)f(k)m(ey)g
-(sequence.)1110 4281 y(The)c(default)g(v)-5 b(alue)31
-b(is)g(`)p Fn(on)p Fo('.)630 4427 y Fn(disable-completion)1110
-4536 y Fo(If)36 b(set)h(to)h(`)p Fn(On)p Fo(',)g(Readline)f(will)g
+(sequence.)1110 4481 y(The)c(default)g(v)-5 b(alue)31
+b(is)g(`)p Fn(on)p Fo('.)630 4636 y Fn(disable-completion)1110
+4746 y Fo(If)36 b(set)h(to)h(`)p Fn(On)p Fo(',)g(Readline)f(will)g
 (inhibit)f(w)m(ord)h(completion.)60 b(Completion)1110
-4646 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g
+4855 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g
 (line)f(as)g(if)g(they)h(had)e(b)s(een)g(mapp)s(ed)1110
-4755 y(to)31 b Fn(self-insert)p Fo(.)38 b(The)30 b(default)g(is)h(`)p
-Fn(off)p Fo('.)630 4902 y Fn(editing-mode)1110 5011 y
+4965 y(to)31 b Fn(self-insert)p Fo(.)38 b(The)30 b(default)g(is)h(`)p
+Fn(off)p Fo('.)630 5121 y Fn(editing-mode)1110 5230 y
 Fo(The)d Fn(editing-mode)e Fo(v)-5 b(ariable)29 b(con)m(trols)h(whic)m
-(h)e(default)h(set)h(of)e(k)m(ey)i(bind-)1110 5121 y(ings)25
+(h)e(default)h(set)h(of)e(k)m(ey)i(bind-)1110 5340 y(ings)25
 b(is)g(used.)38 b(By)26 b(default,)g(Readline)g(starts)f(up)f(in)h
-(Emacs)g(editing)h(mo)s(de,)1110 5230 y(where)j(the)g(k)m(eystrok)m(es)
-i(are)e(most)h(similar)f(to)h(Emacs.)40 b(This)29 b(v)-5
-b(ariable)30 b(can)1110 5340 y(b)s(e)g(set)h(to)g(either)g(`)p
-Fn(emacs)p Fo(')e(or)h(`)p Fn(vi)p Fo('.)p eop end
+(Emacs)g(editing)h(mo)s(de,)p eop end
 %%Page: 6 10
 TeXDict begin 6 9 bop 150 -116 a Fo(6)2645 b(GNU)31 b(Readline)g
-(Library)630 299 y Fn(enable-keypad)1110 408 y Fo(When)23
-b(set)h(to)g(`)p Fn(on)p Fo(',)h(Readline)f(will)g(try)f(to)h(enable)g
-(the)f(application)i(k)m(eypad)1110 518 y(when)h(it)h(is)f(called.)41
-b(Some)27 b(systems)f(need)h(this)f(to)h(enable)g(the)g(arro)m(w)g(k)m
-(eys.)1110 628 y(The)j(default)g(is)h(`)p Fn(off)p Fo('.)630
-819 y Fn(expand-tilde)1110 929 y Fo(If)c(set)h(to)h(`)p
-Fn(on)p Fo(',)f(tilde)g(expansion)g(is)f(p)s(erformed)f(when)h
-(Readline)h(attempts)1110 1039 y(w)m(ord)i(completion.)42
-b(The)30 b(default)g(is)h(`)p Fn(off)p Fo('.)630 1230
-y Fn(history-preserve-point)1110 1340 y Fo(If)e(set)i(to)f(`)p
-Fn(on)p Fo(',)g(the)g(history)g(co)s(de)g(attempts)g(to)h(place)f(p)s
-(oin)m(t)g(at)h(the)f(same)1110 1450 y(lo)s(cation)35
-b(on)e(eac)m(h)i(history)e(line)h(retriev)m(ed)g(with)f
-Fn(previous-history)c Fo(or)1110 1559 y Fn(next-history)p
+(Library)1110 299 y(where)e(the)g(k)m(eystrok)m(es)i(are)e(most)h
+(similar)f(to)h(Emacs.)40 b(This)29 b(v)-5 b(ariable)30
+b(can)1110 408 y(b)s(e)g(set)h(to)g(either)g(`)p Fn(emacs)p
+Fo(')e(or)h(`)p Fn(vi)p Fo('.)630 567 y Fn(enable-keypad)1110
+676 y Fo(When)23 b(set)h(to)g(`)p Fn(on)p Fo(',)h(Readline)f(will)g
+(try)f(to)h(enable)g(the)f(application)i(k)m(eypad)1110
+786 y(when)h(it)h(is)f(called.)41 b(Some)27 b(systems)f(need)h(this)f
+(to)h(enable)g(the)g(arro)m(w)g(k)m(eys.)1110 896 y(The)j(default)g(is)
+h(`)p Fn(off)p Fo('.)630 1054 y Fn(expand-tilde)1110
+1163 y Fo(If)c(set)h(to)h(`)p Fn(on)p Fo(',)f(tilde)g(expansion)g(is)f
+(p)s(erformed)f(when)h(Readline)h(attempts)1110 1273
+y(w)m(ord)i(completion.)42 b(The)30 b(default)g(is)h(`)p
+Fn(off)p Fo('.)630 1431 y Fn(history-preserve-point)1110
+1541 y Fo(If)e(set)i(to)f(`)p Fn(on)p Fo(',)g(the)g(history)g(co)s(de)g
+(attempts)g(to)h(place)f(p)s(oin)m(t)g(at)h(the)f(same)1110
+1650 y(lo)s(cation)35 b(on)e(eac)m(h)i(history)e(line)h(retriev)m(ed)g
+(with)f Fn(previous-history)c Fo(or)1110 1760 y Fn(next-history)p
 Fo(.)37 b(The)30 b(default)h(is)f(`)p Fn(off)p Fo('.)630
-1751 y Fn(horizontal-scroll-mode)1110 1861 y Fo(This)35
+1918 y Fn(horizontal-scroll-mode)1110 2028 y Fo(This)35
 b(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f(`)p
 Fn(on)p Fo(')g(or)g(`)p Fn(off)p Fo('.)57 b(Setting)36
-b(it)g(to)h(`)p Fn(on)p Fo(')1110 1970 y(means)26 b(that)h(the)f(text)h
+b(it)g(to)h(`)p Fn(on)p Fo(')1110 2138 y(means)26 b(that)h(the)f(text)h
 (of)g(the)f(lines)g(b)s(eing)g(edited)h(will)f(scroll)h(horizon)m
-(tally)1110 2080 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i
-(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 2189
+(tally)1110 2247 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i
+(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 2357
 y(screen,)27 b(instead)g(of)f(wrapping)f(on)m(to)i(a)f(new)g(screen)g
-(line.)39 b(By)27 b(default,)g(this)1110 2299 y(v)-5
+(line.)39 b(By)27 b(default,)g(this)1110 2466 y(v)-5
 b(ariable)31 b(is)g(set)f(to)i(`)p Fn(off)p Fo('.)630
-2491 y Fn(input-meta)1110 2600 y Fo(If)f(set)g(to)h(`)p
+2625 y Fn(input-meta)1110 2734 y Fo(If)f(set)g(to)h(`)p
 Fn(on)p Fo(',)g(Readline)g(will)f(enable)h(eigh)m(t-bit)h(input)d(\(it)
-i(will)f(not)h(clear)1110 2710 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h
+i(will)f(not)h(clear)1110 2844 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h
 (c)m(haracters)h(it)f(reads\),)j(regardless)c(of)h(what)g(the)1110
-2819 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68
+2953 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68
 b(The)39 b(default)h(v)-5 b(alue)40 b(is)g(`)p Fn(off)p
-Fo('.)69 b(The)1110 2929 y(name)30 b Fn(meta-flag)e Fo(is)j(a)f(synon)m
-(ym)g(for)g(this)h(v)-5 b(ariable.)630 3121 y Fn(isearch-terminators)
-1110 3230 y Fo(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e
-(terminate)j(an)f(incremen)m(tal)1110 3340 y(searc)m(h)25
+Fo('.)69 b(The)1110 3063 y(name)30 b Fn(meta-flag)e Fo(is)j(a)f(synon)m
+(ym)g(for)g(this)h(v)-5 b(ariable.)630 3221 y Fn(isearch-terminators)
+1110 3331 y Fo(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e
+(terminate)j(an)f(incremen)m(tal)1110 3440 y(searc)m(h)25
 b(without)g(subsequen)m(tly)g(executing)h(the)f(c)m(haracter)h(as)f(a)g
-(command)1110 3450 y(\(see)45 b(Section)h(1.2.5)g([Searc)m(hing],)j
+(command)1110 3550 y(\(see)45 b(Section)h(1.2.5)g([Searc)m(hing],)j
 (page)d(3\).)84 b(If)44 b(this)g(v)-5 b(ariable)45 b(has)g(not)1110
-3559 y(b)s(een)31 b(giv)m(en)h(a)g(v)-5 b(alue,)32 b(the)g(c)m
-(haracters)2494 3556 y Ff(h)p 2518 3503 139 4 v 2518
-3559 a Fe(ESC)p 2518 3575 V 2652 3556 a Ff(i)2713 3559
-y Fo(and)f Fg(C-J)g Fo(will)h(terminate)g(an)1110 3669
-y(incremen)m(tal)g(searc)m(h.)630 3861 y Fn(keymap)192
+3660 y(b)s(een)31 b(giv)m(en)h(a)g(v)-5 b(alue,)32 b(the)g(c)m
+(haracters)2494 3657 y Ff(h)p 2518 3604 139 4 v 2518
+3660 a Fe(ESC)p 2518 3675 V 2652 3657 a Ff(i)2713 3660
+y Fo(and)f Fg(C-J)g Fo(will)h(terminate)g(an)1110 3769
+y(incremen)m(tal)g(searc)m(h.)630 3927 y Fn(keymap)192
 b Fo(Sets)39 b(Readline's)g(idea)h(of)f(the)g(curren)m(t)f(k)m(eymap)h
-(for)g(k)m(ey)g(binding)f(com-)1110 3970 y(mands.)81
+(for)g(k)m(ey)g(binding)f(com-)1110 4037 y(mands.)81
 b(Acceptable)47 b Fn(keymap)42 b Fo(names)i(are)h Fn(emacs)p
-Fo(,)i Fn(emacs-standard)p Fo(,)1110 4080 y Fn(emacs-meta)p
+Fo(,)i Fn(emacs-standard)p Fo(,)1110 4147 y Fn(emacs-meta)p
 Fo(,)99 b Fn(emacs-ctlx)p Fo(,)f Fn(vi)p Fo(,)j Fn(vi-move)p
-Fo(,)f Fn(vi-command)p Fo(,)f(and)1110 4189 y Fn(vi-insert)p
+Fo(,)f Fn(vi-command)p Fo(,)f(and)1110 4256 y Fn(vi-insert)p
 Fo(.)64 b Fn(vi)38 b Fo(is)h(equiv)-5 b(alen)m(t)41 b(to)e
 Fn(vi-command)p Fo(;)i Fn(emacs)c Fo(is)i(equiv)-5 b(alen)m(t)1110
-4299 y(to)33 b Fn(emacs-standard)p Fo(.)41 b(The)31 b(default)h(v)-5
+4366 y(to)33 b Fn(emacs-standard)p Fo(.)41 b(The)31 b(default)h(v)-5
 b(alue)32 b(is)g Fn(emacs)p Fo(.)44 b(The)31 b(v)-5 b(alue)33
-b(of)f(the)1110 4408 y Fn(editing-mode)27 b Fo(v)-5 b(ariable)31
-b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 4600
-y Fn(mark-directories)1110 4710 y Fo(If)38 b(set)g(to)h(`)p
+b(of)f(the)1110 4475 y Fn(editing-mode)27 b Fo(v)-5 b(ariable)31
+b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 4634
+y Fn(mark-directories)1110 4743 y Fo(If)38 b(set)g(to)h(`)p
 Fn(on)p Fo(',)i(completed)e(directory)f(names)g(ha)m(v)m(e)i(a)e(slash)
-g(app)s(ended.)1110 4819 y(The)30 b(default)g(is)h(`)p
+g(app)s(ended.)1110 4853 y(The)30 b(default)g(is)h(`)p
 Fn(on)p Fo('.)630 5011 y Fn(mark-modified-lines)1110
 5121 y Fo(This)k(v)-5 b(ariable,)38 b(when)d(set)h(to)h(`)p
 Fn(on)p Fo(',)g(causes)g(Readline)f(to)h(displa)m(y)f(an)f(as-)1110
@@ -3719,161 +3725,164 @@ b(syn)m(tax)i(for)f(con)m(trolling)h(k)m(ey)g(bindings)e(in)h(the)g
 eop end
 %%Page: 8 12
 TeXDict begin 8 11 bop 150 -116 a Fo(8)2645 b(GNU)31
-b(Readline)g(Library)630 299 y(the)h(name)g(of)g(the)g(command.)46
-b(The)31 b(name)h(of)g(the)g(k)m(ey)h(can)f(b)s(e)f(expressed)h(in)f
-(di\013eren)m(t)630 408 y(w)m(a)m(ys,)g(dep)s(ending)e(on)i(what)f(y)m
-(ou)h(\014nd)d(most)j(comfortable.)630 545 y(In)k(addition)h(to)h
-(command)f(names,)i(readline)e(allo)m(ws)h(k)m(eys)g(to)g(b)s(e)e(b)s
-(ound)f(to)j(a)f(string)630 655 y(that)31 b(is)f(inserted)h(when)e(the)
-i(k)m(ey)g(is)f(pressed)g(\(a)h Fd(macro)5 b Fo(\).)630
-819 y Fd(k)m(eyname)g Fo(:)42 b Fd(function-name)35 b
-Fo(or)c Fd(macro)1110 929 y(k)m(eyname)k Fo(is)29 b(the)f(name)h(of)g
-(a)g(k)m(ey)h(sp)s(elled)e(out)h(in)g(English.)39 b(F)-8
-b(or)30 b(example:)1350 1066 y Fn(Control-u:)45 b(universal-argument)
-1350 1176 y(Meta-Rubout:)f(backward-kill-word)1350 1285
-y(Control-o:)h(">)i(output")1110 1422 y Fo(In)38 b(the)h(ab)s(o)m(v)m
-(e)h(example,)h Fg(C-u)d Fo(is)h(b)s(ound)d(to)k(the)e(function)h
-Fn(universal-)1110 1532 y(argument)p Fo(,)f Fg(M-DEL)e
-Fo(is)i(b)s(ound)e(to)i(the)g(function)g Fn(backward-kill-word)p
-Fo(,)1110 1641 y(and)g Fg(C-o)g Fo(is)h(b)s(ound)e(to)j(run)d(the)j
-(macro)f(expressed)g(on)f(the)i(righ)m(t)f(hand)1110
-1751 y(side)30 b(\(that)i(is,)e(to)h(insert)g(the)f(text)i(`)p
-Fn(>)e(output)p Fo(')f(in)m(to)i(the)g(line\).)1110 1888
-y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m(haracter)i(names)e
-(are)g(recognized)h(while)f(pro-)1110 1998 y(cessing)24
+b(Readline)g(Library)630 299 y(the)h(name)h(of)f(the)g(command.)46
+b(There)32 b(can)g(b)s(e)g(no)g(space)g(b)s(et)m(w)m(een)h(the)f(k)m
+(ey)h(name)g(and)630 408 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g
+(in)m(terpreted)g(as)g(part)f(of)h(the)g(k)m(ey)h(name.)72
+b(The)40 b(name)h(of)630 518 y(the)35 b(k)m(ey)g(can)g(b)s(e)f
+(expressed)f(in)i(di\013eren)m(t)g(w)m(a)m(ys,)h(dep)s(ending)d(on)h
+(what)h(y)m(ou)g(\014nd)e(most)630 628 y(comfortable.)630
+763 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h(k)
+m(eys)g(to)g(b)s(e)e(b)s(ound)f(to)j(a)f(string)630 872
+y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g(\(a)h
+Fd(macro)5 b Fo(\).)630 1032 y Fd(k)m(eyname)g Fo(:)42
+b Fd(function-name)35 b Fo(or)c Fd(macro)1110 1142 y(k)m(eyname)k
+Fo(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s(elled)e(out)h(in)g
+(English.)39 b(F)-8 b(or)30 b(example:)1350 1277 y Fn(Control-u:)45
+b(universal-argument)1350 1386 y(Meta-Rubout:)f(backward-kill-word)1350
+1496 y(Control-o:)h(">)i(output")1110 1631 y Fo(In)38
+b(the)h(ab)s(o)m(v)m(e)h(example,)h Fg(C-u)d Fo(is)h(b)s(ound)d(to)k
+(the)e(function)h Fn(universal-)1110 1740 y(argument)p
+Fo(,)f Fg(M-DEL)e Fo(is)i(b)s(ound)e(to)i(the)g(function)g
+Fn(backward-kill-word)p Fo(,)1110 1850 y(and)g Fg(C-o)g
+Fo(is)h(b)s(ound)e(to)j(run)d(the)j(macro)f(expressed)g(on)f(the)i
+(righ)m(t)f(hand)1110 1960 y(side)30 b(\(that)i(is,)e(to)h(insert)g
+(the)f(text)i(`)p Fn(>)e(output)p Fo(')f(in)m(to)i(the)g(line\).)1110
+2094 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m(haracter)i
+(names)e(are)g(recognized)h(while)f(pro-)1110 2204 y(cessing)24
 b(this)g(k)m(ey)g(binding)f(syn)m(tax:)37 b Fd(DEL)p
 Fo(,)24 b Fd(ESC)p Fo(,)f Fd(ESCAPE)p Fo(,)g Fd(LFD)p
-Fo(,)h Fd(NEW-)1110 2107 y(LINE)p Fo(,)30 b Fd(RET)p
+Fo(,)h Fd(NEW-)1110 2314 y(LINE)p Fo(,)30 b Fd(RET)p
 Fo(,)g Fd(RETURN)p Fo(,)h Fd(R)m(UBOUT)p Fo(,)g Fd(SP)-8
 b(A)m(CE)p Fo(,)30 b Fd(SPC)p Fo(,)g(and)f Fd(T)-8 b(AB)p
-Fo(.)630 2271 y Fn(")p Fd(k)m(eyseq)r Fn(")p Fo(:)41
-b Fd(function-name)36 b Fo(or)30 b Fd(macro)1110 2381
+Fo(.)630 2474 y Fn(")p Fd(k)m(eyseq)r Fn(")p Fo(:)41
+b Fd(function-name)36 b Fo(or)30 b Fd(macro)1110 2583
 y(k)m(eyseq)k Fo(di\013ers)d(from)f Fd(k)m(eyname)37
 b Fo(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f(denoting)g(an)g(en-)1110
-2491 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s(e)f(sp)s(eci\014ed,)h(b)m
-(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)1110 2600
+2693 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s(e)f(sp)s(eci\014ed,)h(b)m
+(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)1110 2803
 y(double)29 b(quotes.)41 b(Some)29 b Fh(gnu)h Fo(Emacs)f(st)m(yle)i(k)m
-(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)1110 2710
+(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)1110 2912
 y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s(ecial)h(c)m
-(haracter)g(names)f(are)g(not)1110 2819 y(recognized.)1350
-2956 y Fn("\\C-u":)46 b(universal-argument)1350 3066
-y("\\C-x\\C-r":)f(re-read-init-file)1350 3176 y("\\e[11~":)g("Function)
-h(Key)g(1")1110 3313 y Fo(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74
+(haracter)g(names)f(are)g(not)1110 3022 y(recognized.)1350
+3157 y Fn("\\C-u":)46 b(universal-argument)1350 3266
+y("\\C-x\\C-r":)f(re-read-init-file)1350 3376 y("\\e[11~":)g("Function)
+h(Key)g(1")1110 3511 y Fo(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74
 b Fg(C-u)64 b Fo(is)g(again)i(b)s(ound)c(to)k(the)e(function)1110
-3422 y Fn(universal-argument)39 b Fo(\(just)k(as)h(it)g(w)m(as)g(in)g
-(the)f(\014rst)g(example\),)49 b(`)p Fg(C-x)1110 3532
+3620 y Fn(universal-argument)39 b Fo(\(just)k(as)h(it)g(w)m(as)g(in)g
+(the)f(\014rst)g(example\),)49 b(`)p Fg(C-x)1110 3730
 y(C-r)p Fo(')41 b(is)g(b)s(ound)e(to)j(the)f(function)g
-Fn(re-read-init-file)p Fo(,)e(and)i(`)3462 3529 y Ff(h)p
-3486 3476 139 4 v 3486 3532 a Fe(ESC)p 3486 3547 V 3620
-3529 a Ff(i)31 b(h)p 3705 3476 20 4 v 3705 3532 a Fe([)p
-3705 3548 V 3720 3529 a Ff(i)1110 3638 y(h)p 1134 3585
-36 4 v 1134 3641 a Fe(1)p 1134 3657 V 1165 3638 a Ff(i)f(h)p
-1250 3585 V 1250 3641 a Fe(1)p 1250 3657 V 1281 3638
-a Ff(i)g(h)p 1365 3585 48 4 v 1365 3641 a Fn(~)p 1365
-3657 V 1409 3638 a Ff(i)1438 3641 y Fo(')h(is)f(b)s(ound)f(to)i(insert)
+Fn(re-read-init-file)p Fo(,)e(and)i(`)3462 3727 y Ff(h)p
+3486 3674 139 4 v 3486 3730 a Fe(ESC)p 3486 3745 V 3620
+3727 a Ff(i)31 b(h)p 3705 3674 20 4 v 3705 3730 a Fe([)p
+3705 3746 V 3720 3727 a Ff(i)1110 3836 y(h)p 1134 3783
+36 4 v 1134 3839 a Fe(1)p 1134 3855 V 1165 3836 a Ff(i)f(h)p
+1250 3783 V 1250 3839 a Fe(1)p 1250 3855 V 1281 3836
+a Ff(i)g(h)p 1365 3783 48 4 v 1365 3839 a Fn(~)p 1365
+3855 V 1409 3836 a Ff(i)1438 3839 y Fo(')h(is)f(b)s(ound)f(to)i(insert)
 f(the)h(text)g(`)p Fn(Function)d(Key)i(1)p Fo('.)630
-3806 y(The)f(follo)m(wing)i Fh(gnu)f Fo(Emacs)g(st)m(yle)h(escap)s(e)f
+4000 y(The)f(follo)m(wing)i Fh(gnu)f Fo(Emacs)g(st)m(yle)h(escap)s(e)f
 (sequences)g(are)g(a)m(v)-5 b(ailable)32 b(when)d(sp)s(ecifying)630
-3915 y(k)m(ey)i(sequences:)630 4080 y Fg(\\C-)336 b Fo(con)m(trol)32
-b(pre\014x)630 4244 y Fg(\\M-)336 b Fo(meta)31 b(pre\014x)630
-4408 y Fg(\\e)384 b Fo(an)30 b(escap)s(e)h(c)m(haracter)630
-4573 y Fg(\\\\)384 b Fo(bac)m(kslash)630 4737 y Fg(\\)p
-Fn(")1110 4734 y Ff(h)p 1134 4681 V 1134 4737 a Fn(")p
-1134 4753 V 1178 4734 a Ff(i)1208 4737 y Fo(,)30 b(a)h(double)f
-(quotation)h(mark)630 4902 y Fg(\\')1110 4899 y Ff(h)p
-1134 4846 20 4 v 1134 4902 a Fe(')p 1134 4917 V 1150
-4899 a Ff(i)1179 4902 y Fo(,)g(a)g(single)g(quote)g(or)f(ap)s(ostrophe)
-630 5066 y(In)d(addition)h(to)g(the)g Fh(gnu)f Fo(Emacs)h(st)m(yle)h
+4109 y(k)m(ey)i(sequences:)630 4269 y Fg(\\C-)336 b Fo(con)m(trol)32
+b(pre\014x)630 4430 y Fg(\\M-)336 b Fo(meta)31 b(pre\014x)630
+4590 y Fg(\\e)384 b Fo(an)30 b(escap)s(e)h(c)m(haracter)630
+4750 y Fg(\\\\)384 b Fo(bac)m(kslash)630 4910 y Fg(\\)p
+Fn(")1110 4907 y Ff(h)p 1134 4854 V 1134 4910 a Fn(")p
+1134 4925 V 1178 4907 a Ff(i)1208 4910 y Fo(,)30 b(a)h(double)f
+(quotation)h(mark)630 5070 y Fg(\\')1110 5067 y Ff(h)p
+1134 5014 20 4 v 1134 5070 a Fe(')p 1134 5086 V 1150
+5067 a Ff(i)1179 5070 y Fo(,)g(a)g(single)g(quote)g(or)f(ap)s(ostrophe)
+630 5230 y(In)d(addition)h(to)g(the)g Fh(gnu)f Fo(Emacs)h(st)m(yle)h
 (escap)s(e)f(sequences,)h(a)f(second)f(set)h(of)g(bac)m(kslash)630
-5176 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 5340
-y Fn(\\a)384 b Fo(alert)31 b(\(b)s(ell\))p eop end
+5340 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)p eop end
 %%Page: 9 13
 TeXDict begin 9 12 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(9)630 299 y Fn(\\b)384
-b Fo(bac)m(kspace)630 455 y Fn(\\d)g Fo(delete)630 612
-y Fn(\\f)g Fo(form)30 b(feed)630 768 y Fn(\\n)384 b Fo(newline)630
-925 y Fn(\\r)g Fo(carriage)32 b(return)630 1081 y Fn(\\t)384
-b Fo(horizon)m(tal)32 b(tab)630 1238 y Fn(\\v)384 b Fo(v)m(ertical)32
-b(tab)630 1394 y Fn(\\)p Fg(nnn)288 b Fo(the)35 b(eigh)m(t-bit)h(c)m
-(haracter)g(whose)e(v)-5 b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5
-b(alue)35 b Fd(nnn)e Fo(\(one)i(to)1110 1504 y(three)c(digits\))630
-1661 y Fn(\\x)p Fg(HH)288 b Fo(the)40 b(eigh)m(t-bit)h(c)m(haracter)g
+b(Command)29 b(Line)i(Editing)2153 b(9)630 299 y Fn(\\a)384
+b Fo(alert)31 b(\(b)s(ell\))630 453 y Fn(\\b)384 b Fo(bac)m(kspace)630
+606 y Fn(\\d)g Fo(delete)630 760 y Fn(\\f)g Fo(form)30
+b(feed)630 914 y Fn(\\n)384 b Fo(newline)630 1067 y Fn(\\r)g
+Fo(carriage)32 b(return)630 1221 y Fn(\\t)384 b Fo(horizon)m(tal)32
+b(tab)630 1375 y Fn(\\v)384 b Fo(v)m(ertical)32 b(tab)630
+1528 y Fn(\\)p Fg(nnn)288 b Fo(the)35 b(eigh)m(t-bit)h(c)m(haracter)g
+(whose)e(v)-5 b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5
+b(alue)35 b Fd(nnn)e Fo(\(one)i(to)1110 1638 y(three)c(digits\))630
+1791 y Fn(\\x)p Fg(HH)288 b Fo(the)40 b(eigh)m(t-bit)h(c)m(haracter)g
 (whose)e(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5
-b(alue)40 b Fd(HH)1110 1770 y Fo(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
-(digits\))630 1927 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g
+b(alue)40 b Fd(HH)1110 1901 y Fo(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
+(digits\))630 2055 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g
 (macro,)i(single)e(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to)
-630 2036 y(indicate)23 b(a)e(macro)h(de\014nition.)38
+630 2164 y(indicate)23 b(a)e(macro)h(de\014nition.)38
 b(Unquoted)21 b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f
-(name.)38 b(In)630 2146 y(the)22 b(macro)f(b)s(o)s(dy)-8
+(name.)38 b(In)630 2274 y(the)22 b(macro)f(b)s(o)s(dy)-8
 b(,)23 b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m
-(e)j(are)e(expanded.)37 b(Bac)m(kslash)630 2255 y(will)j(quote)h(an)m
+(e)j(are)e(expanded.)37 b(Bac)m(kslash)630 2383 y(will)j(quote)h(an)m
 (y)f(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39
 b(`)p Fn(")p Fo(')h(and)g(`)p Fn(')p Fo('.)69 b(F)-8
-b(or)630 2365 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
+b(or)630 2493 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
 (mak)m(e)h(`)p Fg(C-x)j Fn(\\)p Fo(')c(insert)f(a)h(single)h(`)p
-Fn(\\)p Fo(')f(in)m(to)g(the)g(line:)870 2498 y Fn("\\C-x\\\\":)45
-b("\\\\")150 2718 y Fc(1.3.2)63 b(Conditional)41 b(Init)g(Constructs)
-275 2961 y Fo(Readline)36 b(implemen)m(ts)f(a)h(facilit)m(y)i(similar)d
+Fn(\\)p Fo(')f(in)m(to)g(the)g(line:)870 2625 y Fn("\\C-x\\\\":)45
+b("\\\\")150 2840 y Fc(1.3.2)63 b(Conditional)41 b(Init)g(Constructs)
+275 3081 y Fo(Readline)36 b(implemen)m(ts)f(a)h(facilit)m(y)i(similar)d
 (in)g(spirit)g(to)h(the)g(conditional)h(compilation)g(features)150
-3070 y(of)e(the)f(C)g(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)f
+3191 y(of)e(the)f(C)g(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)f
 (bindings)e(and)h(v)-5 b(ariable)35 b(settings)h(to)f(b)s(e)f(p)s
-(erformed)f(as)150 3180 y(the)e(result)f(of)g(tests.)42
+(erformed)f(as)150 3301 y(the)e(result)f(of)g(tests.)42
 b(There)30 b(are)h(four)e(parser)h(directiv)m(es)i(used.)150
-3336 y Fn($if)336 b Fo(The)31 b Fn($if)f Fo(construct)i(allo)m(ws)h
+3454 y Fn($if)336 b Fo(The)31 b Fn($if)f Fo(construct)i(allo)m(ws)h
 (bindings)d(to)i(b)s(e)e(made)i(based)f(on)g(the)g(editing)h(mo)s(de,)g
-(the)630 3446 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g
+(the)630 3564 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g
 (application)h(using)f(Readline.)64 b(The)38 b(text)h(of)f(the)g(test)
-630 3555 y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m
+630 3673 y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m
 (haracters)i(are)f(required)e(to)i(isolate)i(it.)630
-3712 y Fn(mode)288 b Fo(The)20 b Fn(mode=)g Fo(form)g(of)h(the)g
+3827 y Fn(mode)288 b Fo(The)20 b Fn(mode=)g Fo(form)g(of)h(the)g
 Fn($if)f Fo(directiv)m(e)j(is)e(used)f(to)h(test)h(whether)e(Readline)
-1110 3821 y(is)29 b(in)h Fn(emacs)e Fo(or)h Fn(vi)g Fo(mo)s(de.)40
+1110 3937 y(is)29 b(in)h Fn(emacs)e Fo(or)h Fn(vi)g Fo(mo)s(de.)40
 b(This)29 b(ma)m(y)h(b)s(e)e(used)h(in)g(conjunction)h(with)f(the)1110
-3931 y(`)p Fn(set)h(keymap)p Fo(')c(command,)i(for)f(instance,)i(to)f
-(set)g(bindings)f(in)g(the)h Fn(emacs-)1110 4041 y(standard)23
+4046 y(`)p Fn(set)h(keymap)p Fo(')c(command,)i(for)f(instance,)i(to)f
+(set)g(bindings)f(in)g(the)h Fn(emacs-)1110 4156 y(standard)23
 b Fo(and)h Fn(emacs-ctlx)f Fo(k)m(eymaps)i(only)g(if)g(Readline)h(is)f
-(starting)h(out)1110 4150 y(in)k Fn(emacs)f Fo(mo)s(de.)630
-4307 y Fn(term)288 b Fo(The)26 b Fn(term=)g Fo(form)g(ma)m(y)i(b)s(e)e
+(starting)h(out)1110 4266 y(in)k Fn(emacs)f Fo(mo)s(de.)630
+4419 y Fn(term)288 b Fo(The)26 b Fn(term=)g Fo(form)g(ma)m(y)i(b)s(e)e
 (used)g(to)i(include)f(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110
-4416 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f
-(output)g(b)m(y)g(the)g(terminal's)1110 4526 y(function)24
+4529 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f
+(output)g(b)m(y)g(the)g(terminal's)1110 4638 y(function)24
 b(k)m(eys.)39 b(The)23 b(w)m(ord)h(on)f(the)i(righ)m(t)f(side)g(of)g
-(the)g(`)p Fn(=)p Fo(')g(is)g(tested)h(against)1110 4636
+(the)g(`)p Fn(=)p Fo(')g(is)g(tested)h(against)1110 4748
 y(b)s(oth)k(the)h(full)g(name)g(of)g(the)g(terminal)h(and)e(the)i(p)s
-(ortion)e(of)h(the)g(terminal)1110 4745 y(name)k(b)s(efore)f(the)g
+(ortion)e(of)h(the)g(terminal)1110 4858 y(name)k(b)s(efore)f(the)g
 (\014rst)g(`)p Fn(-)p Fo('.)50 b(This)33 b(allo)m(ws)i
 Fn(sun)e Fo(to)h(matc)m(h)g(b)s(oth)f Fn(sun)g Fo(and)1110
-4855 y Fn(sun-cmd)p Fo(,)c(for)h(instance.)630 5011 y
-Fn(application)1110 5121 y Fo(The)21 b Fd(application)j
+4967 y Fn(sun-cmd)p Fo(,)c(for)h(instance.)630 5121 y
+Fn(application)1110 5230 y Fo(The)21 b Fd(application)j
 Fo(construct)e(is)g(used)f(to)i(include)f(application-sp)s(eci\014c)h
-(set-)1110 5230 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h
-(Readline)g(library)g(sets)g(the)g Fd(application)1110
-5340 y(name)p Fo(,)g(and)e(y)m(ou)g(can)h(test)g(for)f(a)g(particular)h
-(v)-5 b(alue.)39 b(This)22 b(could)h(b)s(e)g(used)f(to)p
-eop end
+(set-)1110 5340 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h
+(Readline)g(library)g(sets)g(the)g Fd(application)p eop
+end
 %%Page: 10 14
 TeXDict begin 10 13 bop 150 -116 a Fo(10)2600 b(GNU)31
-b(Readline)g(Library)1110 299 y(bind)h(k)m(ey)h(sequences)g(to)h
-(functions)e(useful)g(for)h(a)g(sp)s(eci\014c)f(program.)48
-b(F)-8 b(or)1110 408 y(instance,)35 b(the)e(follo)m(wing)h(command)f
-(adds)f(a)i(k)m(ey)f(sequence)h(that)f(quotes)1110 518
+b(Readline)g(Library)1110 299 y Fd(name)p Fo(,)25 b(and)e(y)m(ou)g(can)
+h(test)g(for)f(a)g(particular)h(v)-5 b(alue.)39 b(This)22
+b(could)h(b)s(e)g(used)f(to)1110 408 y(bind)32 b(k)m(ey)h(sequences)g
+(to)h(functions)e(useful)g(for)h(a)g(sp)s(eci\014c)f(program.)48
+b(F)-8 b(or)1110 518 y(instance,)35 b(the)e(follo)m(wing)h(command)f
+(adds)f(a)i(k)m(ey)f(sequence)h(that)f(quotes)1110 628
 y(the)e(curren)m(t)f(or)g(previous)g(w)m(ord)g(in)g(Bash:)1350
-653 y Fn($if)47 b(Bash)1350 762 y(#)g(Quote)g(the)g(current)f(or)h
-(previous)e(word)1350 872 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350
-981 y($endif)150 1141 y($endif)192 b Fo(This)29 b(command,)i(as)f(seen)
-h(in)f(the)g(previous)g(example,)h(terminates)g(an)g
-Fn($if)e Fo(command.)150 1300 y Fn($else)240 b Fo(Commands)29
+762 y Fn($if)47 b(Bash)1350 872 y(#)g(Quote)g(the)g(current)f(or)h
+(previous)e(word)1350 981 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350
+1091 y($endif)150 1250 y($endif)192 b Fo(This)29 b(command,)i(as)f
+(seen)h(in)f(the)g(previous)g(example,)h(terminates)g(an)g
+Fn($if)e Fo(command.)150 1410 y Fn($else)240 b Fo(Commands)29
 b(in)h(this)h(branc)m(h)e(of)i(the)f Fn($if)g Fo(directiv)m(e)i(are)f
-(executed)g(if)f(the)h(test)g(fails.)150 1460 y Fn($include)96
+(executed)g(if)f(the)h(test)g(fails.)150 1569 y Fn($include)96
 b Fo(This)43 b(directiv)m(e)i(tak)m(es)g(a)e(single)i(\014lename)e(as)h
-(an)f(argumen)m(t)h(and)f(reads)g(commands)630 1569 y(and)38
+(an)f(argumen)m(t)h(and)f(reads)g(commands)630 1679 y(and)38
 b(bindings)f(from)h(that)i(\014le.)65 b(F)-8 b(or)39
 b(example,)j(the)d(follo)m(wing)h(directiv)m(e)g(reads)e(from)630
-1679 y(`)p Fn(/etc/inputrc)p Fo(':)870 1813 y Fn($include)46
-b(/etc/inputrc)150 2037 y Fc(1.3.3)63 b(Sample)41 b(Init)g(File)275
-2281 y Fo(Here)31 b(is)f(an)g(example)i(of)e(an)g Fd(inputrc)35
+1788 y(`)p Fn(/etc/inputrc)p Fo(':)870 1923 y Fn($include)46
+b(/etc/inputrc)150 2147 y Fc(1.3.3)63 b(Sample)41 b(Init)g(File)275
+2391 y Fo(Here)31 b(is)f(an)g(example)i(of)e(an)g Fd(inputrc)35
 b Fo(\014le.)42 b(This)29 b(illustrates)j(k)m(ey)f(binding,)f(v)-5
-b(ariable)31 b(assignmen)m(t,)150 2391 y(and)f(conditional)h(syn)m
+b(ariable)31 b(assignmen)m(t,)150 2501 y(and)f(conditional)h(syn)m
 (tax.)p eop end
 %%Page: 11 15
 TeXDict begin 11 14 bop 150 -116 a Fo(Chapter)30 b(1:)41
index db80b312611ce1eb19996f7d48fc7786b17e66a4..086aa83852fcfa114d8a6872ed87eedefbe250dc 100644 (file)
@@ -14,7 +14,7 @@ This manual describes the end user interface of the GNU Readline Library
 consistency of user interface across discrete programs which provide
 a command line interface.
 
-Copyright @copyright{} 1988-2005 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2006 Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -22,7 +22,7 @@ are preserved on all copies.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.2 or
 any later version published by the Free Software Foundation; with no
 Invariant Sections, with the Front-Cover texts being ``A GNU Manual,''
 and with the Back-Cover Texts as in (a) below.  A copy of the license is
index 99816bf6807e8890093a6fc6da743ca866ada705..654e83777d50ba36044db30350de26f4cca68b64 100644 (file)
@@ -1,10 +1,10 @@
 @ignore
-Copyright (C) 1988-2005 Free Software Foundation, Inc. 
+Copyright (C) 1988-2006 Free Software Foundation, Inc. 
 @end ignore
 
-@set EDITION 5.1-beta1
-@set VERSION 5.1-beta1
-@set UPDATED 11 November 2005
-@set UPDATED-MONTH November 2005
+@set EDITION 5.2
+@set VERSION 5.2
+@set UPDATED 26 April 2006
+@set UPDATED-MONTH April 2006
 
-@set LASTCHANGE Fri Nov 11 19:50:51 EST 2005
+@set LASTCHANGE Wed Apr 26 09:22:57 EDT 2006
index 3d4bb189c6919d90d17748ddee39a603f076ce02..385492b1b702330ca3fbd5335674b9f60651f3ae 100644 (file)
@@ -32,6 +32,9 @@ Let me know what you think.
 
 Jeff
 */
+/*
+Copyright (C) 1999 Jeff Solomon
+*/
 
 #if defined (HAVE_CONFIG_H)
 #include <config.h>
index 4653dec4e9bd63b61e932d389142368f61bbd411..70aa6b3175eec26256f482d33dd1524324dfcfdc 100644 (file)
@@ -25,7 +25,7 @@ CFLAGS = @CFLAGS@
 CPPFLAGS = @CPPFLAGS@
 #LDFLAGS = -L$(READLINE_DIR)
 LDFLAGS = @LDFLAGS@
-LIBS = -lreadline -lhistory -lncurses
+LIBS = -lreadline -lhistory -lncurses @LIBS@
 
 CPP=@CPP@
 CPP_DEPEND=$(CC) -MM
index 684701469022f82140780eb1881c83cd0c45a149..f46c0b2a45d810c95e7578012b51e0d80a375364 100644 (file)
@@ -56,8 +56,6 @@
 
 typedef int _hist_search_func_t PARAMS((const char *, int));
 
-extern int rl_byte_oriented;   /* declared in mbutil.c */
-
 static char error_pointer;
 
 static char *subst_lhs;
@@ -564,12 +562,12 @@ history_expand_internal (string, start, end_index_ptr, ret_string, current_line)
 #if defined (HANDLE_MULTIBYTE)
       if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
        {
-         int c, l;
+         int ch, l;
          l = _rl_find_prev_mbchar (string, i, MB_FIND_ANY);
-         c = string[l];
+         ch = string[l];
          /* XXX - original patch had i - 1 ???  If i == 0 it would fail. */
-         if (i && (c == '\'' || c == '"'))
-           quoted_search_delimiter = c;
+         if (i && (ch == '\'' || ch == '"'))
+           quoted_search_delimiter = ch;
        }
       else
 #endif /* HANDLE_MULTIBYTE */    
@@ -1430,6 +1428,8 @@ history_tokenize_word (string, ind)
        {
          if (peek == '<' && string[i + 2] == '-')
            i++;
+         else if (peek == '<' && string[i + 2] == '<')
+           i++;
          i += 2;
          return i;
        }
index 717bbee6fd73ed22f95c44906df70bf4872c954a..2f051a325631f6755ee54a7d36fa5e0a85fec230 100644 (file)
@@ -256,7 +256,11 @@ read_history_range (filename, from, to)
   for (line_end = line_start; line_end < bufend; line_end++)
     if (*line_end == '\n')
       {
-       *line_end = '\0';
+       /* Change to allow Windows-like \r\n end of line delimiter. */
+       if (line_end > line_start && line_end[-1] == '\r')
+         line_end[-1] = '\0';
+       else
+         *line_end = '\0';
 
        if (*line_start)
          {
index a538f91c0d7b387c088705e785e85c36de62f37e..1ccf4db786c60a544698a8d741258c4d2122cd35 100644 (file)
--- a/history.c
+++ b/history.c
@@ -209,6 +209,22 @@ history_get (offset)
                : the_history[local_index];
 }
 
+HIST_ENTRY *
+alloc_history_entry (string, ts)
+     char *string;
+     char *ts;
+{
+  HIST_ENTRY *temp;
+
+  temp = (HIST_ENTRY *)xmalloc (sizeof (HIST_ENTRY));
+
+  temp->line = string ? savestring (string) : string;
+  temp->data = (char *)NULL;
+  temp->timestamp = ts;
+
+  return temp;
+}
+
 time_t
 history_get_time (hist)
      HIST_ENTRY *hist;
@@ -290,11 +306,7 @@ add_history (string)
        }
     }
 
-  temp = (HIST_ENTRY *)xmalloc (sizeof (HIST_ENTRY));
-  temp->line = savestring (string);
-  temp->data = (char *)NULL;
-
-  temp->timestamp = hist_inittime ();
+  temp = alloc_history_entry (string, hist_inittime ());
 
   the_history[history_length] = (HIST_ENTRY *)NULL;
   the_history[history_length - 1] = temp;
@@ -328,6 +340,26 @@ free_history_entry (hist)
   free (hist);
   return (x);
 }
+
+HIST_ENTRY *
+copy_history_entry (hist)
+     HIST_ENTRY *hist;
+{
+  HIST_ENTRY *ret;
+  char *ts;
+
+  if (hist == 0)
+    return hist;
+
+  ret = alloc_history_entry (hist->line, (char *)NULL);
+
+  ts = hist->timestamp ? savestring (hist->timestamp) : hist->timestamp;
+  ret->timestamp = ts;
+
+  ret->data = hist->data;
+
+  return ret;
+}
   
 /* Make the history entry at WHICH have LINE and DATA.  This returns
    the old entry so you can dispose of the data.  In the case of an
@@ -354,6 +386,51 @@ replace_history_entry (which, line, data)
   return (old_value);
 }
 
+/* Replace the DATA in the specified history entries, replacing OLD with
+   NEW.  WHICH says which one(s) to replace:  WHICH == -1 means to replace
+   all of the history entries where entry->data == OLD; WHICH == -2 means
+   to replace the `newest' history entry where entry->data == OLD; and
+   WHICH >= 0 means to replace that particular history entry's data, as
+   long as it matches OLD. */
+void
+replace_history_data (which,old, new)
+     int which;
+     histdata_t *old, *new;
+{
+  HIST_ENTRY *entry;
+  register int i, last;
+
+  if (which < -2 || which >= history_length || history_length == 0 || the_history == 0)
+    return;
+
+  if (which >= 0)
+    {
+      entry = the_history[which];
+      if (entry && entry->data == old)
+       entry->data = new;
+      return;
+    }
+
+  last = -1;
+  for (i = 0; i < history_length; i++)
+    {
+      entry = the_history[i];
+      if (entry == 0)
+       continue;
+      if (entry->data == old)
+       {
+         last = i;
+         if (which == -1)
+           entry->data = new;
+       }
+    }
+  if (which == -2 && last >= 0)
+    {
+      entry = the_history[last];
+      entry->data = new;       /* XXX - we don't check entry->old */
+    }
+}      
+  
 /* Remove history element WHICH from the history.  The removed
    element is returned to you so you can free the line, data,
    and containing structure. */
diff --git a/input.c b/input.c
index 0ec507ec27c5c9aaef808a361d521eec2d7a8031..da5d771c4818419983495a28d1e8e0b4aa4faaf8 100644 (file)
--- a/input.c
+++ b/input.c
@@ -179,6 +179,7 @@ rl_gather_tyi ()
   struct timeval timeout;
 #endif
 
+  chars_avail = 0;
   tty = fileno (rl_instream);
 
 #if defined (HAVE_SELECT)
@@ -220,6 +221,13 @@ rl_gather_tyi ()
     }
 #endif /* O_NDELAY */
 
+#if defined (__MINGW32__)
+  /* Use getch/_kbhit to check for available console input, in the same way
+     that we read it normally. */
+   chars_avail = isatty (tty) ? _kbhit () : 0;
+   result = 0;
+#endif
+
   /* If there's nothing available, don't waste time trying to read
      something. */
   if (chars_avail <= 0)
@@ -263,7 +271,7 @@ rl_set_keyboard_input_timeout (u)
   int o;
 
   o = _keyboard_input_timeout;
-  if (u > 0)
+  if (u >= 0)
     _keyboard_input_timeout = u;
   return (o);
 }
@@ -303,6 +311,11 @@ _rl_input_available ()
     return (chars_avail);
 #endif
 
+#endif
+
+#if defined (__MINGW32__)
+  if (isatty (tty))
+    return (_kbhit ());
 #endif
 
   return 0;
@@ -489,7 +502,7 @@ rl_getc (stream)
         this is simply an interrupted system call to read ().
         Otherwise, some error ocurred, also signifying EOF. */
       if (errno != EINTR)
-       return (EOF);
+       return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
     }
 }
 
@@ -537,21 +550,21 @@ _rl_read_mbchar (mbchar, size)
 }
 
 /* Read a multibyte-character string whose first character is FIRST into
-   the buffer MB of length MBLEN.  Returns the last character read, which
+   the buffer MB of length MLEN.  Returns the last character read, which
    may be FIRST.  Used by the search functions, among others.  Very similar
    to _rl_read_mbchar. */
 int
-_rl_read_mbstring (first, mb, mblen)
+_rl_read_mbstring (first, mb, mlen)
      int first;
      char *mb;
-     int mblen;
+     int mlen;
 {
   int i, c;
   mbstate_t ps;
 
   c = first;
-  memset (mb, 0, mblen);
-  for (i = 0; i < mblen; i++)
+  memset (mb, 0, mlen);
+  for (i = 0; i < mlen; i++)
     {
       mb[i] = (char)c;
       memset (&ps, 0, sizeof (mbstate_t));
index d7d8520ed859b6e447c05c551f324e052e56511e..9f67bfc08018723f2896932e0c70ddf157b5e156 100644 (file)
--- a/isearch.c
+++ b/isearch.c
@@ -68,8 +68,8 @@ static void _rl_isearch_fini PARAMS((_rl_search_cxt *));
 static int _rl_isearch_cleanup PARAMS((_rl_search_cxt *, int));
 
 /* Last line found by the current incremental search, so we don't `find'
-   identical lines many times in a row. */
-static char *prev_line_found;
+   identical lines many times in a row.  Now part of isearch context. */
+/* static char *prev_line_found; */
 
 /* Last search string and its length. */
 static char *last_isearch_string;
diff --git a/kill.c b/kill.c
index 1d3254c3275dc62260c1f481355ea70299f9724c..031ddf47c5ba12fab87f91edaff594dfd02c85a1 100644 (file)
--- a/kill.c
+++ b/kill.c
@@ -582,6 +582,7 @@ rl_yank_nth_arg_internal (count, ignore, history_skip)
   if (!arg || !*arg)
     {
       rl_ding ();
+      FREE (arg);
       return -1;
     }
 
diff --git a/macro.c b/macro.c
index 2975bf1f74fae541d05033b44b824257d8c631f1..00cd58d628c0c3ac56dae5142ed07d4945804b81 100644 (file)
--- a/macro.c
+++ b/macro.c
@@ -113,7 +113,7 @@ _rl_next_macro_key ()
 
 #if defined (READLINE_CALLBACKS)
   c = rl_executing_macro[executing_macro_index++];
-  if (RL_ISSTATE (RL_STATE_CALLBACK) && RL_ISSTATE (RL_STATE_READCMD) && rl_executing_macro[executing_macro_index] == 0)
+  if (RL_ISSTATE (RL_STATE_CALLBACK) && RL_ISSTATE (RL_STATE_READCMD|RL_STATE_MOREINPUT) && rl_executing_macro[executing_macro_index] == 0)
       _rl_pop_executing_macro ();
   return c;
 #else
diff --git a/misc.c b/misc.c
index d4558321dec558006f1a9366381fff3567e5fc9f..94ecb25900a033da18d51d8b68e316cdb641453d 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -212,6 +212,8 @@ rl_digit_loop ()
       if (r <= 0 || (RL_ISSTATE (RL_STATE_NUMERICARG) == 0))
         break;
     }
+
+  return r;
 }
 
 /* Create a default argument. */
index 5eaaf47435e6b87c20f21150a753c0f8f2724f69..c2b74006b05045ceb82542ddc6e2d910e979bf2c 100644 (file)
 
 #include <stdio.h>
 #include "posixjmp.h"
+#include <errno.h>
+
+#if !defined (errno)
+extern int errno;
+#endif /* !errno */
 
 /* System-specific feature definitions and include files. */
 #include "rldefs.h"
@@ -479,6 +484,20 @@ readline_internal_charloop ()
       c = rl_read_key ();
       RL_UNSETSTATE(RL_STATE_READCMD);
 
+      /* look at input.c:rl_getc() for the circumstances under which this will
+        be returned; punt immediately on read error without converting it to
+        a newline. */
+      if (c == READERR)
+       {
+#if defined (READLINE_CALLBACKS)
+         RL_SETSTATE(RL_STATE_DONE);
+         return (rl_done = 1);
+#else
+         eof_found = 1;
+         break;
+#endif
+       }
+
       /* EOF typed to a non-blank line is a <NL>. */
       if (c == EOF && rl_end)
        c = NEWLINE;
index fade6d41d2f9739100c49518df63860c81a111a0..b71bf98d204dee1b59903139fbb6f7991245cb34 100644 (file)
@@ -40,9 +40,9 @@ extern "C" {
 #endif
 
 /* Hex-encoded Readline version number. */
-#define RL_READLINE_VERSION    0x0501          /* Readline 5.1 */
+#define RL_READLINE_VERSION    0x0502          /* Readline 5.2 */
 #define RL_VERSION_MAJOR       5
-#define RL_VERSION_MINOR       1
+#define RL_VERSION_MINOR       2
 
 /* Readline data structures. */
 
@@ -757,6 +757,10 @@ extern int rl_ignore_completion_duplicates;
    completion character will be inserted as any other. */
 extern int rl_inhibit_completion;
 
+/* Input error; can be returned by (*rl_getc_function) if readline is reading
+   a top-level command (RL_ISSTATE (RL_STATE_READCMD)). */
+#define READERR                        (-2)
+
 /* Definitions available for use by readline clients. */
 #define RL_PROMPT_START_IGNORE '\001'
 #define RL_PROMPT_END_IGNORE   '\002'
index c651fd8b41f66ad39807ee1e18e714fcb8dae961..ff3929e0bf55261b42cc3217a0e9631ea2a1c7d2 100644 (file)
--- a/rlconf.h
+++ b/rlconf.h
 /* Ugly but working hack for binding prefix meta. */
 #define PREFIX_META_HACK
 
-/* The final, last-ditch effort file name for an init file. */
+/* The next-to-last-ditch effort file name for a user-specific init file. */
 #define DEFAULT_INPUTRC "~/.inputrc"
 
+/* The ultimate last-ditch filenname for an init file -- system-wide. */
+#define SYS_INPUTRC "/etc/inputrc"
+
 /* If defined, expand tabs to spaces. */
 #define DISPLAY_TABS
 
index 11adacb45eadc23f116778042c46d6ba5bfc1030..dd317e2a090cdf4266050dbf4699e0932d414da8 100644 (file)
 /* For platforms which support the ISO C amendement 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)
+#if defined (HAVE_WCTYPE_H) && defined (HAVE_WCHAR_H) && defined (HAVE_LOCALE_H)
 #  include <wchar.h>
 #  include <wctype.h>
-#  if defined (HAVE_MBSRTOWCS) && defined (HAVE_MBRTOWC) && defined (HAVE_MBRLEN) && defined (HAVE_WCWIDTH)
+#  if defined (HAVE_ISWCTYPE) && \
+      defined (HAVE_ISWLOWER) && \
+      defined (HAVE_ISWUPPER) && \
+      defined (HAVE_MBSRTOWCS) && \
+      defined (HAVE_MBRTOWC) && \
+      defined (HAVE_MBRLEN) && \
+      defined (HAVE_TOWLOWER) && \
+      defined (HAVE_TOWUPPER) && \
+      defined (HAVE_WCHAR_T) && \
+      defined (HAVE_WCWIDTH)
      /* system is supposed to support XPG5 */
 #    define HANDLE_MULTIBYTE      1
 #  endif
index 1c216ead14f73a4f583acd88080fc200fd09823d..64aa7bdd3fa4339e72afe3bfc278f39a279f533f 100644 (file)
@@ -309,6 +309,10 @@ extern int _rl_char_search_internal PARAMS((int, int, int));
 #endif
 extern int _rl_set_mark_at_pos PARAMS((int));
 
+/* undo.c */
+extern UNDO_LIST *_rl_copy_undo_entry PARAMS((UNDO_LIST *));
+extern UNDO_LIST *_rl_copy_undo_list PARAMS((UNDO_LIST *));
+
 /* util.c */
 extern int _rl_abort_internal PARAMS((void));
 extern char *_rl_strindex PARAMS((const char *, const char *));
@@ -404,6 +408,7 @@ extern char *_rl_term_up;
 extern char *_rl_term_dc;
 extern char *_rl_term_cr;
 extern char *_rl_term_IC;
+extern char *_rl_term_forward_char;
 extern int _rl_screenheight;
 extern int _rl_screenwidth;
 extern int _rl_screenchars;
diff --git a/rltty.c b/rltty.c
index 9a0326ed2095994a048fa9d6204916b30b98fc90..0a570f85840c659024f3a91c9128f54dedb093ed 100644 (file)
--- a/rltty.c
+++ b/rltty.c
@@ -933,7 +933,6 @@ rltty_set_default_bindings (kmap)
 #if !defined (NO_TTY_DRIVER)
   TIOTYPE ttybuff;
   int tty;
-  static int called = 0;
 
   tty = fileno (rl_instream);
 
index 8013916c20ea0a18d1763efad6a4c2310c0d4e35..33cc4fc1e73697fcdacd2c1ce0a3fd2471722b17 100644 (file)
--- a/search.c
+++ b/search.c
@@ -70,7 +70,6 @@ static int rl_history_search_pos;
 static char *history_search_string;
 static int history_string_size;
 
-static UNDO_LIST *noninc_saved_undo_list;
 static void make_history_line_current PARAMS((HIST_ENTRY *));
 static int noninc_search_from_pos PARAMS((char *, int, int));
 static int noninc_dosearch PARAMS((char *, int));
@@ -212,7 +211,7 @@ _rl_nsearch_init (dir, pchar)
   rl_end = rl_point = 0;
 
   p = _rl_make_prompt_for_search (pchar ? pchar : ':');
-  rl_message (p, 0, 0);
+  rl_message ("%s", p, 0);
   free (p);
 
   RL_SETSTATE(RL_STATE_NSEARCH);
index f344ed834975244d880e7c5d052e5c754afed2cd..54f2a642846d388f7c05b14ef60779180230bb46 100644 (file)
--- a/signals.c
+++ b/signals.c
@@ -160,6 +160,7 @@ rl_signal_handler (sig)
       rl_cleanup_after_signal ();
 
 #if defined (HAVE_POSIX_SIGNALS)
+      sigemptyset (&set);
       sigprocmask (SIG_BLOCK, (sigset_t *)NULL, &set);
       sigdelset (&set, sig);
 #else /* !HAVE_POSIX_SIGNALS */
@@ -288,9 +289,44 @@ rl_set_signals ()
 {
   sighandler_cxt dummy;
   SigHandler *oh;
+#if defined (HAVE_POSIX_SIGNALS)
+  static int sigmask_set = 0;
+  static sigset_t bset, oset;
+#endif
+
+#if defined (HAVE_POSIX_SIGNALS)
+  if (rl_catch_signals && sigmask_set == 0)
+    {
+      sigemptyset (&bset);
+
+      sigaddset (&bset, SIGINT);
+      sigaddset (&bset, SIGINT);
+#if defined (SIGQUIT)
+      sigaddset (&bset, SIGQUIT);
+#endif
+#if defined (SIGALRM)
+      sigaddset (&bset, SIGALRM);
+#endif
+#if defined (SIGTSTP)
+      sigaddset (&bset, SIGTSTP);
+#endif
+#if defined (SIGTTIN)
+      sigaddset (&bset, SIGTTIN);
+#endif
+#if defined (SIGTTOU)
+      sigaddset (&bset, SIGTTOU);
+#endif
+      sigmask_set = 1;
+    }      
+#endif /* HAVE_POSIX_SIGNALS */
 
   if (rl_catch_signals && signals_set_flag == 0)
     {
+#if defined (HAVE_POSIX_SIGNALS)
+      sigemptyset (&oset);
+      sigprocmask (SIG_BLOCK, &bset, &oset);
+#endif
+
       rl_maybe_set_sighandler (SIGINT, rl_signal_handler, &old_int);
       rl_maybe_set_sighandler (SIGTERM, rl_signal_handler, &old_term);
 #if defined (SIGQUIT)
@@ -324,6 +360,10 @@ rl_set_signals ()
 #endif /* SIGTTIN */
 
       signals_set_flag = 1;
+
+#if defined (HAVE_POSIX_SIGNALS)
+      sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
+#endif
     }
 
 #if defined (SIGWINCH)
@@ -390,8 +430,8 @@ rl_cleanup_after_signal ()
   _rl_clean_up_for_exit ();
   if (rl_deprep_term_function)
     (*rl_deprep_term_function) ();
-  rl_clear_signals ();
   rl_clear_pending_input ();
+  rl_clear_signals ();
 }
 
 /* Reset the terminal and readline state after a signal handler returns. */
index 2cd252a3658042e2bf9a691a4ee25b68c9adffae..790f53e6c23e4ddb229458520097f0182a98c6a9 100755 (executable)
@@ -65,10 +65,11 @@ fi
 # post-install/uninstall
 
 # HP-UX and Darwin/MacOS X require that a shared library have execute permission
+# Linux does, too, and ldd warns about it
 # Cygwin installs both a dll (which must go in $BINDIR) and an implicit
 # link library (in $libdir)
 case "$host_os" in
-hpux*|darwin*|macosx*)
+hpux*|darwin*|macosx*|linux*)
        if [ -z "$uninstall" ]; then
                chmod 555 ${INSTALLDIR}/${LIBNAME}
        fi ;;
index 0e306bc1a72133843955a0e80219e966f3d50542..ef7863a3bc401c0d1f6d3caebed4bcde24fb7cef 100755 (executable)
@@ -142,6 +142,23 @@ freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*)
        ;;
 
 # Darwin/MacOS X
+darwin8*)
+       SHOBJ_STATUS=supported
+       SHLIB_STATUS=supported
+       
+       SHOBJ_CFLAGS='-fno-common'
+
+       SHOBJ_LD='MACOSX_DEPLOYMENT_TARGET=10.3 ${CC}'
+
+       SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
+       SHLIB_LIBSUFF='dylib'
+
+       SHOBJ_LDFLAGS='-undefined dynamic_lookup'
+       SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
+
+       SHLIB_LIBS='-lncurses'  # see if -lcurses works on MacOS X 10.1 
+       ;;
+
 darwin*|macosx*)
        SHOBJ_STATUS=unsupported
        SHLIB_STATUS=supported
index cc61388f816641fd066e813fe3462e51d350044a..547f6f5dfe5fa54c81be27807e507c2b26ab1491 100644 (file)
@@ -1,6 +1,6 @@
 /* terminal.c -- controlling the terminal with termcap. */
 
-/* Copyright (C) 1996-2005 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2006 Free Software Foundation, Inc.
 
    This file is part of the GNU Readline Library, a library for
    reading lines of text with interactive input and history editing.
 #include "rlshell.h"
 #include "xmalloc.h"
 
+#if defined (__MINGW32__)
+#  include <windows.h>
+#  include <wincon.h>
+
+static void _win_get_screensize PARAMS((int *, int *));
+#endif
+
+#if defined (__EMX__)
+static void _emx_get_screensize PARAMS((int *, int *));
+#endif
+
 #define CUSTOM_REDISPLAY_FUNC() (rl_redisplay_function != rl_redisplay)
 #define CUSTOM_INPUT_FUNC() (rl_getc_function != rl_getc)
 
-int rl_prefer_env_winsize;
+/*  If the calling application sets this to a non-zero value, readline will
+    use the $LINES and $COLUMNS environment variables to set its idea of the
+    window size before interrogating the kernel. */
+int rl_prefer_env_winsize = 0;
 
 /* **************************************************************** */
 /*                                                                 */
@@ -111,9 +125,7 @@ char *_rl_term_IC;
 char *_rl_term_dc;
 char *_rl_term_DC;
 
-#if defined (HACK_TERMCAP_MOTION)
 char *_rl_term_forward_char;
-#endif  /* HACK_TERMCAP_MOTION */
 
 /* How to go up a line. */
 char *_rl_term_up;
@@ -122,7 +134,7 @@ char *_rl_term_up;
 static char *_rl_visible_bell;
 
 /* Non-zero means the terminal can auto-wrap lines. */
-int _rl_term_autowrap;
+int _rl_term_autowrap = -1;
 
 /* Non-zero means that this terminal has a meta key. */
 static int term_has_meta;
@@ -184,6 +196,26 @@ _emx_get_screensize (swp, shp)
 }
 #endif
 
+#if defined (__MINGW32__)
+static void
+_win_get_screensize (swp, shp)
+     int *swp, *shp;
+{
+  HANDLE hConOut;
+  CONSOLE_SCREEN_BUFFER_INFO scr;
+
+  hConOut = GetStdHandle (STD_OUTPUT_HANDLE);
+  if (hConOut != INVALID_HANDLE_VALUE)
+    {
+      if (GetConsoleScreenBufferInfo (hConOut, &scr))
+       {
+         *swp = scr.dwSize.X;
+         *shp = scr.srWindow.Bottom - scr.srWindow.Top + 1;
+       }
+    }
+}
+#endif
+
 /* Get readline's idea of the screen size.  TTY is a file descriptor open
    to the terminal.  If IGNORE_ENV is true, we do not pay attention to the
    values of $LINES and $COLUMNS.  The tests for TERM_STRING_BUFFER being
@@ -208,7 +240,9 @@ _rl_get_screen_size (tty, ignore_env)
 #endif /* TIOCGWINSZ */
 
 #if defined (__EMX__)
-  _emx_get_screensize (&_rl_screenwidth, &_rl_screenheight);
+  _emx_get_screensize (&wc, &wr);
+#elif defined (__MINGW32__)
+  _win_get_screensize (&wc, &wr);
 #endif
 
   if (ignore_env || rl_prefer_env_winsize == 0)
@@ -274,6 +308,9 @@ void
 _rl_set_screen_size (rows, cols)
      int rows, cols;
 {
+  if (_rl_term_autowrap == -1)
+    _rl_init_terminal_io (rl_terminal_name);
+
   if (rows > 0)
     _rl_screenheight = rows;
   if (cols > 0)
@@ -355,9 +392,7 @@ static struct _tc_string tc_strings[] =
   { "le", &_rl_term_backspace },
   { "mm", &_rl_term_mm },
   { "mo", &_rl_term_mo },
-#if defined (HACK_TERMCAP_MOTION)
   { "nd", &_rl_term_forward_char },
-#endif
   { "pc", &_rl_term_pc },
   { "up", &_rl_term_up },
   { "vb", &_rl_visible_bell },
@@ -454,9 +489,7 @@ _rl_init_terminal_io (terminal_name)
       _rl_term_ks = _rl_term_ke = _rl_term_at7 = (char *)NULL;
       _rl_term_mm = _rl_term_mo = (char *)NULL;
       _rl_term_ve = _rl_term_vs = (char *)NULL;
-#if defined (HACK_TERMCAP_MOTION)
-      term_forward_char = (char *)NULL;
-#endif
+      _rl_term_forward_char = (char *)NULL;
       _rl_terminal_can_insert = term_has_meta = 0;
 
       /* Reasonable defaults for tgoto().  Readline currently only uses
diff --git a/text.c b/text.c
index bb87604aa6d4b286d9cc67de8503b5277963d3ec..399a48c5f1e7a297069bf0ed8caa09523312650f 100644 (file)
--- a/text.c
+++ b/text.c
@@ -1071,6 +1071,8 @@ int
 rl_delete (count, key)
      int count, key;
 {
+  int xpoint;
+
   if (count < 0)
     return (_rl_rubout_char (-count, key));
 
@@ -1082,21 +1084,19 @@ rl_delete (count, key)
 
   if (count > 1 || rl_explicit_arg)
     {
-      int orig_point = rl_point;
+      xpoint = rl_point;
       if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
        rl_forward_char (count, key);
       else
        rl_forward_byte (count, key);
 
-      rl_kill_text (orig_point, rl_point);
-      rl_point = orig_point;
+      rl_kill_text (xpoint, rl_point);
+      rl_point = xpoint;
     }
   else
     {
-      int new_point;
-
-      new_point = MB_NEXTCHAR (rl_line_buffer, rl_point, 1, MB_FIND_NONZERO);
-      rl_delete_text (rl_point, new_point);
+      xpoint = MB_NEXTCHAR (rl_line_buffer, rl_point, 1, MB_FIND_NONZERO);
+      rl_delete_text (rl_point, xpoint);
     }
   return 0;
 }
@@ -1237,8 +1237,8 @@ rl_change_case (count, op)
 #if defined (HANDLE_MULTIBYTE)
   wchar_t wc, nwc;
   char mb[MB_LEN_MAX+1];
-  int mblen, p;
-  mbstate_t ps;
+  int mlen;
+  mbstate_t mps;
 #endif
 
   start = rl_point;
@@ -1255,7 +1255,7 @@ rl_change_case (count, op)
     SWAP (start, end);
 
 #if defined (HANDLE_MULTIBYTE)
-  memset (&ps, 0, sizeof (mbstate_t));
+  memset (&mps, 0, sizeof (mbstate_t));
 #endif
 
   /* We are going to modify some text, so let's prepare to undo it. */
@@ -1290,15 +1290,15 @@ rl_change_case (count, op)
 #if defined (HANDLE_MULTIBYTE)
       else
        {
-         mbrtowc (&wc, rl_line_buffer + start, end - start, &ps);
+         mbrtowc (&wc, rl_line_buffer + start, end - start, &mps);
          nwc = (nop == UpCase) ? _rl_to_wupper (wc) : _rl_to_wlower (wc);
          if  (nwc != wc)       /*  just skip unchanged characters */
            {
-             mblen = wcrtomb (mb, nwc, &ps);
-             if (mblen > 0)
-               mb[mblen] = '\0';
+             mlen = wcrtomb (mb, nwc, &mps);
+             if (mlen > 0)
+               mb[mlen] = '\0';
              /* Assume the same width */
-             strncpy (rl_line_buffer + start, mb, mblen);
+             strncpy (rl_line_buffer + start, mb, mlen);
            }
        }
 #endif
diff --git a/tilde.c b/tilde.c
index d757f7a9d70efd9542c6501bf581bc8a51682135..1b76c9f240475914845e91acc66920112cd1b116 100644 (file)
--- a/tilde.c
+++ b/tilde.c
@@ -404,17 +404,17 @@ tilde_expand_word (filename)
              free (expansion);
            }
        }
-      free (username);
       /* If we don't have a failure hook, or if the failure hook did not
         expand the tilde, return a copy of what we were passed. */
       if (dirname == 0)
        dirname = savestring (filename);
     }
+#if defined (HAVE_GETPWENT)
   else
-    {
-      free (username);
-      dirname = glue_prefix_and_suffix (user_entry->pw_dir, filename, user_len);
-    }
+    dirname = glue_prefix_and_suffix (user_entry->pw_dir, filename, user_len);
+#endif
+
+  free (username);
 #if defined (HAVE_GETPWENT)
   endpwent ();
 #endif
diff --git a/undo.c b/undo.c
index fedfa121fc0d7e68c89da0e5a63ae4ec395c214e..9d9bd25ba8f6b76fdacce6cc554397392fc73d50 100644 (file)
--- a/undo.c
+++ b/undo.c
@@ -1,7 +1,7 @@
 /* readline.c -- a general facility for reading lines of input
    with emacs style editing and completion. */
 
-/* Copyright (C) 1987, 1989, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1987, 1989, 1992, 2006 Free Software Foundation, Inc.
 
    This file is part of the GNU Readline Library, a library for
    reading lines of text with interactive input and history editing.
@@ -50,6 +50,8 @@
 #include "rlprivate.h"
 #include "xmalloc.h"
 
+extern void replace_history_data PARAMS((int, histdata_t *, histdata_t *));
+
 /* Non-zero tells rl_delete_text and rl_insert_text to not add to
    the undo list. */
 int _rl_doing_an_undo = 0;
@@ -66,19 +68,35 @@ UNDO_LIST *rl_undo_list = (UNDO_LIST *)NULL;
 /*                                                                 */
 /* **************************************************************** */
 
-/* Remember how to undo something.  Concatenate some undos if that
-   seems right. */
-void
-rl_add_undo (what, start, end, text)
+static UNDO_LIST *
+alloc_undo_entry (what, start, end, text)
      enum undo_code what;
      int start, end;
      char *text;
 {
-  UNDO_LIST *temp = (UNDO_LIST *)xmalloc (sizeof (UNDO_LIST));
+  UNDO_LIST *temp;
+
+  temp = (UNDO_LIST *)xmalloc (sizeof (UNDO_LIST));
   temp->what = what;
   temp->start = start;
   temp->end = end;
   temp->text = text;
+
+  temp->next = (UNDO_LIST *)NULL;
+  return temp;
+}
+
+/* Remember how to undo something.  Concatenate some undos if that
+   seems right. */
+void
+rl_add_undo (what, start, end, text)
+     enum undo_code what;
+     int start, end;
+     char *text;
+{
+  UNDO_LIST *temp;
+
+  temp = alloc_undo_entry (what, start, end, text);
   temp->next = rl_undo_list;
   rl_undo_list = temp;
 }
@@ -87,9 +105,12 @@ rl_add_undo (what, start, end, text)
 void
 rl_free_undo_list ()
 {
+  UNDO_LIST *release, *orig_list;
+
+  orig_list = rl_undo_list;
   while (rl_undo_list)
     {
-      UNDO_LIST *release = rl_undo_list;
+      release = rl_undo_list;
       rl_undo_list = rl_undo_list->next;
 
       if (release->what == UNDO_DELETE)
@@ -98,6 +119,43 @@ rl_free_undo_list ()
       free (release);
     }
   rl_undo_list = (UNDO_LIST *)NULL;
+  replace_history_data (-1, (histdata_t *)orig_list, (histdata_t *)NULL);
+}
+
+UNDO_LIST *
+_rl_copy_undo_entry (entry)
+     UNDO_LIST *entry;
+{
+  UNDO_LIST *new;
+
+  new = alloc_undo_entry (entry->what, entry->start, entry->end, (char *)NULL);
+  new->text = entry->text ? savestring (entry->text) : 0;
+  return new;
+}
+
+UNDO_LIST *
+_rl_copy_undo_list (head)
+     UNDO_LIST *head;
+{
+  UNDO_LIST *list, *new, *roving, *c;
+
+  list = head;
+  new = 0;
+  while (list)
+    {
+      c = _rl_copy_undo_entry (list);
+      if (new == 0)
+       roving = new = c;
+      else
+       {
+         roving->next = c;
+         roving = roving->next;
+       }
+      list = list->next;
+    }
+
+  roving->next = 0;
+  return new;
 }
 
 /* Undo the next thing in the list.  Return 0 if there
@@ -161,6 +219,8 @@ rl_do_undo ()
 
       release = rl_undo_list;
       rl_undo_list = rl_undo_list->next;
+      replace_history_data (-1, (histdata_t *)release, (histdata_t *)rl_undo_list);
+
       free (release);
     }
   while (waiting_for_begin);
index ac5fd7446dcf611d5cea7980e63c848c15233214..d0b7e330adc479191dcf6faa121aa2f681b405f3 100644 (file)
--- a/vi_mode.c
+++ b/vi_mode.c
@@ -109,12 +109,16 @@ static int vi_mark_chars['z' - 'a' + 1];
 static void _rl_vi_stuff_insert PARAMS((int));
 static void _rl_vi_save_insert PARAMS((UNDO_LIST *));
 
+static void _rl_vi_backup PARAMS((void));
+
 static int _rl_vi_arg_dispatch PARAMS((int));
 static int rl_digit_loop1 PARAMS((void));
 
 static int _rl_vi_set_mark PARAMS((void));
 static int _rl_vi_goto_mark PARAMS((void));
 
+static void _rl_vi_append_forward PARAMS((int));
+
 static int _rl_vi_callback_getchar PARAMS((char *, int));
 
 #if defined (READLINE_CALLBACKS)
@@ -205,7 +209,16 @@ rl_vi_redo (count, c)
       _rl_vi_stuff_insert (count);
       /* And back up point over the last character inserted. */
       if (rl_point > 0)
-       rl_point--;
+       _rl_vi_backup ();
+    }
+  /* Ditto for redoing an insert with `a', but move forward a character first
+     like the `a' command does. */
+  else if (_rl_vi_last_command == 'a' && vi_insert_buffer && *vi_insert_buffer)
+    {
+      _rl_vi_append_forward ('a');
+      _rl_vi_stuff_insert (count);
+      if (rl_point > 0)
+       _rl_vi_backup ();
     }
   else
     r = _rl_dispatch (_rl_vi_last_command, _rl_keymap);
@@ -575,23 +588,32 @@ rl_vi_insert_beg (count, key)
   return (0);
 }
 
-int
-rl_vi_append_mode (count, key)
-     int count, key;
+static void
+_rl_vi_append_forward (key)
+     int key;
 {
+  int point;
+
   if (rl_point < rl_end)
     {
       if (MB_CUR_MAX == 1 || rl_byte_oriented)
        rl_point++;
       else
         {
-          int point = rl_point;
+          point = rl_point;
           rl_forward_char (1, key);
           if (point == rl_point)
             rl_point = rl_end;
         }
     }
-  rl_vi_insertion_mode (1, key);
+}
+
+int
+rl_vi_append_mode (count, key)
+     int count, key;
+{
+  _rl_vi_append_forward (key);
+  rl_vi_start_inserting (key, 1, rl_arg_sign);
   return (0);
 }
 
@@ -631,7 +653,7 @@ _rl_vi_save_insert (up)
 {
   int len, start, end;
 
-  if (up == 0)
+  if (up == 0 || up->what != UNDO_INSERT)
     {
       if (vi_insert_buffer_size >= 1)
        vi_insert_buffer[0] = '\0';
@@ -716,7 +738,7 @@ _rl_vi_change_mbchar_case (count)
 {
   wchar_t wc;
   char mb[MB_LEN_MAX+1];
-  int mblen, p;
+  int mlen, p;
   mbstate_t ps;
 
   memset (&ps, 0, sizeof (mbstate_t));
@@ -740,9 +762,9 @@ _rl_vi_change_mbchar_case (count)
       if (wc)
        {
          p = rl_point;
-         mblen = wcrtomb (mb, wc, &ps);
-         if (mblen >= 0)
-           mb[mblen] = '\0';
+         mlen = wcrtomb (mb, wc, &ps);
+         if (mlen >= 0)
+           mb[mlen] = '\0';
          rl_begin_undo_group ();
          rl_vi_delete (1, 0);
          if (rl_point < p)     /* Did we retreat at EOL? */
@@ -820,6 +842,15 @@ rl_vi_put (count, key)
   return (0);
 }
 
+static void
+_rl_vi_backup ()
+{
+  if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
+    rl_point = _rl_find_prev_mbchar (rl_line_buffer, rl_point, MB_FIND_NONZERO);
+  else
+    rl_point--;
+}
+
 int
 rl_vi_check ()
 {
@@ -1111,7 +1142,7 @@ int
 rl_vi_rubout (count, key)
      int count, key;
 {
-  int p, opoint;
+  int opoint;
 
   if (count < 0)
     return (rl_vi_delete (-count, key));
@@ -1426,9 +1457,9 @@ _rl_vi_change_char (count, c, mb)
 }
 
 static int
-_rl_vi_callback_getchar (mb, mblen)
+_rl_vi_callback_getchar (mb, mlen)
      char *mb;
-     int mblen;
+     int mlen;
 {
   int c;
 
@@ -1438,7 +1469,7 @@ _rl_vi_callback_getchar (mb, mblen)
 
 #if defined (HANDLE_MULTIBYTE)
   if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
-    c = _rl_read_mbstring (c, mb, mblen);
+    c = _rl_read_mbstring (c, mb, mlen);
 #endif
 
   return c;