]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
commit bash-20060209 snapshot
authorChet Ramey <chet.ramey@case.edu>
Sun, 4 Dec 2011 03:45:06 +0000 (22:45 -0500)
committerChet Ramey <chet.ramey@case.edu>
Sun, 4 Dec 2011 03:45:06 +0000 (22:45 -0500)
30 files changed:
CWRU/CWRU.chlog
CWRU/CWRU.chlog~
builtins/pushd.def
lib/readline/bind.c
lib/readline/bind.c~
lib/readline/display.c~
lib/readline/doc/history.dvi
lib/readline/doc/history.html
lib/readline/doc/history.info
lib/readline/doc/history.log
lib/readline/doc/history.ps
lib/readline/doc/readline.3
lib/readline/doc/readline.dvi
lib/readline/doc/readline.html
lib/readline/doc/readline.info
lib/readline/doc/readline.ps
lib/readline/doc/rlman.log
lib/readline/doc/rluser.texi
lib/readline/doc/rluserman.dvi
lib/readline/doc/rluserman.html
lib/readline/doc/rluserman.info
lib/readline/doc/rluserman.log
lib/readline/doc/rluserman.ps
lib/readline/doc/version.texi
lib/readline/readline.c~ [new file with mode: 0644]
lib/readline/rlconf.h
lib/readline/terminal.c
support/shobj-conf
variables.c
variables.c~

index f3fcc0f8a050a99f9330004f06be9f1ece4eda3d..eaebf0126dfab7ed1e36a3df41f11f565ee1d9be 100644 (file)
@@ -13046,3 +13046,40 @@ lib/readline/display.c
          PROMPT_ENDING_INDEX (worth checking) to compensate.  Bug reported
          by Egmont Koblinger <egmont@uhulinux.hu>
 
+                                   2/8
+                                   ---
+lib/readline/terminal.c
+       - call _emx_get_screensize with wr, wc like ioctl code for consistency
+       - new function, _win_get_screensize, gets screen dimensions using
+         standard Windows API for mingw32 (code from Denis Pilat)
+       - call _win_get_screensize from _rl_get_screen_size on mingw32
+
+lib/readline/rlconf.h
+       - define SYS_INPUTRC (/etc/inputrc) as system-wide default inputrc
+         filename
+
+support/shobj-conf
+       - changes to make loadable builtins work on MacOS X 10.[34]
+
+builtins/pushd.def
+       - changes to make it work as a loadable builtin compiled with gcc4
+
+                                   2/9
+                                   ---
+lib/readline/bind.c
+       - add SYS_INPUTRC as last-ditch default (if DEFAULT_INPUTRC does not
+         exist or can't be read) in rl_read_init_file
+
+lib/readline/doc/rluser.texi
+       - add description of /etc/inputrc as ultimate default startup file
+
+                                  2/10
+                                  ----
+lib/readline/bind.c
+       - fix problem with rl_function_of_keyseq that returns a non-keymap
+         bound to a portion of the passed key sequence without processing
+         the entire thing.  We can bind maps with existing non-map
+         functions using the ANYOTHERKEY binding code.
+
+variables.c
+       - shells running in posix mode do not set $HOME, as POSIX requires
index 6c73f3ddebb44a5c5cbdea153358a902fa52f590..97457ffd2eccbd2e5c798f1f71b38c5af35fea84 100644 (file)
@@ -13043,4 +13043,40 @@ lib/readline/display.c
          which caused a prompt with invisible characters to be redrawn one
          extra time in a multibyte locale.  Change from <= to < fixes
          multibyte locale, but I added 1 to single-byte definition of
-         PROMPT_ENDING_INDEX (worth checking) to compensate
+         PROMPT_ENDING_INDEX (worth checking) to compensate.  Bug reported
+         by Egmont Koblinger <egmont@uhulinux.hu>
+
+                                   2/8
+                                   ---
+lib/readline/terminal.c
+       - call _emx_get_screensize with wr, wc like ioctl code for consistency
+       - new function, _win_get_screensize, gets screen dimensions using
+         standard Windows API for mingw32 (code from Denis Pilat)
+       - call _win_get_screensize from _rl_get_screen_size on mingw32
+
+lib/readline/rlconf.h
+       - define SYS_INPUTRC (/etc/inputrc) as system-wide default inputrc
+         filename
+
+support/shobj-conf
+       - changes to make loadable builtins work on MacOS X 10.[34]
+
+builtins/pushd.def
+       - changes to make it work as a loadable builtin compiled with gcc4
+
+                                   2/9
+                                   ---
+lib/readline/bind.c
+       - add SYS_INPUTRC as last-ditch default (if DEFAULT_INPUTRC does not
+         exist or can't be read) in rl_read_init_file
+
+lib/readline/doc/rluser.texi
+       - add description of /etc/inputrc as ultimate default startup file
+
+                                  2/10
+                                  ----
+lib/readline/bind.c
+       - fix problem with rl_function_of_keyseq that returns a non-keymap
+         bound to a portion of the passed key sequence without processing
+         the entire thing.  We can bind maps with existing non-map
+         functions using the ANYOTHERKEY binding code.
index 0978fc931b6864630c70b84060462af1f031c720..19a3ed466cc01dd87c5e4989966bb6dc7721cc8d 100644 (file)
@@ -657,7 +657,7 @@ get_directory_stack ()
 }
 
 #ifdef LOADABLE_BUILTIN
-static char * const dirs_doc[] = {
+char * const dirs_doc[] = {
   N_("Display the list of currently remembered directories.  Directories"),
   N_("find their way onto the list with the `pushd' command; you can get"),
   N_("back up through the list with the `popd' command."),
@@ -678,7 +678,7 @@ static char * const dirs_doc[] = {
   (char *)NULL
 };
 
-static char * const pushd_doc[] = {
+char * const pushd_doc[] = {
   N_("Adds a directory to the top of the directory stack, or rotates"),
   N_("the stack, making the new top of the stack the current working"),
   N_("directory.  With no arguments, exchanges the top two directories."),
@@ -701,7 +701,7 @@ static char * const pushd_doc[] = {
   (char *)NULL
 };
 
-static char * const popd_doc[] = {
+char * const popd_doc[] = {
   N_("Removes entries from the directory stack.  With no arguments,"),
   N_("removes the top directory from the stack, and cd's to the new"),
   N_("top directory."),
index 0bebee742a19320c042c5182318afcafcec43860..6a3e48c41a5eca49f48649d7f55f815ae1852e8f 100644 (file)
@@ -691,7 +691,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++)
@@ -700,25 +700,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;
@@ -728,7 +730,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;
@@ -810,6 +817,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
@@ -818,17 +826,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;
index d4fe337ddf621ad7c45834acef4709acacbe90c2..39acefbc0c5066bb7b21e974ccdf0e18b0332ecb 100644 (file)
@@ -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.
@@ -574,6 +574,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++] = '\\';
@@ -622,7 +627,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';
@@ -690,25 +700,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);
+           }
+         else if (map[ESC].type != ISKMAP && keyseq[i+1])
+           return ((rl_command_func_t *)NULL);
+         else          /* map[ESC].type != ISKMAP && keyseq[i+1] == 0 */
            {
              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;
@@ -718,7 +730,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;
@@ -800,6 +817,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
@@ -808,17 +826,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;
@@ -1957,6 +1976,10 @@ rl_invoking_keyseqs_in_map (function, map)
 
                if (key == ESC)
                  {
+                   /* 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
index 3f902db67ed9ebf384d7647ecc5c43539e420322..b349a0f52f3f08b9f39201f3f34775622a85b69f 100644 (file)
@@ -88,7 +88,7 @@ static int inv_lbsize, vis_lbsize;
    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)
+  ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) ? prompt_physical_chars : prompt_last_invisible+1)
   
 
 /* **************************************************************** */
@@ -977,7 +977,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 &&
+#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);
@@ -1386,6 +1390,15 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
        }
     }
 
+if (*old == 0 && *new != 0)
+  {
+    fprintf (stderr, "old == 0x%x new = 0x%x\r\n", old, new);
+    fprintf (stderr, "omax == %d nmax = %d\r\n", omax, nmax);
+    fprintf (stderr, "ne == 0x%x nfd = 0x%x\r\n", ne, nfd);
+    fprintf (stderr, "oe == 0x%x ofd = 0x%x\r\n", oe, ofd);
+    fprintf (stderr, "ols == 0x%x nls = 0x%x\r\n", ols, nls);
+  }    
+    
   /* count of invisible characters in the current invisible line. */
   current_invis_chars = W_OFFSET (current_line, wrap_offset);
   if (_rl_last_v_pos != current_line)
index 55b439319bbf92ca0be88f811f6cccb32f2eb258..dac5f5b1dbcbad862007e473ae36b73e325d6840 100644 (file)
Binary files a/lib/readline/doc/history.dvi and b/lib/readline/doc/history.dvi differ
index dc543d8e9e1f3f8d1f36ffdef9082aab6ae7e902..2b50e95c9be0c00bb5254db621f96c2d46832b0f 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on November, 17  2005 by texi2html 1.64 -->
+<!-- Created on February, 9  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>November, 17  2005</I>
+This document was generated by <I>Chet Ramey</I> on <I>February, 9  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>November, 17  2005</I>
+by <I>Chet Ramey</I> on <I>February, 9  2006</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 
index 69754eca60f2472eebaea1c5b60e2b124b5ecf7e..c7883b29103b46c542def36d8479a4fabf0a0bfc 100644 (file)
@@ -1,8 +1,8 @@
 This is history.info, produced by makeinfo version 4.7 from
 ./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, 9
+February 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.
@@ -1325,28 +1325,28 @@ Appendix C Function and Variable Index
 
 \1f
 Tag Table:
-Node: Top\7f1287
-Node: Using History Interactively\7f1912
-Node: History Interaction\7f2420
-Node: Event Designators\7f3844
-Node: Word Designators\7f4779
-Node: Modifiers\7f6418
-Node: Programming with GNU History\7f7645
-Node: Introduction to History\7f8377
-Node: History Storage\7f10067
-Node: History Functions\7f11202
-Node: Initializing History and State Management\7f12191
-Node: History List Management\7f13003
-Node: Information About the History List\7f15035
-Node: Moving Around the History List\7f16532
-Node: Searching the History List\7f17533
-Node: Managing the History File\7f19465
-Node: History Expansion\7f21285
-Node: History Variables\7f23193
-Node: History Programming Example\7f25999
-Node: Copying This Manual\7f28676
-Node: GNU Free Documentation License\7f28936
-Node: Concept Index\7f51342
-Node: Function and Variable Index\7f52182
+Node: Top\7f1280
+Node: Using History Interactively\7f1905
+Node: History Interaction\7f2413
+Node: Event Designators\7f3837
+Node: Word Designators\7f4772
+Node: Modifiers\7f6411
+Node: Programming with GNU History\7f7638
+Node: Introduction to History\7f8370
+Node: History Storage\7f10060
+Node: History Functions\7f11195
+Node: Initializing History and State Management\7f12184
+Node: History List Management\7f12996
+Node: Information About the History List\7f15028
+Node: Moving Around the History List\7f16525
+Node: Searching the History List\7f17526
+Node: Managing the History File\7f19458
+Node: History Expansion\7f21278
+Node: History Variables\7f23186
+Node: History Programming Example\7f25992
+Node: Copying This Manual\7f28669
+Node: GNU Free Documentation License\7f28929
+Node: Concept Index\7f51335
+Node: Function and Variable Index\7f52175
 \1f
 End Tag Table
index ba63efb73d519f35dadd5caad82b2a173b38f090..3f7efe9861f7e38a6ec6ab0bde162ffd438a41c1 100644 (file)
@@ -1,4 +1,4 @@
-This is TeX, Version 3.14159 (Web2C 7.4.5) (format=tex 2005.3.22)  17 NOV 2005 10:43
+This is TeX, Version 3.14159 (Web2C 7.4.5) (format=tex 2005.3.22)  9 FEB 2006 09:50
 **/usr/homes/chet/src/bash/src/lib/readline/doc/history.texi
 (/usr/homes/chet/src/bash/src/lib/readline/doc/history.texi (./texinfo.tex
 Loading texinfo [version 2003-02-03.16]: Basics,
@@ -160,10 +160,10 @@ Chapter 2 [3] [4] [5] [6] [7] [8] [9] [10] [11]) Appendix A [12] (./fdl.texi
 Here is how much of TeX's memory you used:
  1409 strings out of 98002
  16451 string characters out of 1221987
- 45518 words of memory out of 1000001
+ 45504 words of memory out of 1000001
  2271 multiletter control sequences out of 10000+50000
  31953 words of font info for 111 fonts, out of 500000 for 1000
  19 hyphenation exceptions out of 1000
  15i,6n,17p,283b,649s stack positions out of 1500i,500n,5000p,200000b,5000s
 
-Output written on history.dvi (28 pages, 79896 bytes).
+Output written on history.dvi (28 pages, 79860 bytes).
index bc03975857fce49a75f5b5cfd28e87a883511ea0..58c637f6edb02f7d69c40417f1cc61658893aa65 100644 (file)
@@ -10,7 +10,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 300 -o history.ps history.dvi
 %DVIPSParameters: dpi=300, compressed
-%DVIPSSource:  TeX output 2005.11.17:1043
+%DVIPSSource:  TeX output 2006.02.09:0950
 %%BeginProcSet: texc.pro
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -3315,27 +3315,26 @@ TeXDict begin
 %%EndSetup
 %%Page: 1 1
 TeXDict begin 1 0 bop 75 659 a Fs(GNU)33 b(History)e(Library)p
-75 709 1800 17 v 710 757 a Fr(Edition)14 b(5.1-b)q(eta1,)g(for)h
-Fq(History)f(Library)g Fr(V)l(ersion)h(5.1-b)q(eta1.)1569
-811 y(No)o(v)o(em)o(b)q(er)g(2005)75 2467 y Fp(Chet)22
-b(Ramey)-6 b(,)23 b(Case)e(W)-6 b(estern)23 b(Reserv)n(e)f(Univ)n
-(ersit)n(y)75 2534 y(Brian)g(F)-6 b(o)n(x,)23 b(F)-6
-b(ree)23 b(Soft)n(w)n(are)f(F)-6 b(oundation)p 75 2570
-1800 9 v eop end
+75 709 1800 17 v 960 757 a Fr(Edition)14 b(5.2,)g(for)h
+Fq(History)f(Library)g Fr(V)l(ersion)h(5.2.)1590 811
+y(F)l(ebruary)g(2006)75 2467 y Fp(Chet)22 b(Ramey)-6
+b(,)23 b(Case)e(W)-6 b(estern)23 b(Reserv)n(e)f(Univ)n(ersit)n(y)75
+2534 y(Brian)g(F)-6 b(o)n(x,)23 b(F)-6 b(ree)23 b(Soft)n(w)n(are)f(F)-6
+b(oundation)p 75 2570 1800 9 v eop end
 %%Page: 2 2
-TeXDict begin 2 1 bop 75 1512 a Fr(This)15 b(do)q(cumen)o(t)h(describ)q
-(es)h(the)f(GNU)f(History)g(library)f(\(v)o(ersion)h(5.1-b)q(eta1,)f
-(11)h(No)o(v)o(em)o(b)q(er)h(2005\),)75 1567 y(a)d(programming)e(to)q
-(ol)h(that)g(pro)o(vides)h(a)g(consisten)o(t)f(user)h(in)o(terface)f
-(for)h(recalling)e(lines)i(of)g(previously)75 1621 y(t)o(yp)q(ed)j
-(input.)75 1689 y(Cop)o(yrigh)o(t)301 1688 y(c)289 1689
-y Fo(\015)f Fr(1988-2004)e(F)l(ree)i(Soft)o(w)o(are)f(F)l(oundation,)g
-(Inc.)75 1756 y(P)o(ermission)h(is)g(gran)o(ted)h(to)f(mak)o(e)h(and)g
-(distribute)g(v)o(erbatim)e(copies)i(of)g(this)g(man)o(ual)f(pro)o
-(vided)h(the)75 1811 y(cop)o(yrigh)o(t)e(notice)h(and)g(this)g(p)q
-(ermission)f(notice)h(are)g(preserv)o(ed)h(on)f(all)f(copies.)195
-1878 y(P)o(ermission)i(is)h(gran)o(ted)g(to)g(cop)o(y)l(,)h(distribute)
-f(and/or)g(mo)q(dify)g(this)g(do)q(cumen)o(t)h(under)195
+TeXDict begin 2 1 bop 75 1512 a Fr(This)18 b(do)q(cumen)o(t)g(describ)q
+(es)h(the)f(GNU)g(History)f(library)g(\(v)o(ersion)h(5.2,)f(9)h(F)l
+(ebruary)g(2006\),)f(a)h(pro-)75 1567 y(gramming)10 b(to)q(ol)g(that)g
+(pro)o(vides)h(a)g(consisten)o(t)f(user)i(in)o(terface)e(for)h
+(recalling)f(lines)g(of)h(previously)g(t)o(yp)q(ed)75
+1621 y(input.)75 1689 y(Cop)o(yrigh)o(t)301 1688 y(c)289
+1689 y Fo(\015)k Fr(1988-2004)e(F)l(ree)i(Soft)o(w)o(are)f(F)l
+(oundation,)g(Inc.)75 1756 y(P)o(ermission)h(is)g(gran)o(ted)h(to)f
+(mak)o(e)h(and)g(distribute)g(v)o(erbatim)e(copies)i(of)g(this)g(man)o
+(ual)f(pro)o(vided)h(the)75 1811 y(cop)o(yrigh)o(t)e(notice)h(and)g
+(this)g(p)q(ermission)f(notice)h(are)g(preserv)o(ed)h(on)f(all)f
+(copies.)195 1878 y(P)o(ermission)i(is)h(gran)o(ted)g(to)g(cop)o(y)l(,)
+h(distribute)f(and/or)g(mo)q(dify)g(this)g(do)q(cumen)o(t)h(under)195
 1933 y(the)h(terms)f(of)h(the)g(GNU)g(F)l(ree)g(Do)q(cumen)o(tation)f
 (License,)i(V)l(ersion)f(1.1)f(or)g(an)o(y)h(later)195
 1988 y(v)o(ersion)13 b(published)h(b)o(y)g(the)g(F)l(ree)f(Soft)o(w)o
index 90cd9971e8e92abd8aecaf40fe4ea588af2449ac..ba25517b70b15ba5c2cbf468186e8a4792750b94 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 Feb 9" "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
index 35d61860c8109aa474423dd9a6bb7e2818552c4c..cc8d9038c0658a8a4f17a6d756a10f0a99cedd1f 100644 (file)
Binary files a/lib/readline/doc/readline.dvi and b/lib/readline/doc/readline.dvi differ
index fcd5f0a924285cc2ba7ea90560cf297a6dc4d42d..0221da96d01040a58ea48ced8acea3381864a0a8 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on November, 17  2005 by texi2html 1.64 -->
+<!-- Created on February, 9  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
@@ -3558,8 +3560,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 +4533,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 +6550,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>November, 17  2005</I>
+This document was generated by <I>Chet Ramey</I> on <I>February, 9  2006</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 <P></P>  
@@ -6705,7 +6712,7 @@ the following structure:
 <BR>  
 <FONT SIZE="-1">
 This document was generated
-by <I>Chet Ramey</I> on <I>November, 17  2005</I>
+by <I>Chet Ramey</I> on <I>February, 9  2006</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 
index 66e456c95066c7b461c9cbec713bbf36c08f0ae6..ddcd2c914b40a2e650437e87544f1b8a61b2a133 100644 (file)
@@ -1,8 +1,8 @@
 This is readline.info, produced by makeinfo version 4.7 from
 ./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
+   This manual describes the GNU Readline Library (version 5.2, 9
+February 2006), a library which aids in the consistency of user
 interface across discrete programs which provide a command line
 interface.
 
@@ -334,7 +334,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.
@@ -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\7f1303
-Node: Command Line Editing\7f1941
-Node: Introduction and Notation\7f2593
-Node: Readline Interaction\7f4216
-Node: Readline Bare Essentials\7f5408
-Node: Readline Movement Commands\7f7198
-Node: Readline Killing Commands\7f8164
-Node: Readline Arguments\7f10085
-Node: Searching\7f11130
-Node: Readline Init File\7f13282
-Node: Readline Init File Syntax\7f14348
-Node: Conditional Init Constructs\7f26283
-Node: Sample Init File\7f28817
-Node: Bindable Readline Commands\7f31935
-Node: Commands For Moving\7f32993
-Node: Commands For History\7f33855
-Node: Commands For Text\7f36980
-Node: Commands For Killing\7f39707
-Node: Numeric Arguments\7f41850
-Node: Commands For Completion\7f42990
-Node: Keyboard Macros\7f44535
-Node: Miscellaneous Commands\7f45107
-Node: Readline vi Mode\7f48469
-Node: Programming with GNU Readline\7f50293
-Node: Basic Behavior\7f51268
-Node: Custom Functions\7f54685
-Node: Readline Typedefs\7f56169
-Node: Function Writing\7f57808
-Node: Readline Variables\7f59115
-Node: Readline Convenience Functions\7f68817
-Node: Function Naming\7f69807
-Node: Keymaps\7f71069
-Node: Binding Keys\7f72841
-Node: Associating Function Names and Bindings\7f77388
-Node: Allowing Undoing\7f79650
-Node: Redisplay\7f82200
-Node: Modifying Text\7f86100
-Node: Character Input\7f87346
-Node: Terminal Management\7f89144
-Node: Utility Functions\7f90580
-Node: Miscellaneous Functions\7f92945
-Node: Alternate Interface\7f95242
-Node: A Readline Example\7f97401
-Node: Readline Signal Handling\7f99304
-Node: Custom Completers\7f105172
-Node: How Completing Works\7f105892
-Node: Completion Functions\7f109206
-Node: Completion Variables\7f112778
-Node: A Short Completion Example\7f124968
-Node: Copying This Manual\7f137141
-Node: GNU Free Documentation License\7f137403
-Node: Concept Index\7f159810
-Node: Function and Variable Index\7f161466
+Node: Top\7f1296
+Node: Command Line Editing\7f1934
+Node: Introduction and Notation\7f2586
+Node: Readline Interaction\7f4209
+Node: Readline Bare Essentials\7f5401
+Node: Readline Movement Commands\7f7191
+Node: Readline Killing Commands\7f8157
+Node: Readline Arguments\7f10078
+Node: Searching\7f11123
+Node: Readline Init File\7f13275
+Node: Readline Init File Syntax\7f14429
+Node: Conditional Init Constructs\7f26364
+Node: Sample Init File\7f28898
+Node: Bindable Readline Commands\7f32016
+Node: Commands For Moving\7f33074
+Node: Commands For History\7f33936
+Node: Commands For Text\7f37061
+Node: Commands For Killing\7f39788
+Node: Numeric Arguments\7f41931
+Node: Commands For Completion\7f43071
+Node: Keyboard Macros\7f44616
+Node: Miscellaneous Commands\7f45188
+Node: Readline vi Mode\7f48550
+Node: Programming with GNU Readline\7f50374
+Node: Basic Behavior\7f51349
+Node: Custom Functions\7f54766
+Node: Readline Typedefs\7f56250
+Node: Function Writing\7f57889
+Node: Readline Variables\7f59196
+Node: Readline Convenience Functions\7f68898
+Node: Function Naming\7f69888
+Node: Keymaps\7f71150
+Node: Binding Keys\7f72922
+Node: Associating Function Names and Bindings\7f77469
+Node: Allowing Undoing\7f79731
+Node: Redisplay\7f82281
+Node: Modifying Text\7f86181
+Node: Character Input\7f87427
+Node: Terminal Management\7f89325
+Node: Utility Functions\7f90761
+Node: Miscellaneous Functions\7f93126
+Node: Alternate Interface\7f95423
+Node: A Readline Example\7f97582
+Node: Readline Signal Handling\7f99485
+Node: Custom Completers\7f105353
+Node: How Completing Works\7f106073
+Node: Completion Functions\7f109387
+Node: Completion Variables\7f112959
+Node: A Short Completion Example\7f125353
+Node: Copying This Manual\7f137526
+Node: GNU Free Documentation License\7f137788
+Node: Concept Index\7f160195
+Node: Function and Variable Index\7f161851
 \1f
 End Tag Table
index 63427cb4e371aa31ebbd62277a81bd27979b9432..ad2b13968b594ec3bb52c8be4061c279ada1bef5 100644 (file)
@@ -10,7 +10,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 300 -o readline.ps readline.dvi
 %DVIPSParameters: dpi=300, compressed
-%DVIPSSource:  TeX output 2005.11.17:1043
+%DVIPSSource:  TeX output 2006.02.09:0950
 %%BeginProcSet: texc.pro
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -4125,22 +4125,21 @@ TeXDict begin
 %%EndSetup
 %%Page: 1 1
 TeXDict begin 1 0 bop 75 659 a Fu(GNU)33 b(Readline)f(Library)p
-75 709 1800 17 v 686 757 a Ft(Edition)15 b(5.1-b)q(eta1,)e(for)i
-Fs(Readline)f(Library)g Ft(V)l(ersion)h(5.1-b)q(eta1.)1569
-811 y(No)o(v)o(em)o(b)q(er)g(2005)75 2467 y Fr(Chet)22
-b(Ramey)-6 b(,)23 b(Case)e(W)-6 b(estern)23 b(Reserv)n(e)f(Univ)n
-(ersit)n(y)75 2534 y(Brian)g(F)-6 b(o)n(x,)23 b(F)-6
-b(ree)23 b(Soft)n(w)n(are)f(F)-6 b(oundation)p 75 2570
-1800 9 v eop end
+75 709 1800 17 v 936 757 a Ft(Edition)15 b(5.2,)e(for)i
+Fs(Readline)f(Library)g Ft(V)l(ersion)h(5.2.)1590 811
+y(F)l(ebruary)g(2006)75 2467 y Fr(Chet)22 b(Ramey)-6
+b(,)23 b(Case)e(W)-6 b(estern)23 b(Reserv)n(e)f(Univ)n(ersit)n(y)75
+2534 y(Brian)g(F)-6 b(o)n(x,)23 b(F)-6 b(ree)23 b(Soft)n(w)n(are)f(F)-6
+b(oundation)p 75 2570 1800 9 v eop end
 %%Page: 2 2
-TeXDict begin 2 1 bop 75 1512 a Ft(This)16 b(man)o(ual)g(describ)q(es)h
-(the)f(GNU)g(Readline)h(Library)f(\(v)o(ersion)g(5.1-b)q(eta1,)f(11)h
-(No)o(v)o(em)o(b)q(er)g(2005\),)75 1567 y(a)k(library)g(whic)o(h)g
-(aids)g(in)h(the)g(consistency)f(of)g(user)h(in)o(terface)f(across)g
-(discrete)h(programs)e(whic)o(h)75 1621 y(pro)o(vide)c(a)g(command)g
-(line)g(in)o(terface.)75 1689 y(Cop)o(yrigh)o(t)301 1688
-y(c)289 1689 y Fq(\015)g Ft(1988-2004)e(F)l(ree)i(Soft)o(w)o(are)f(F)l
-(oundation,)g(Inc.)75 1756 y(P)o(ermission)h(is)g(gran)o(ted)h(to)f
+TeXDict begin 2 1 bop 75 1512 a Ft(This)15 b(man)o(ual)f(describ)q(es)h
+(the)g(GNU)g(Readline)g(Library)g(\(v)o(ersion)e(5.2,)h(9)h(F)l
+(ebruary)f(2006\),)g(a)g(library)75 1567 y(whic)o(h)19
+b(aids)h(in)f(the)h(consistency)f(of)g(user)h(in)o(terface)f(across)g
+(discrete)g(programs)g(whic)o(h)g(pro)o(vide)g(a)75 1621
+y(command)c(line)g(in)o(terface.)75 1689 y(Cop)o(yrigh)o(t)301
+1688 y(c)289 1689 y Fq(\015)g Ft(1988-2004)e(F)l(ree)i(Soft)o(w)o(are)f
+(F)l(oundation,)g(Inc.)75 1756 y(P)o(ermission)h(is)g(gran)o(ted)h(to)f
 (mak)o(e)h(and)g(distribute)g(v)o(erbatim)e(copies)i(of)g(this)g(man)o
 (ual)f(pro)o(vided)h(the)75 1811 y(cop)o(yrigh)o(t)e(notice)h(and)g
 (this)g(p)q(ermission)f(notice)h(are)g(preserv)o(ed)h(on)f(all)f
@@ -4587,192 +4586,194 @@ b Fl(C-g)21 b Ft(will)f(ab)q(ort)h(an)g(incremen)o(tal)f(searc)o(h)h
 (and)g(restore)g(the)75 259 y(original)13 b(line.)19
 b(When)c(the)f(searc)o(h)g(is)g(terminated,)g(the)g(history)g(en)o(try)
 g(con)o(taining)f(the)i(searc)o(h)f(string)75 314 y(b)q(ecomes)i(the)f
-(curren)o(t)g(line.)137 384 y(T)l(o)g(\014nd)i(other)e(matc)o(hing)f
+(curren)o(t)g(line.)137 385 y(T)l(o)g(\014nd)i(other)e(matc)o(hing)f
 (en)o(tries)h(in)h(the)f(history)g(list,)f(t)o(yp)q(e)h
 Fl(C-r)g Ft(or)g Fl(C-s)g Ft(as)h(appropriate.)j(This)75
-439 y(will)12 b(searc)o(h)h(bac)o(kw)o(ard)f(or)g(forw)o(ard)g(in)h
+440 y(will)12 b(searc)o(h)h(bac)o(kw)o(ard)f(or)g(forw)o(ard)g(in)h
 (the)g(history)f(for)h(the)g(next)g(en)o(try)g(matc)o(hing)f(the)h
-(searc)o(h)g(string)75 494 y(t)o(yp)q(ed)19 b(so)g(far.)30
+(searc)o(h)g(string)75 495 y(t)o(yp)q(ed)19 b(so)g(far.)30
 b(An)o(y)19 b(other)f(k)o(ey)h(sequence)h(b)q(ound)g(to)e(a)h(Readline)
-g(command)f(will)g(terminate)g(the)75 549 y(searc)o(h)10
+g(command)f(will)g(terminate)g(the)75 550 y(searc)o(h)10
 b(and)h(execute)g(that)f(command.)18 b(F)l(or)10 b(instance,)h(a)1063
-547 y Fk(h)p 1076 521 76 2 v 1076 549 a Fj(RET)p 1076
-556 V 1149 547 a Fk(i)1174 549 y Ft(will)e(terminate)h(the)h(searc)o(h)
-f(and)h(accept)75 604 y(the)k(line,)f(thereb)o(y)h(executing)f(the)h
+548 y Fk(h)p 1076 522 76 2 v 1076 550 a Fj(RET)p 1076
+557 V 1149 548 a Fk(i)1174 550 y Ft(will)e(terminate)h(the)h(searc)o(h)
+f(and)h(accept)75 605 y(the)k(line,)f(thereb)o(y)h(executing)f(the)h
 (command)g(from)f(the)g(history)g(list.)k(A)d(mo)o(v)o(emen)o(t)f
-(command)g(will)75 658 y(terminate)g(the)h(searc)o(h,)g(mak)o(e)g(the)g
+(command)g(will)75 659 y(terminate)g(the)h(searc)o(h,)g(mak)o(e)g(the)g
 (last)f(line)h(found)h(the)f(curren)o(t)g(line,)f(and)i(b)q(egin)f
-(editing.)137 729 y(Readline)j(remem)o(b)q(ers)f(the)h(last)e(incremen)
+(editing.)137 731 y(Readline)j(remem)o(b)q(ers)f(the)h(last)e(incremen)
 o(tal)h(searc)o(h)g(string.)26 b(If)17 b(t)o(w)o(o)f
-Fl(C-r)p Ft(s)h(are)g(t)o(yp)q(ed)h(without)75 784 y(an)o(y)g(in)o
+Fl(C-r)p Ft(s)h(are)g(t)o(yp)q(ed)h(without)75 786 y(an)o(y)g(in)o
 (terv)o(ening)f(c)o(haracters)h(de\014ning)g(a)g(new)h(searc)o(h)f
 (string,)f(an)o(y)h(remem)o(b)q(ered)h(searc)o(h)f(string)f(is)75
-839 y(used.)137 909 y(Non-incremen)o(tal)23 b(searc)o(hes)g(read)h(the)
+841 y(used.)137 912 y(Non-incremen)o(tal)23 b(searc)o(hes)g(read)h(the)
 f(en)o(tire)g(searc)o(h)g(string)f(b)q(efore)i(starting)e(to)g(searc)o
-(h)i(for)75 964 y(matc)o(hing)c(history)h(lines.)37 b(The)22
+(h)i(for)75 967 y(matc)o(hing)c(history)h(lines.)37 b(The)22
 b(searc)o(h)f(string)f(ma)o(y)h(b)q(e)h(t)o(yp)q(ed)f(b)o(y)h(the)f
-(user)h(or)e(b)q(e)i(part)f(of)g(the)75 1019 y(con)o(ten)o(ts)15
-b(of)f(the)i(curren)o(t)f(line.)75 1156 y Fr(1.3)33 b(Readline)21
-b(Init)i(File)137 1281 y Ft(Although)f(the)h(Readline)g(library)e
+(user)h(or)e(b)q(e)i(part)f(of)g(the)75 1022 y(con)o(ten)o(ts)15
+b(of)f(the)i(curren)o(t)f(line.)75 1161 y Fr(1.3)33 b(Readline)21
+b(Init)i(File)137 1288 y Ft(Although)f(the)h(Readline)g(library)e
 (comes)i(with)f(a)g(set)g(of)g(Emacs-lik)o(e)g(k)o(eybindings)g
-(installed)75 1336 y(b)o(y)f(default,)g(it)f(is)h(p)q(ossible)f(to)g
+(installed)75 1342 y(b)o(y)f(default,)g(it)f(is)h(p)q(ossible)f(to)g
 (use)i(a)e(di\013eren)o(t)g(set)h(of)f(k)o(eybindings.)37
-b(An)o(y)20 b(user)h(can)g(customize)75 1391 y(programs)15
+b(An)o(y)20 b(user)h(can)g(customize)75 1397 y(programs)15
 b(that)h(use)g(Readline)h(b)o(y)f(putting)f(commands)h(in)h(an)f
 Fi(inputrc)j Ft(\014le,)d(con)o(v)o(en)o(tionally)e(in)i(his)75
-1445 y(home)h(directory)l(.)23 b(The)17 b(name)g(of)f(this)g(\014le)g
+1452 y(home)h(directory)l(.)23 b(The)17 b(name)g(of)f(this)g(\014le)g
 (is)g(tak)o(en)h(from)e(the)i(v)m(alue)g(of)f(the)h(en)o(vironmen)o(t)f
-(v)m(ariable)75 1500 y Fs(INPUTRC)p Ft(.)j(If)c(that)g(v)m(ariable)f
-(is)h(unset,)g(the)g(default)g(is)g(`)p Fs(~/.inputrc)p
-Ft('.)137 1571 y(When)g(a)g(program)f(whic)o(h)g(uses)h(the)g(Readline)
-g(library)f(starts)f(up,)i(the)g(init)f(\014le)h(is)f(read,)h(and)g
-(the)75 1626 y(k)o(ey)g(bindings)g(are)g(set.)137 1696
-y(In)f(addition,)f(the)g Fs(C-x)i(C-r)e Ft(command)g(re-reads)h(this)f
-(init)f(\014le,)i(th)o(us)f(incorp)q(orating)f(an)o(y)h(c)o(hanges)75
-1751 y(that)h(y)o(ou)h(migh)o(t)f(ha)o(v)o(e)h(made)g(to)g(it.)75
-1870 y Fh(1.3.1)30 b(Readline)20 b(Init)g(File)h(Syn)n(tax)137
-1995 y Ft(There)c(are)g(only)f(a)h(few)f(basic)h(constructs)f(allo)o(w)
+(v)m(ariable)75 1507 y Fs(INPUTRC)p Ft(.)i(If)d(that)e(v)m(ariable)h
+(is)f(unset,)h(the)h(default)e(is)h(`)p Fs(~/.inputrc)p
+Ft('.)j(If)d(that)g(\014le)g(do)q(es)g(not)g(exist)f(or)75
+1562 y(cannot)i(b)q(e)h(read,)f(the)g(ultimate)f(default)h(is)f(`)p
+Fs(/etc/inputrc)p Ft('.)137 1633 y(When)h(a)g(program)f(whic)o(h)g
+(uses)h(the)g(Readline)g(library)f(starts)f(up,)i(the)g(init)f(\014le)h
+(is)f(read,)h(and)g(the)75 1688 y(k)o(ey)g(bindings)g(are)g(set.)137
+1760 y(In)f(addition,)f(the)g Fs(C-x)i(C-r)e Ft(command)g(re-reads)h
+(this)f(init)f(\014le,)i(th)o(us)f(incorp)q(orating)f(an)o(y)h(c)o
+(hanges)75 1814 y(that)h(y)o(ou)h(migh)o(t)f(ha)o(v)o(e)h(made)g(to)g
+(it.)75 1935 y Fh(1.3.1)30 b(Readline)20 b(Init)g(File)h(Syn)n(tax)137
+2061 y Ft(There)c(are)g(only)f(a)h(few)f(basic)h(constructs)f(allo)o(w)
 o(ed)g(in)g(the)h(Readline)g(init)f(\014le.)25 b(Blank)17
-b(lines)f(are)75 2050 y(ignored.)35 b(Lines)21 b(b)q(eginning)g(with)e
+b(lines)f(are)75 2116 y(ignored.)35 b(Lines)21 b(b)q(eginning)g(with)e
 (a)i(`)p Fs(#)p Ft(')e(are)h(commen)o(ts.)35 b(Lines)21
 b(b)q(eginning)g(with)f(a)g(`)p Fs($)p Ft(')f(indicate)75
-2105 y(conditional)12 b(constructs)i(\(see)g(Section)f(1.3.2)g
+2171 y(conditional)12 b(constructs)i(\(see)g(Section)f(1.3.2)g
 ([Conditional)e(Init)j(Constructs],)f(page)h(9\).)k(Other)c(lines)75
-2159 y(denote)h(v)m(ariable)g(settings)f(and)i(k)o(ey)f(bindings.)75
-2244 y(V)l(ariable)f(Settings)315 2299 y(Y)l(ou)20 b(can)h(mo)q(dify)f
+2226 y(denote)h(v)m(ariable)g(settings)f(and)i(k)o(ey)f(bindings.)75
+2312 y(V)l(ariable)f(Settings)315 2367 y(Y)l(ou)20 b(can)h(mo)q(dify)f
 (the)g(run-time)g(b)q(eha)o(vior)g(of)f(Readline)i(b)o(y)f(altering)f
-(the)h(v)m(alues)g(of)315 2354 y(v)m(ariables)c(in)h(Readline)g(using)f
+(the)h(v)m(alues)g(of)315 2422 y(v)m(ariables)c(in)h(Readline)g(using)f
 (the)h Fs(set)g Ft(command)f(within)g(the)h(init)f(\014le.)25
-b(The)17 b(syn)o(tax)315 2408 y(is)e(simple:)435 2477
-y Fs(set)23 b Fl(variable)28 b(value)315 2546 y Ft(Here,)14
+b(The)17 b(syn)o(tax)315 2476 y(is)e(simple:)435 2546
+y Fs(set)23 b Fl(variable)28 b(value)315 2615 y Ft(Here,)14
 b(for)f(example,)g(is)g(ho)o(w)g(to)g(c)o(hange)h(from)f(the)h(default)
-f(Emacs-lik)o(e)g(k)o(ey)g(binding)h(to)315 2601 y(use)i
-Fs(vi)e Ft(line)h(editing)g(commands:)435 2670 y Fs(set)23
-b(editing-mode)g(vi)p eop end
+f(Emacs-lik)o(e)g(k)o(ey)g(binding)h(to)315 2670 y(use)i
+Fs(vi)e Ft(line)h(editing)g(commands:)p eop end
 %%Page: 5 9
 TeXDict begin 5 8 bop 75 -58 a Ft(Chapter)15 b(1:)k(Command)c(Line)h
-(Editing)1075 b(5)315 149 y(V)l(ariable)17 b(names)g(and)h(v)m(alues,)g
-(where)f(appropriate,)g(are)g(recognized)h(without)e(regard)315
-204 y(to)f(case.)k(Unrecognized)d(v)m(ariable)f(names)g(are)g(ignored.)
-315 268 y(Bo)q(olean)d(v)m(ariables)g(\(those)g(that)g(can)g(b)q(e)i
+(Editing)1075 b(5)435 149 y Fs(set)23 b(editing-mode)g(vi)315
+216 y Ft(V)l(ariable)17 b(names)g(and)h(v)m(alues,)g(where)f
+(appropriate,)g(are)g(recognized)h(without)e(regard)315
+271 y(to)f(case.)k(Unrecognized)d(v)m(ariable)f(names)g(are)g(ignored.)
+315 337 y(Bo)q(olean)d(v)m(ariables)g(\(those)g(that)g(can)g(b)q(e)i
 (set)e(to)g(on)g(or)g(o\013)t(\))f(are)h(set)h(to)f(on)g(if)g(the)h(v)m
-(alue)f(is)315 323 y(n)o(ull)g(or)f(empt)o(y)l(,)h Fi(on)h
+(alue)f(is)315 392 y(n)o(ull)g(or)f(empt)o(y)l(,)h Fi(on)h
 Ft(\(case-insensitiv)o(e\),)d(or)i(1.)19 b(An)o(y)12
 b(other)g(v)m(alue)g(results)f(in)h(the)h(v)m(ariable)315
-378 y(b)q(eing)i(set)g(to)g(o\013.)315 442 y(A)g(great)g(deal)f(of)h
+446 y(b)q(eing)i(set)g(to)g(o\013.)315 513 y(A)g(great)g(deal)f(of)h
 (run-time)g(b)q(eha)o(vior)g(is)g(c)o(hangeable)g(with)f(the)i(follo)o
-(wing)c(v)m(ariables.)315 515 y Fs(bell-style)555 570
+(wing)c(v)m(ariables.)315 591 y Fs(bell-style)555 645
 y Ft(Con)o(trols)20 b(what)i(happ)q(ens)h(when)f(Readline)g(w)o(an)o
-(ts)f(to)g(ring)h(the)g(termi-)555 624 y(nal)c(b)q(ell.)30
+(ts)f(to)g(ring)h(the)g(termi-)555 700 y(nal)c(b)q(ell.)30
 b(If)19 b(set)f(to)g(`)p Fs(none)p Ft(',)g(Readline)h(nev)o(er)g(rings)
-f(the)g(b)q(ell.)30 b(If)19 b(set)g(to)555 679 y(`)p
+f(the)g(b)q(ell.)30 b(If)19 b(set)g(to)555 755 y(`)p
 Fs(visible)p Ft(',)c(Readline)h(uses)h(a)f(visible)g(b)q(ell)h(if)f
 (one)g(is)g(a)o(v)m(ailable.)23 b(If)16 b(set)h(to)555
-734 y(`)p Fs(audible)p Ft(')g(\(the)h(default\),)h(Readline)g(attempts)
-f(to)g(ring)g(the)h(terminal's)555 789 y(b)q(ell.)315
-862 y Fs(bind-tty-special-chars)555 917 y Ft(If)k(set)f(to)g(`)p
+810 y(`)p Fs(audible)p Ft(')g(\(the)h(default\),)h(Readline)g(attempts)
+f(to)g(ring)g(the)h(terminal's)555 865 y(b)q(ell.)315
+943 y Fs(bind-tty-special-chars)555 997 y Ft(If)k(set)f(to)g(`)p
 Fs(on)p Ft(',)h(Readline)g(attempts)f(to)g(bind)h(the)f(con)o(trol)g(c)
-o(haracters)555 971 y(treated)17 b(sp)q(ecially)g(b)o(y)h(the)g(k)o
+o(haracters)555 1052 y(treated)17 b(sp)q(ecially)g(b)o(y)h(the)g(k)o
 (ernel's)f(terminal)f(driv)o(er)h(to)g(their)h(Readline)555
-1026 y(equiv)m(alen)o(ts.)315 1099 y Fs(comment-begin)555
-1154 y Ft(The)d(string)e(to)h(insert)h(at)e(the)i(b)q(eginning)g(of)f
-(the)h(line)f(when)h(the)g Fs(insert-)555 1209 y(comment)f
+1107 y(equiv)m(alen)o(ts.)315 1185 y Fs(comment-begin)555
+1240 y Ft(The)d(string)e(to)h(insert)h(at)e(the)i(b)q(eginning)g(of)f
+(the)h(line)f(when)h(the)g Fs(insert-)555 1294 y(comment)f
 Ft(command)h(is)g(executed.)21 b(The)15 b(default)g(v)m(alue)g(is)g
-Fs("#")p Ft(.)315 1282 y Fs(completion-ignore-case)555
-1337 y Ft(If)f(set)f(to)g(`)p Fs(on)p Ft(',)g(Readline)h(p)q(erforms)f
-(\014lename)h(matc)o(hing)f(and)h(completion)555 1391
+Fs("#")p Ft(.)315 1372 y Fs(completion-ignore-case)555
+1427 y Ft(If)f(set)f(to)g(`)p Fs(on)p Ft(',)g(Readline)h(p)q(erforms)f
+(\014lename)h(matc)o(hing)f(and)h(completion)555 1482
 y(in)h(a)g(case-insensitiv)o(e)f(fashion.)20 b(The)15
-b(default)g(v)m(alue)g(is)g(`)p Fs(off)p Ft('.)315 1465
-y Fs(completion-query-items)555 1519 y Ft(The)e(n)o(um)o(b)q(er)h(of)e
+b(default)g(v)m(alue)g(is)g(`)p Fs(off)p Ft('.)315 1560
+y Fs(completion-query-items)555 1614 y Ft(The)e(n)o(um)o(b)q(er)h(of)e
 (p)q(ossible)h(completions)g(that)f(determines)h(when)h(the)f(user)555
-1574 y(is)h(ask)o(ed)h(whether)g(the)f(list)g(of)g(p)q(ossibilities)f
-(should)i(b)q(e)g(displa)o(y)o(ed.)k(If)c(the)555 1629
+1669 y(is)h(ask)o(ed)h(whether)g(the)f(list)g(of)g(p)q(ossibilities)f
+(should)i(b)q(e)g(displa)o(y)o(ed.)k(If)c(the)555 1724
 y(n)o(um)o(b)q(er)f(of)f(p)q(ossible)g(completions)f(is)h(greater)g
-(than)g(this)g(v)m(alue,)h(Readline)555 1684 y(will)e(ask)h(the)g(user)
+(than)g(this)g(v)m(alue,)h(Readline)555 1779 y(will)e(ask)h(the)g(user)
 h(whether)f(or)g(not)g(he)g(wishes)g(to)g(view)g(them;)g(otherwise,)555
-1738 y(they)f(are)g(simply)g(listed.)18 b(This)12 b(v)m(ariable)f(m)o
+1834 y(they)f(are)g(simply)g(listed.)18 b(This)12 b(v)m(ariable)f(m)o
 (ust)h(b)q(e)h(set)f(to)f(an)h(in)o(teger)g(v)m(alue)555
-1793 y(greater)g(than)g(or)g(equal)g(to)g(0.)18 b(A)13
+1888 y(greater)g(than)g(or)g(equal)g(to)g(0.)18 b(A)13
 b(negativ)o(e)e(v)m(alue)i(means)f(Readline)h(should)555
-1848 y(nev)o(er)i(ask.)20 b(The)15 b(default)g(limit)f(is)g
-Fs(100)p Ft(.)315 1921 y Fs(convert-meta)555 1976 y Ft(If)d(set)g(to)g
+1943 y(nev)o(er)i(ask.)20 b(The)15 b(default)g(limit)f(is)g
+Fs(100)p Ft(.)315 2021 y Fs(convert-meta)555 2076 y Ft(If)d(set)g(to)g
 (`)p Fs(on)p Ft(',)f(Readline)h(will)f(con)o(v)o(ert)g(c)o(haracters)h
-(with)f(the)h(eigh)o(th)g(bit)f(set)555 2031 y(to)g(an)h
+(with)f(the)h(eigh)o(th)g(bit)f(set)555 2131 y(to)g(an)h
 Fm(asci)q(i)e Ft(k)o(ey)i(sequence)g(b)o(y)g(stripping)f(the)g(eigh)o
-(th)g(bit)h(and)f(pre\014xing)h(an)555 2084 y Fk(h)p
-567 2057 70 2 v 567 2086 a Fj(ESC)p 567 2093 V 634 2084
-a Fk(i)666 2086 y Ft(c)o(haracter,)16 b(con)o(v)o(erting)g(them)h(to)f
-(a)h(meta-pre\014xed)g(k)o(ey)g(sequence.)555 2140 y(The)e(default)g(v)
-m(alue)h(is)e(`)p Fs(on)p Ft('.)315 2213 y Fs(disable-completion)555
-2268 y Ft(If)19 b(set)f(to)f(`)p Fs(On)p Ft(',)h(Readline)h(will)e
+(th)g(bit)h(and)f(pre\014xing)h(an)555 2183 y Fk(h)p
+567 2157 70 2 v 567 2185 a Fj(ESC)p 567 2193 V 634 2183
+a Fk(i)666 2185 y Ft(c)o(haracter,)16 b(con)o(v)o(erting)g(them)h(to)f
+(a)h(meta-pre\014xed)g(k)o(ey)g(sequence.)555 2240 y(The)e(default)g(v)
+m(alue)h(is)e(`)p Fs(on)p Ft('.)315 2318 y Fs(disable-completion)555
+2373 y Ft(If)19 b(set)f(to)f(`)p Fs(On)p Ft(',)h(Readline)h(will)e
 (inhibit)g(w)o(ord)h(completion.)28 b(Completion)555
-2323 y(c)o(haracters)12 b(will)g(b)q(e)i(inserted)f(in)o(to)f(the)h
+2428 y(c)o(haracters)12 b(will)g(b)q(e)i(inserted)f(in)o(to)f(the)h
 (line)f(as)h(if)g(they)g(had)g(b)q(een)h(mapp)q(ed)555
-2378 y(to)h Fs(self-insert)p Ft(.)j(The)d(default)g(is)g(`)p
-Fs(off)p Ft('.)315 2451 y Fs(editing-mode)555 2506 y
+2483 y(to)h Fs(self-insert)p Ft(.)j(The)d(default)g(is)g(`)p
+Fs(off)p Ft('.)315 2560 y Fs(editing-mode)555 2615 y
 Ft(The)g Fs(editing-mode)d Ft(v)m(ariable)i(con)o(trols)f(whic)o(h)h
-(default)g(set)g(of)g(k)o(ey)g(bind-)555 2560 y(ings)e(is)g(used.)20
+(default)g(set)g(of)g(k)o(ey)g(bind-)555 2670 y(ings)e(is)g(used.)20
 b(By)12 b(default,)h(Readline)f(starts)g(up)h(in)f(Emacs)g(editing)g
-(mo)q(de,)555 2615 y(where)j(the)f(k)o(eystrok)o(es)g(are)g(most)g
-(similar)f(to)g(Emacs.)20 b(This)14 b(v)m(ariable)g(can)555
-2670 y(b)q(e)i(set)f(to)f(either)h(`)p Fs(emacs)p Ft(')f(or)h(`)p
-Fs(vi)p Ft('.)p eop end
+(mo)q(de,)p eop end
 %%Page: 6 10
 TeXDict begin 6 9 bop 75 -58 a Ft(6)1322 b(GNU)15 b(Readline)g(Library)
-315 149 y Fs(enable-keypad)555 204 y Ft(When)d(set)f(to)h(`)p
+555 149 y(where)g(the)f(k)o(eystrok)o(es)g(are)g(most)g(similar)f(to)g
+(Emacs.)20 b(This)14 b(v)m(ariable)g(can)555 204 y(b)q(e)i(set)f(to)f
+(either)h(`)p Fs(emacs)p Ft(')f(or)h(`)p Fs(vi)p Ft('.)315
+283 y Fs(enable-keypad)555 338 y Ft(When)d(set)f(to)h(`)p
 Fs(on)p Ft(',)e(Readline)i(will)f(try)g(to)g(enable)h(the)g
-(application)e(k)o(eypad)555 259 y(when)k(it)e(is)h(called.)19
+(application)e(k)o(eypad)555 393 y(when)k(it)e(is)h(called.)19
 b(Some)13 b(systems)g(need)h(this)f(to)g(enable)g(the)h(arro)o(w)e(k)o
-(eys.)555 314 y(The)j(default)g(is)g(`)p Fs(off)p Ft('.)315
-410 y Fs(expand-tilde)555 465 y Ft(If)f(set)g(to)f(`)p
+(eys.)555 448 y(The)j(default)g(is)g(`)p Fs(off)p Ft('.)315
+527 y Fs(expand-tilde)555 582 y Ft(If)f(set)g(to)f(`)p
 Fs(on)p Ft(',)f(tilde)i(expansion)f(is)h(p)q(erformed)g(when)g
-(Readline)g(attempts)555 519 y(w)o(ord)h(completion.)k(The)c(default)g
-(is)f(`)p Fs(off)p Ft('.)315 615 y Fs(history-preserve-point)555
-670 y Ft(If)h(set)g(to)f(`)p Fs(on)p Ft(',)g(the)g(history)g(co)q(de)i
+(Readline)g(attempts)555 637 y(w)o(ord)h(completion.)k(The)c(default)g
+(is)f(`)p Fs(off)p Ft('.)315 716 y Fs(history-preserve-point)555
+770 y Ft(If)h(set)g(to)f(`)p Fs(on)p Ft(',)g(the)g(history)g(co)q(de)i
 (attempts)e(to)g(place)h(p)q(oin)o(t)f(at)g(the)h(same)555
-725 y(lo)q(cation)g(on)i(eac)o(h)g(history)f(line)g(retriev)o(ed)g
-(with)g Fs(previous-history)e Ft(or)555 780 y Fs(next-history)p
-Ft(.)k(The)e(default)e(is)h(`)p Fs(off)p Ft('.)315 875
-y Fs(horizontal-scroll-mode)555 930 y Ft(This)j(v)m(ariable)f(can)h(b)q
-(e)g(set)g(to)f(either)h(`)p Fs(on)p Ft(')f(or)g(`)p
+825 y(lo)q(cation)g(on)i(eac)o(h)g(history)f(line)g(retriev)o(ed)g
+(with)g Fs(previous-history)e Ft(or)555 880 y Fs(next-history)p
+Ft(.)k(The)e(default)e(is)h(`)p Fs(off)p Ft('.)315 959
+y Fs(horizontal-scroll-mode)555 1014 y Ft(This)j(v)m(ariable)f(can)h(b)
+q(e)g(set)g(to)f(either)h(`)p Fs(on)p Ft(')f(or)g(`)p
 Fs(off)p Ft('.)27 b(Setting)18 b(it)f(to)g(`)p Fs(on)p
-Ft(')555 985 y(means)c(that)f(the)i(text)e(of)h(the)g(lines)g(b)q(eing)
-g(edited)g(will)f(scroll)g(horizon)o(tally)555 1040 y(on)k(a)f(single)g
-(screen)i(line)e(when)i(they)f(are)f(longer)g(than)h(the)g(width)f(of)h
-(the)555 1095 y(screen,)e(instead)e(of)h(wrapping)f(on)o(to)g(a)h(new)g
-(screen)h(line.)19 b(By)13 b(default,)g(this)555 1149
-y(v)m(ariable)i(is)f(set)h(to)g(`)p Fs(off)p Ft('.)315
-1245 y Fs(input-meta)555 1300 y Ft(If)h(set)f(to)g(`)p
-Fs(on)p Ft(',)f(Readline)i(will)f(enable)g(eigh)o(t-bit)g(input)g(\(it)
-g(will)f(not)h(clear)555 1355 y(the)20 b(eigh)o(th)f(bit)g(in)h(the)g
-(c)o(haracters)f(it)g(reads\),)h(regardless)f(of)h(what)f(the)555
-1410 y(terminal)g(claims)g(it)g(can)h(supp)q(ort.)34
+Ft(')555 1069 y(means)c(that)f(the)i(text)e(of)h(the)g(lines)g(b)q
+(eing)g(edited)g(will)f(scroll)g(horizon)o(tally)555
+1124 y(on)k(a)f(single)g(screen)i(line)e(when)i(they)f(are)f(longer)g
+(than)h(the)g(width)f(of)h(the)555 1178 y(screen,)e(instead)e(of)h
+(wrapping)f(on)o(to)g(a)h(new)g(screen)h(line.)19 b(By)13
+b(default,)g(this)555 1233 y(v)m(ariable)i(is)f(set)h(to)g(`)p
+Fs(off)p Ft('.)315 1312 y Fs(input-meta)555 1367 y Ft(If)h(set)f(to)g
+(`)p Fs(on)p Ft(',)f(Readline)i(will)f(enable)g(eigh)o(t-bit)g(input)g
+(\(it)g(will)f(not)h(clear)555 1422 y(the)20 b(eigh)o(th)f(bit)g(in)h
+(the)g(c)o(haracters)f(it)g(reads\),)h(regardless)f(of)h(what)f(the)555
+1477 y(terminal)g(claims)g(it)g(can)h(supp)q(ort.)34
 b(The)20 b(default)g(v)m(alue)g(is)g(`)p Fs(off)p Ft('.)33
-b(The)555 1465 y(name)15 b Fs(meta-flag)f Ft(is)h(a)g(synon)o(ym)g(for)
-f(this)h(v)m(ariable.)315 1560 y Fs(isearch-terminators)555
-1615 y Ft(The)26 b(string)f(of)g(c)o(haracters)g(that)g(should)h
-(terminate)f(an)h(incremen)o(tal)555 1670 y(searc)o(h)12
+b(The)555 1531 y(name)15 b Fs(meta-flag)f Ft(is)h(a)g(synon)o(ym)g(for)
+f(this)h(v)m(ariable.)315 1611 y Fs(isearch-terminators)555
+1665 y Ft(The)26 b(string)f(of)g(c)o(haracters)g(that)g(should)h
+(terminate)f(an)h(incremen)o(tal)555 1720 y(searc)o(h)12
 b(without)g(subsequen)o(tly)g(executing)h(the)f(c)o(haracter)g(as)g(a)g
-(command)555 1725 y(\(see)22 b(Section)g(1.2.5)f([Searc)o(hing],)i
+(command)555 1775 y(\(see)22 b(Section)g(1.2.5)f([Searc)o(hing],)i
 (page)f(3\).)40 b(If)23 b(this)f(v)m(ariable)f(has)h(not)555
-1780 y(b)q(een)17 b(giv)o(en)e(a)h(v)m(alue,)f(the)h(c)o(haracters)1247
-1778 y Fk(h)p 1259 1752 70 2 v 1259 1780 a Fj(ESC)p 1259
-1787 V 1326 1778 a Fk(i)1357 1780 y Ft(and)g Fl(C-J)f
-Ft(will)f(terminate)h(an)555 1834 y(incremen)o(tal)f(searc)o(h.)315
-1930 y Fs(keymap)96 b Ft(Sets)19 b(Readline's)h(idea)f(of)g(the)g
+1830 y(b)q(een)17 b(giv)o(en)e(a)h(v)m(alue,)f(the)h(c)o(haracters)1247
+1828 y Fk(h)p 1259 1802 70 2 v 1259 1830 a Fj(ESC)p 1259
+1837 V 1326 1828 a Fk(i)1357 1830 y Ft(and)g Fl(C-J)f
+Ft(will)f(terminate)h(an)555 1885 y(incremen)o(tal)f(searc)o(h.)315
+1964 y Fs(keymap)96 b Ft(Sets)19 b(Readline's)h(idea)f(of)g(the)g
 (curren)o(t)h(k)o(eymap)f(for)f(k)o(ey)i(binding)f(com-)555
-1985 y(mands.)41 b(Acceptable)22 b Fs(keymap)g Ft(names)g(are)f
-Fs(emacs)p Ft(,)i Fs(emacs-standard)p Ft(,)555 2040 y
+2019 y(mands.)41 b(Acceptable)22 b Fs(keymap)g Ft(names)g(are)f
+Fs(emacs)p Ft(,)i Fs(emacs-standard)p Ft(,)555 2073 y
 Fs(emacs-meta)p Ft(,)49 b Fs(emacs-ctlx)p Ft(,)g Fs(vi)p
 Ft(,)h Fs(vi-move)p Ft(,)f Fs(vi-command)p Ft(,)g(and)555
-2095 y Fs(vi-insert)p Ft(.)31 b Fs(vi)20 b Ft(is)f(equiv)m(alen)o(t)g
+2128 y Fs(vi-insert)p Ft(.)31 b Fs(vi)20 b Ft(is)f(equiv)m(alen)o(t)g
 (to)g Fs(vi-command)p Ft(;)g Fs(emacs)g Ft(is)g(equiv)m(alen)o(t)555
-2149 y(to)c Fs(emacs-standard)p Ft(.)20 b(The)d(default)e(v)m(alue)h
+2183 y(to)c Fs(emacs-standard)p Ft(.)20 b(The)d(default)e(v)m(alue)h
 (is)g Fs(emacs)p Ft(.)21 b(The)16 b(v)m(alue)g(of)g(the)555
-2204 y Fs(editing-mode)e Ft(v)m(ariable)g(also)g(a\013ects)h(the)g
-(default)g(k)o(eymap.)315 2300 y Fs(mark-directories)555
-2355 y Ft(If)k(set)g(to)g(`)p Fs(on)p Ft(',)f(completed)h(directory)g
-(names)g(ha)o(v)o(e)f(a)h(slash)g(app)q(ended.)555 2410
+2238 y Fs(editing-mode)e Ft(v)m(ariable)g(also)g(a\013ects)h(the)g
+(default)g(k)o(eymap.)315 2317 y Fs(mark-directories)555
+2372 y Ft(If)k(set)g(to)g(`)p Fs(on)p Ft(',)f(completed)h(directory)g
+(names)g(ha)o(v)o(e)f(a)h(slash)g(app)q(ended.)555 2426
 y(The)c(default)g(is)g(`)p Fs(on)p Ft('.)315 2506 y Fs
 (mark-modified-lines)555 2560 y Ft(This)j(v)m(ariable,)f(when)i(set)e
 (to)h(`)p Fs(on)p Ft(',)f(causes)h(Readline)g(to)f(displa)o(y)g(an)h
@@ -6504,61 +6505,64 @@ b Fg(int)20 b Ff(rl)p 217 149 18 3 v 24 w(stu\013)p 351
 (haracters)h(ma)o(y)195 314 y(b)q(e)j(pushed)g(bac)o(k.)k
 Fs(rl_stuff_char)14 b Ft(returns)h(1)g(if)g(the)g(c)o(haracter)g(w)o
 (as)f(successfully)h(inserted;)195 369 y(0)g(otherwise.)1675
-493 y([F)l(unction])-1801 b Fg(int)20 b Ff(rl)p 217 493
-V 24 w(execute)p 428 493 V 27 w(next)j Fe(\()p Fs(int)15
-b(c)p Fe(\))195 548 y Ft(Mak)o(e)i Fi(c)k Ft(b)q(e)d(the)g(next)g
+486 y([F)l(unction])-1801 b Fg(int)20 b Ff(rl)p 217 486
+V 24 w(execute)p 428 486 V 27 w(next)j Fe(\()p Fs(int)15
+b(c)p Fe(\))195 541 y Ft(Mak)o(e)i Fi(c)k Ft(b)q(e)d(the)g(next)g
 (command)g(to)f(b)q(e)i(executed)f(when)h Fs(rl_read_key\(\))d
-Ft(is)h(called.)27 b(This)195 602 y(sets)15 b Fi(rl)p
-318 602 14 2 v 19 w(p)q(ending)p 494 602 V 21 w(input)p
-Ft(.)1675 726 y([F)l(unction])-1801 b Fg(int)20 b Ff(rl)p
-217 726 18 3 v 24 w(clear)p 360 726 V 26 w(p)r(ending)p
-587 726 V 23 w(input)j Fe(\()p Fs(void)p Fe(\))195 781
-y Ft(Unset)e Fi(rl)p 365 781 14 2 v 19 w(p)q(ending)p
-541 781 V 21 w(input)p Ft(,)h(e\013ectiv)o(ely)e(negating)g(the)h
+Ft(is)h(called.)27 b(This)195 596 y(sets)15 b Fi(rl)p
+318 596 14 2 v 19 w(p)q(ending)p 494 596 V 21 w(input)p
+Ft(.)1675 714 y([F)l(unction])-1801 b Fg(int)20 b Ff(rl)p
+217 714 18 3 v 24 w(clear)p 360 714 V 26 w(p)r(ending)p
+587 714 V 23 w(input)j Fe(\()p Fs(void)p Fe(\))195 768
+y Ft(Unset)e Fi(rl)p 365 768 14 2 v 19 w(p)q(ending)p
+541 768 V 21 w(input)p Ft(,)h(e\013ectiv)o(ely)e(negating)g(the)h
 (e\013ect)g(of)f(an)o(y)h(previous)f(call)g(to)g Fs(rl_)195
-836 y(execute_next\(\))p Ft(.)29 b(This)18 b(w)o(orks)g(only)g(if)h
+823 y(execute_next\(\))p Ft(.)29 b(This)18 b(w)o(orks)g(only)g(if)h
 (the)f(p)q(ending)i(input)f(has)g(not)f(already)g(b)q(een)i(read)195
-891 y(with)15 b Fs(rl_read_key\(\))p Ft(.)1675 1015 y([F)l(unction])
--1801 b Fg(int)20 b Ff(rl)p 217 1015 18 3 v 24 w(set)p
-312 1015 V 26 w(k)n(eyb)r(oard)p 569 1015 V 24 w(input)p
-727 1015 V 25 w(timeout)j Fe(\()p Fs(int)14 b(u)p Fe(\))195
-1070 y Ft(While)19 b(w)o(aiting)g(for)g(k)o(eyb)q(oard)h(input)g(in)g
+878 y(with)15 b Fs(rl_read_key\(\))p Ft(.)1675 996 y([F)l(unction])
+-1801 b Fg(int)20 b Ff(rl)p 217 996 18 3 v 24 w(set)p
+312 996 V 26 w(k)n(eyb)r(oard)p 569 996 V 24 w(input)p
+727 996 V 25 w(timeout)j Fe(\()p Fs(int)14 b(u)p Fe(\))195
+1050 y Ft(While)19 b(w)o(aiting)g(for)g(k)o(eyb)q(oard)h(input)g(in)g
 Fs(rl_read_key\(\))p Ft(,)f(Readline)h(will)f(w)o(ait)g(for)g
-Fi(u)h Ft(mi-)195 1124 y(croseconds)h(for)e(input)i(b)q(efore)g
+Fi(u)h Ft(mi-)195 1105 y(croseconds)c(for)e(input)i(b)q(efore)g
 (calling)e(an)o(y)h(function)g(assigned)g(to)g Fs(rl_event_hook)p
-Ft(.)34 b(The)195 1179 y(default)15 b(w)o(aiting)e(p)q(erio)q(d)j(is)e
-(one-ten)o(th)i(of)e(a)h(second.)21 b(Returns)15 b(the)h(old)e(timeout)
-h(v)m(alue.)75 1323 y Fh(2.4.9)30 b(T)-5 b(erminal)20
-b(Managemen)n(t)1675 1461 y Ft([F)l(unction])-1801 b
-Fg(void)20 b Ff(rl)p 243 1461 V 24 w(prep)p 381 1461
-V 25 w(terminal)i Fe(\()p Fs(int)15 b(meta_flag)p Fe(\))195
-1516 y Ft(Mo)q(dify)21 b(the)g(terminal)f(settings)g(for)h(Readline's)g
-(use,)i(so)d Fs(readline\(\))g Ft(can)i(read)f(a)g(single)195
-1571 y(c)o(haracter)15 b(at)g(a)g(time)f(from)h(the)h(k)o(eyb)q(oard.)k
-(The)c Fi(meta)p 1189 1571 14 2 v 19 w(\015ag)j Ft(argumen)o(t)c
-(should)h(b)q(e)g(non-zero)195 1626 y(if)f(Readline)g(should)g(read)g
-(eigh)o(t-bit)g(input.)1675 1750 y([F)l(unction])-1801
-b Fg(void)20 b Ff(rl)p 243 1750 18 3 v 24 w(deprep)p
-439 1750 V 25 w(terminal)i Fe(\()p Fs(void)p Fe(\))195
-1805 y Ft(Undo)16 b(the)g(e\013ects)f(of)h Fs(rl_prep_terminal\(\))p
-Ft(,)d(lea)o(ving)i(the)g(terminal)g(in)h(the)f(state)g(in)h(whic)o(h)
-195 1859 y(it)e(w)o(as)h(b)q(efore)g(the)h(most)e(recen)o(t)h(call)g
-(to)f Fs(rl_prep_terminal\(\))p Ft(.)1675 1983 y([F)l(unction])-1801
-b Fg(void)20 b Ff(rl)p 243 1983 V 24 w(tt)n(y)p 339 1983
-V 27 w(set)p 437 1983 V 25 w(default)p 636 1983 V 25
+Ft(.)k Fi(u)d Ft(m)o(ust)195 1160 y(b)q(e)h(greater)e(than)g(or)h
+(equal)g(to)f(zero)h(\(a)f(zero-length)h(timeout)f(is)g(equiv)m(alen)o
+(t)h(to)f(a)h(p)q(oll\).)21 b(The)195 1215 y(default)15
+b(w)o(aiting)e(p)q(erio)q(d)j(is)e(one-ten)o(th)i(of)e(a)h(second.)21
+b(Returns)15 b(the)h(old)e(timeout)h(v)m(alue.)75 1352
+y Fh(2.4.9)30 b(T)-5 b(erminal)20 b(Managemen)n(t)1675
+1487 y Ft([F)l(unction])-1801 b Fg(void)20 b Ff(rl)p
+243 1487 V 24 w(prep)p 381 1487 V 25 w(terminal)i Fe(\()p
+Fs(int)15 b(meta_flag)p Fe(\))195 1542 y Ft(Mo)q(dify)21
+b(the)g(terminal)f(settings)g(for)h(Readline's)g(use,)i(so)d
+Fs(readline\(\))g Ft(can)i(read)f(a)g(single)195 1597
+y(c)o(haracter)15 b(at)g(a)g(time)f(from)h(the)h(k)o(eyb)q(oard.)k(The)
+c Fi(meta)p 1189 1597 14 2 v 19 w(\015ag)j Ft(argumen)o(t)c(should)h(b)
+q(e)g(non-zero)195 1651 y(if)f(Readline)g(should)g(read)g(eigh)o(t-bit)
+g(input.)1675 1769 y([F)l(unction])-1801 b Fg(void)20
+b Ff(rl)p 243 1769 18 3 v 24 w(deprep)p 439 1769 V 25
+w(terminal)i Fe(\()p Fs(void)p Fe(\))195 1824 y Ft(Undo)16
+b(the)g(e\013ects)f(of)h Fs(rl_prep_terminal\(\))p Ft(,)d(lea)o(ving)i
+(the)g(terminal)g(in)h(the)f(state)g(in)h(whic)o(h)195
+1879 y(it)e(w)o(as)h(b)q(efore)g(the)h(most)e(recen)o(t)h(call)g(to)f
+Fs(rl_prep_terminal\(\))p Ft(.)1675 1996 y([F)l(unction])-1801
+b Fg(void)20 b Ff(rl)p 243 1996 V 24 w(tt)n(y)p 339 1996
+V 27 w(set)p 437 1996 V 25 w(default)p 636 1996 V 25
 w(bindings)h Fe(\()p Fs(Keymap)14 b(kmap)p Fe(\))195
-2038 y Ft(Read)19 b(the)g(op)q(erating)e(system's)h(terminal)f(editing)
+2051 y Ft(Read)19 b(the)g(op)q(erating)e(system's)h(terminal)f(editing)
 h(c)o(haracters)g(\(as)f(w)o(ould)h(b)q(e)h(displa)o(y)o(ed)f(b)o(y)195
-2093 y Fs(stty)p Ft(\))c(to)h(their)g(Readline)g(equiv)m(alen)o(ts.)20
+2106 y Fs(stty)p Ft(\))c(to)h(their)g(Readline)g(equiv)m(alen)o(ts.)20
 b(The)15 b(bindings)g(are)g(p)q(erformed)g(in)g Fi(kmap)p
-Ft(.)1675 2217 y([F)l(unction])-1801 b Fg(void)20 b Ff(rl)p
-243 2217 V 24 w(tt)n(y)p 339 2217 V 27 w(unset)p 501
-2217 V 25 w(default)p 700 2217 V 24 w(bindings)i Fe(\()p
-Fs(Keymap)14 b(kmap)p Fe(\))195 2272 y Ft(Reset)i(the)g(bindings)g
+Ft(.)1675 2224 y([F)l(unction])-1801 b Fg(void)20 b Ff(rl)p
+243 2224 V 24 w(tt)n(y)p 339 2224 V 27 w(unset)p 501
+2224 V 25 w(default)p 700 2224 V 24 w(bindings)i Fe(\()p
+Fs(Keymap)14 b(kmap)p Fe(\))195 2278 y Ft(Reset)i(the)g(bindings)g
 (manipulated)f(b)o(y)h Fs(rl_tty_set_default_bindings)c
-Ft(so)k(that)f(the)h(ter-)195 2327 y(minal)j(editing)g(c)o(haracters)g
+Ft(so)k(that)f(the)h(ter-)195 2333 y(minal)j(editing)g(c)o(haracters)g
 (are)h(b)q(ound)g(to)f Fs(rl_insert)p Ft(.)33 b(The)20
-b(bindings)g(are)f(p)q(erformed)h(in)195 2382 y Fi(kmap)p
+b(bindings)g(are)f(p)q(erformed)h(in)195 2388 y Fi(kmap)p
 Ft(.)1675 2506 y([F)l(unction])-1801 b Fg(int)20 b Ff(rl)p
 217 2506 V 24 w(reset)p 362 2506 V 25 w(terminal)j Fe(\()p
 Fs(const)14 b(char)g(*terminal_name)p Fe(\))195 2560
@@ -7260,77 +7264,82 @@ b(the)i(directory)e(p)q(ortion)g(of)h(the)g(pathname)g(the)h(user)f(t)o
 (yp)q(ed.)20 b(It)14 b(returns)g(an)g(in)o(teger)195
 204 y(that)i(should)g(b)q(e)h(non-zero)g(if)f(the)h(function)f(mo)q
 (di\014es)h(its)e(directory)h(argumen)o(t.)23 b(It)17
-b(could)f(b)q(e)195 259 y(used)g(to)e(expand)i(sym)o(b)q(olic)f(links)f
-(or)h(shell)g(v)m(ariables)f(in)h(pathnames.)1685 362
-y([V)l(ariable])-1801 b Fg(rl_compdisp_func_t)22 b(*)d
-Ff(rl)p 654 362 18 3 v 25 w(completion)p 954 362 V 24
-w(displa)n(y)p 1153 362 V 25 w(matc)n(hes)p 1380 362
-V 26 w(ho)r(ok)195 417 y Ft(If)11 b(non-zero,)h(then)f(this)g(is)f(the)
-h(address)g(of)g(a)g(function)f(to)h(call)f(when)h(completing)g(a)f(w)o
-(ord)h(w)o(ould)195 471 y(normally)f(displa)o(y)g(the)h(list)f(of)h(p)q
-(ossible)f(matc)o(hes.)18 b(This)11 b(function)g(is)g(called)f(in)h
-(lieu)g(of)g(Readline)195 526 y(displa)o(ying)17 b(the)i(list.)28
+b(could)f(b)q(e)195 259 y(used)h(to)f(expand)i(sym)o(b)q(olic)e(links)g
+(or)g(shell)g(v)m(ariables)h(in)f(pathnames.)24 b(A)o(t)17
+b(the)g(least,)e(ev)o(en)i(if)195 314 y(no)h(other)g(expansion)g(is)f
+(p)q(erformed,)i(this)f(function)g(should)g(remo)o(v)o(e)f(an)o(y)h
+(quote)g(c)o(haracters)195 369 y(from)c(the)i(directory)e(name,)h(b)q
+(ecause)h(its)f(result)f(will)g(b)q(e)i(passed)f(directly)g(to)f
+Fs(opendir\(\))p Ft(.)1685 458 y([V)l(ariable])-1801
+b Fg(rl_compdisp_func_t)22 b(*)d Ff(rl)p 654 458 18 3
+v 25 w(completion)p 954 458 V 24 w(displa)n(y)p 1153
+458 V 25 w(matc)n(hes)p 1380 458 V 26 w(ho)r(ok)195 512
+y Ft(If)11 b(non-zero,)h(then)f(this)g(is)f(the)h(address)g(of)g(a)g
+(function)f(to)h(call)f(when)h(completing)g(a)f(w)o(ord)h(w)o(ould)195
+567 y(normally)f(displa)o(y)g(the)h(list)f(of)h(p)q(ossible)f(matc)o
+(hes.)18 b(This)11 b(function)g(is)g(called)f(in)h(lieu)g(of)g
+(Readline)195 622 y(displa)o(ying)17 b(the)i(list.)28
 b(It)19 b(tak)o(es)f(three)g(argumen)o(ts:)26 b(\()p
 Fs(char)14 b(**)p Fi(matc)o(hes)p Ft(,)19 b Fs(int)f
-Fi(n)o(um)p 1685 526 14 2 v 20 w(matc)o(hes)p Ft(,)195
-581 y Fs(int)13 b Fi(max)p 368 581 V 19 w(length)p Ft(\))g(where)g
+Fi(n)o(um)p 1685 622 14 2 v 20 w(matc)o(hes)p Ft(,)195
+677 y Fs(int)13 b Fi(max)p 368 677 V 19 w(length)p Ft(\))g(where)g
 Fi(matc)o(hes)i Ft(is)e(the)g(arra)o(y)f(of)h(matc)o(hing)f(strings,)g
-Fi(n)o(um)p 1575 581 V 20 w(matc)o(hes)j Ft(is)e(the)195
-636 y(n)o(um)o(b)q(er)i(of)f(strings)f(in)i(that)f(arra)o(y)l(,)f(and)i
-Fi(max)p 1011 636 V 19 w(length)f Ft(is)g(the)h(length)f(of)g(the)h
-(longest)f(string)f(in)195 691 y(that)g(arra)o(y)l(.)19
+Fi(n)o(um)p 1575 677 V 20 w(matc)o(hes)j Ft(is)e(the)195
+732 y(n)o(um)o(b)q(er)i(of)f(strings)f(in)i(that)f(arra)o(y)l(,)f(and)i
+Fi(max)p 1011 732 V 19 w(length)f Ft(is)g(the)h(length)f(of)g(the)h
+(longest)f(string)f(in)195 786 y(that)g(arra)o(y)l(.)19
 b(Readline)14 b(pro)o(vides)g(a)f(con)o(v)o(enience)i(function,)f
-Fs(rl_display_match_list)p Ft(,)d(that)195 745 y(tak)o(es)17
+Fs(rl_display_match_list)p Ft(,)d(that)195 841 y(tak)o(es)17
 b(care)g(of)g(doing)g(the)g(displa)o(y)g(to)f(Readline's)i(output)f
 (stream.)26 b(That)16 b(function)i(ma)o(y)e(b)q(e)195
-800 y(called)f(from)f(this)h(ho)q(ok.)1685 903 y([V)l(ariable])-1801
-b Fg(const)20 b(char)g(*)f Ff(rl)p 438 903 18 3 v 25
-w(basic)p 587 903 V 24 w(w)n(ord)p 735 903 V 25 w(break)p
-900 903 V 25 w(c)n(haracters)195 958 y Ft(The)j(basic)g(list)f(of)h(c)o
-(haracters)f(that)g(signal)g(a)h(break)g(b)q(et)o(w)o(een)g(w)o(ords)g
-(for)f(the)h(completer)195 1012 y(routine.)29 b(The)19
+896 y(called)f(from)f(this)h(ho)q(ok.)1685 985 y([V)l(ariable])-1801
+b Fg(const)20 b(char)g(*)f Ff(rl)p 438 985 18 3 v 25
+w(basic)p 587 985 V 24 w(w)n(ord)p 735 985 V 25 w(break)p
+900 985 V 25 w(c)n(haracters)195 1040 y Ft(The)j(basic)g(list)f(of)h(c)
+o(haracters)f(that)g(signal)g(a)h(break)g(b)q(et)o(w)o(een)g(w)o(ords)g
+(for)f(the)h(completer)195 1095 y(routine.)29 b(The)19
 b(default)f(v)m(alue)h(of)f(this)g(v)m(ariable)g(is)g(the)h(c)o
-(haracters)f(whic)o(h)g(break)h(w)o(ords)f(for)195 1067
+(haracters)f(whic)o(h)g(break)h(w)o(ords)f(for)195 1149
 y(completion)c(in)h(Bash:)20 b Fs(")15 b(\\t\\n\\"\\\\'`@$><=;|&{\(")p
-Ft(.)1685 1170 y([V)l(ariable])-1801 b Fg(const)20 b(char)g(*)f
-Ff(rl)p 438 1170 V 25 w(basic)p 587 1170 V 24 w(quote)p
-750 1170 V 26 w(c)n(haracters)195 1225 y Ft(A)c(list)f(of)h(quote)g(c)o
+Ft(.)1685 1238 y([V)l(ariable])-1801 b Fg(const)20 b(char)g(*)f
+Ff(rl)p 438 1238 V 25 w(basic)p 587 1238 V 24 w(quote)p
+750 1238 V 26 w(c)n(haracters)195 1293 y Ft(A)c(list)f(of)h(quote)g(c)o
 (haracters)f(whic)o(h)h(can)h(cause)f(a)g(w)o(ord)g(break.)1685
-1328 y([V)l(ariable])-1801 b Fg(const)20 b(char)g(*)f
-Ff(rl)p 438 1328 V 25 w(completer)p 711 1328 V 25 w(w)n(ord)p
-860 1328 V 25 w(break)p 1025 1328 V 25 w(c)n(haracters)195
-1382 y Ft(The)33 b(list)e(of)h(c)o(haracters)g(that)f(signal)h(a)g
+1382 y([V)l(ariable])-1801 b Fg(const)20 b(char)g(*)f
+Ff(rl)p 438 1382 V 25 w(completer)p 711 1382 V 25 w(w)n(ord)p
+860 1382 V 25 w(break)p 1025 1382 V 25 w(c)n(haracters)195
+1437 y Ft(The)33 b(list)e(of)h(c)o(haracters)g(that)f(signal)h(a)g
 (break)g(b)q(et)o(w)o(een)h(w)o(ords)f(for)g Fs(rl_complete_)195
-1437 y(internal\(\))p Ft(.)18 b(The)e(default)f(list)f(is)g(the)i(v)m
+1492 y(internal\(\))p Ft(.)18 b(The)e(default)f(list)f(is)g(the)i(v)m
 (alue)f(of)g Fs(rl_basic_word_break_chara)o(cters)p Ft(.)1685
-1540 y([V)l(ariable])-1801 b Fg(rl_cpvfunc_t)21 b(*)e
-Ff(rl)p 497 1540 V 25 w(completion)p 797 1540 V 25 w(w)n(ord)p
-946 1540 V 25 w(break)p 1111 1540 V 25 w(ho)r(ok)195
-1595 y Ft(If)d(non-zero,)g(this)f(is)g(the)h(address)g(of)f(a)h
+1581 y([V)l(ariable])-1801 b Fg(rl_cpvfunc_t)21 b(*)e
+Ff(rl)p 497 1581 V 25 w(completion)p 797 1581 V 25 w(w)n(ord)p
+946 1581 V 25 w(break)p 1111 1581 V 25 w(ho)r(ok)195
+1636 y Ft(If)d(non-zero,)g(this)f(is)g(the)h(address)g(of)f(a)h
 (function)f(to)g(call)g(when)i(Readline)f(is)f(deciding)h(where)195
-1649 y(to)h(separate)f(w)o(ords)h(for)f(w)o(ord)g(completion.)25
+1691 y(to)h(separate)f(w)o(ords)h(for)f(w)o(ord)g(completion.)25
 b(It)18 b(should)f(return)g(a)g(c)o(haracter)f(string)g(lik)o(e)g
-Fs(rl_)195 1704 y(completer_word_break_chara)o(cters)d
+Fs(rl_)195 1745 y(completer_word_break_chara)o(cters)d
 Ft(to)j(b)q(e)h(used)g(to)f(p)q(erform)g(the)h(curren)o(t)f
-(completion.)195 1759 y(The)d(function)f(ma)o(y)f(c)o(ho)q(ose)i(to)f
+(completion.)195 1800 y(The)d(function)f(ma)o(y)f(c)o(ho)q(ose)i(to)f
 (set)g Fs(rl_completer_word_break_)o(charact)o(ers)d
-Ft(itself.)18 b(If)13 b(the)195 1814 y(function)i(returns)g
+Ft(itself.)18 b(If)13 b(the)195 1855 y(function)i(returns)g
 Fs(NULL)p Ft(,)f Fs(rl_completer_word_break_chara)o(cters)e
-Ft(is)j(used.)1685 1917 y([V)l(ariable])-1801 b Fg(const)20
-b(char)g(*)f Ff(rl)p 438 1917 V 25 w(completer)p 711
-1917 V 25 w(quote)p 875 1917 V 25 w(c)n(haracters)195
-1971 y Ft(A)e(list)f(of)g(c)o(haracters)g(whic)o(h)h(can)g(b)q(e)g
+Ft(is)j(used.)1685 1944 y([V)l(ariable])-1801 b Fg(const)20
+b(char)g(*)f Ff(rl)p 438 1944 V 25 w(completer)p 711
+1944 V 25 w(quote)p 875 1944 V 25 w(c)n(haracters)195
+1999 y Ft(A)e(list)f(of)g(c)o(haracters)g(whic)o(h)h(can)g(b)q(e)g
 (used)h(to)e(quote)h(a)f(substring)g(of)h(the)g(line.)24
-b(Completion)195 2026 y(o)q(ccurs)13 b(on)h(the)f(en)o(tire)f
+b(Completion)195 2054 y(o)q(ccurs)13 b(on)h(the)f(en)o(tire)f
 (substring,)h(and)g(within)g(the)g(substring)f Fs
-(rl_completer_word_break_)195 2081 y(characters)k Ft(are)h(treated)g
+(rl_completer_word_break_)195 2108 y(characters)k Ft(are)h(treated)g
 (as)h(an)o(y)f(other)g(c)o(haracter,)g(unless)h(they)f(also)g(app)q
-(ear)h(within)f(this)195 2136 y(list.)1685 2238 y([V)l(ariable])-1801
-b Fg(const)20 b(char)g(*)f Ff(rl)p 438 2238 V 25 w(\014lename)p
-671 2238 V 24 w(quote)p 834 2238 V 26 w(c)n(haracters)195
-2293 y Ft(A)e(list)f(of)g(c)o(haracters)g(that)g(cause)h(a)g
+(ear)h(within)f(this)195 2163 y(list.)1685 2252 y([V)l(ariable])-1801
+b Fg(const)20 b(char)g(*)f Ff(rl)p 438 2252 V 25 w(\014lename)p
+671 2252 V 24 w(quote)p 834 2252 V 26 w(c)n(haracters)195
+2307 y Ft(A)e(list)f(of)g(c)o(haracters)g(that)g(cause)h(a)g
 (\014lename)g(to)f(b)q(e)i(quoted)e(b)o(y)h(the)g(completer)g(when)g
-(they)195 2348 y(app)q(ear)e(in)g(a)g(completed)g(\014lename.)20
+(they)195 2362 y(app)q(ear)e(in)g(a)g(completed)g(\014lename.)20
 b(The)c(default)f(is)f(the)i(n)o(ull)e(string.)1685 2451
 y([V)l(ariable])-1801 b Fg(const)20 b(char)g(*)f Ff(rl)p
 438 2451 V 25 w(sp)r(ecial)p 631 2451 V 24 w(pre\014xes)195
index 1f821c4476664ccaf731ff9e77f7d934d0838851..4a3c6290ad9748919c969bbe38ff72f3f444362a 100644 (file)
@@ -1,4 +1,4 @@
-This is TeX, Version 3.14159 (Web2C 7.4.5) (format=tex 2005.3.22)  17 NOV 2005 10:43
+This is TeX, Version 3.14159 (Web2C 7.4.5) (format=tex 2005.3.22)  9 FEB 2006 09:50
 **/usr/homes/chet/src/bash/src/lib/readline/doc/rlman.texi
 (/usr/homes/chet/src/bash/src/lib/readline/doc/rlman.texi (./texinfo.tex
 Loading texinfo [version 2003-02-03.16]: Basics,
@@ -155,7 +155,7 @@ and turning on texinfo input format.) (./rlman.aux)
 \openout9 = `rlman.bt'.
 
 ] [2] [3] [4] [5]
-Underfull \hbox (badness 5231) in paragraph at lines 500--516
+Underfull \hbox (badness 5231) in paragraph at lines 502--518
  @texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
 m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 
@@ -168,7 +168,7 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 .etc.
 
 [6] [7] [8] [9] [10]
-Overfull \hbox (26.43913pt too wide) in paragraph at lines 813--813
+Overfull \hbox (26.43913pt too wide) in paragraph at lines 815--815
  []@texttt Meta-Control-h: backward-kill-word Text after the function name is i
 gnored[] |
 
@@ -183,7 +183,7 @@ gnored[] |
 [11] [12] [13] [14] [15] [16] [17] [18]) (./rltech.texi Chapter 2 [19] [20]
 [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35]
 [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46]
-Underfull \hbox (badness 7379) in paragraph at lines 1818--1823
+Underfull \hbox (badness 7379) in paragraph at lines 1823--1828
  []@textrm If an application-specific com-ple-tion func-tion as-signed to @text
 tt rl_attempted_
 
@@ -201,10 +201,10 @@ tt rl_attempted_
 Here is how much of TeX's memory you used:
  1499 strings out of 98002
  18486 string characters out of 1221987
- 59444 words of memory out of 1000001
+ 59430 words of memory out of 1000001
  2361 multiletter control sequences out of 10000+50000
  31953 words of font info for 111 fonts, out of 500000 for 1000
  19 hyphenation exceptions out of 1000
  15i,8n,17p,281b,695s stack positions out of 1500i,500n,5000p,200000b,5000s
 
-Output written on rlman.dvi (74 pages, 277700 bytes).
+Output written on rlman.dvi (74 pages, 278124 bytes).
index 478b41fac3c7d73aa4d15c658a7b9404680ae792..2a180b9ad17f90309ecf72d38eb57728863d74d8 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.
index ed84348d7aa7eb082881153fef9611ab9a68dc63..15fb3ba4c5912000d9bfc9fdf25d22e74b425a5a 100644 (file)
Binary files a/lib/readline/doc/rluserman.dvi and b/lib/readline/doc/rluserman.dvi differ
index 973c8ffa515f64636c31bdb1d5692ab2d7c100ef..004a5f79d04fc8f7db8878c454f6d07f409ddb9f 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on November, 17  2005 by texi2html 1.64 -->
+<!-- Created on February, 9  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
@@ -2626,7 +2628,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>November, 17  2005</I>
+This document was generated by <I>Chet Ramey</I> on <I>February, 9  2006</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 <P></P>  
@@ -2788,7 +2790,7 @@ the following structure:
 <BR>  
 <FONT SIZE="-1">
 This document was generated
-by <I>Chet Ramey</I> on <I>November, 17  2005</I>
+by <I>Chet Ramey</I> on <I>February, 9  2006</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 
index 5fe947541fd036a11b9571ff8810ca15c8e5334d..7d4ccac7a0b890fe1baf06cedb00770f02820aad 100644 (file)
@@ -2,9 +2,9 @@ This is rluserman.info, produced by makeinfo version 4.7 from
 ./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, 9 February 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.
 
@@ -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.
@@ -1717,30 +1718,30 @@ permit their use in free software.
 
 \1f
 Tag Table:
-Node: Top\7f1346
-Node: Command Line Editing\7f1778
-Node: Introduction and Notation\7f2421
-Node: Readline Interaction\7f4045
-Node: Readline Bare Essentials\7f5238
-Node: Readline Movement Commands\7f7029
-Node: Readline Killing Commands\7f7996
-Node: Readline Arguments\7f9918
-Node: Searching\7f10964
-Node: Readline Init File\7f13117
-Node: Readline Init File Syntax\7f14184
-Node: Conditional Init Constructs\7f26120
-Node: Sample Init File\7f28655
-Node: Bindable Readline Commands\7f31774
-Node: Commands For Moving\7f32833
-Node: Commands For History\7f33696
-Node: Commands For Text\7f36822
-Node: Commands For Killing\7f39550
-Node: Numeric Arguments\7f41694
-Node: Commands For Completion\7f42835
-Node: Keyboard Macros\7f44381
-Node: Miscellaneous Commands\7f44954
-Node: Readline vi Mode\7f48317
-Node: Copying This Manual\7f49238
-Node: GNU Free Documentation License\7f49470
+Node: Top\7f1339
+Node: Command Line Editing\7f1771
+Node: Introduction and Notation\7f2414
+Node: Readline Interaction\7f4038
+Node: Readline Bare Essentials\7f5231
+Node: Readline Movement Commands\7f7022
+Node: Readline Killing Commands\7f7989
+Node: Readline Arguments\7f9911
+Node: Searching\7f10957
+Node: Readline Init File\7f13110
+Node: Readline Init File Syntax\7f14265
+Node: Conditional Init Constructs\7f26201
+Node: Sample Init File\7f28736
+Node: Bindable Readline Commands\7f31855
+Node: Commands For Moving\7f32914
+Node: Commands For History\7f33777
+Node: Commands For Text\7f36903
+Node: Commands For Killing\7f39631
+Node: Numeric Arguments\7f41775
+Node: Commands For Completion\7f42916
+Node: Keyboard Macros\7f44462
+Node: Miscellaneous Commands\7f45035
+Node: Readline vi Mode\7f48398
+Node: Copying This Manual\7f49319
+Node: GNU Free Documentation License\7f49551
 \1f
 End Tag Table
index 38cbe92d723db219f92f6602c28830577276b91a..38ef62f9141346e9c8d629ec422056c3b461d1a8 100644 (file)
@@ -1,4 +1,4 @@
-This is TeX, Version 3.14159 (Web2C 7.4.5) (format=tex 2005.3.22)  17 NOV 2005 10:43
+This is TeX, Version 3.14159 (Web2C 7.4.5) (format=tex 2005.3.22)  9 FEB 2006 09:50
 **/usr/homes/chet/src/bash/src/lib/readline/doc/rluserman.texi
 (/usr/homes/chet/src/bash/src/lib/readline/doc/rluserman.texi (./texinfo.tex
 Loading texinfo [version 2003-02-03.16]: Basics,
@@ -156,7 +156,7 @@ and turning on texinfo input format.) (./rluserman.aux)
 
 ] [2] [3]
 [4] [5]
-Underfull \hbox (badness 5231) in paragraph at lines 500--516
+Underfull \hbox (badness 5231) in paragraph at lines 502--518
  @texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
 m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 
@@ -169,7 +169,7 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 .etc.
 
 [6] [7] [8] [9] [10]
-Overfull \hbox (26.43913pt too wide) in paragraph at lines 813--813
+Overfull \hbox (26.43913pt too wide) in paragraph at lines 815--815
  []@texttt Meta-Control-h: backward-kill-word Text after the function name is i
 gnored[] |
 
@@ -186,10 +186,10 @@ gnored[] |
 Here is how much of TeX's memory you used:
  1405 strings out of 98002
  16392 string characters out of 1221987
- 44928 words of memory out of 1000001
+ 44914 words of memory out of 1000001
  2276 multiletter control sequences out of 10000+50000
  31953 words of font info for 111 fonts, out of 500000 for 1000
  19 hyphenation exceptions out of 1000
  13i,8n,10p,285b,695s stack positions out of 1500i,500n,5000p,200000b,5000s
 
-Output written on rluserman.dvi (32 pages, 92872 bytes).
+Output written on rluserman.dvi (32 pages, 92940 bytes).
index f10c7e2960df2eca0da5206dae97a4478bbb688c..d278c34107b56b89319eed249dcf86c7c498e0aa 100644 (file)
@@ -10,7 +10,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 300 -o rluserman.ps rluserman.dvi
 %DVIPSParameters: dpi=300, compressed
-%DVIPSSource:  TeX output 2005.11.17:1043
+%DVIPSSource:  TeX output 2006.02.09:0950
 %%BeginProcSet: texc.pro
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -3040,28 +3040,26 @@ TeXDict begin
 %%EndSetup
 %%Page: 1 1
 TeXDict begin 1 0 bop 75 659 a Fp(GNU)33 b(Readline)f(Library)f(User)i
-(In)m(terface)p 75 709 1800 17 v 686 757 a Fo(Edition)15
-b(5.1-b)q(eta1,)e(for)i Fn(Readline)f(Library)g Fo(V)l(ersion)h(5.1-b)q
-(eta1.)1569 811 y(No)o(v)o(em)o(b)q(er)g(2005)75 2467
-y Fm(Chet)22 b(Ramey)-6 b(,)23 b(Case)e(W)-6 b(estern)23
-b(Reserv)n(e)f(Univ)n(ersit)n(y)75 2534 y(Brian)g(F)-6
-b(o)n(x,)23 b(F)-6 b(ree)23 b(Soft)n(w)n(are)f(F)-6 b(oundation)p
-75 2570 1800 9 v eop end
+(In)m(terface)p 75 709 1800 17 v 936 757 a Fo(Edition)15
+b(5.2,)e(for)i Fn(Readline)f(Library)g Fo(V)l(ersion)h(5.2.)1590
+811 y(F)l(ebruary)g(2006)75 2467 y Fm(Chet)22 b(Ramey)-6
+b(,)23 b(Case)e(W)-6 b(estern)23 b(Reserv)n(e)f(Univ)n(ersit)n(y)75
+2534 y(Brian)g(F)-6 b(o)n(x,)23 b(F)-6 b(ree)23 b(Soft)n(w)n(are)f(F)-6
+b(oundation)p 75 2570 1800 9 v eop end
 %%Page: 2 2
 TeXDict begin 2 1 bop 75 1512 a Fo(This)19 b(man)o(ual)f(describ)q(es)i
-(the)f(end)h(user)f(in)o(terface)g(of)f(the)i(GNU)f(Readline)g(Library)
-g(\(v)o(ersion)f(5.1-)75 1567 y(b)q(eta1,)e(11)g(No)o(v)o(em)o(b)q(er)g
-(2005\),)f(a)h(library)g(whic)o(h)g(aids)g(in)g(the)h(consistency)f(of)
-g(user)h(in)o(terface)f(across)75 1621 y(discrete)f(programs)f(whic)o
-(h)h(pro)o(vide)g(a)g(command)g(line)g(in)o(terface.)75
-1689 y(Cop)o(yrigh)o(t)301 1688 y(c)289 1689 y Fl(\015)g
-Fo(1988-2005)e(F)l(ree)i(Soft)o(w)o(are)f(F)l(oundation,)g(Inc.)75
-1756 y(P)o(ermission)h(is)g(gran)o(ted)h(to)f(mak)o(e)h(and)g
-(distribute)g(v)o(erbatim)e(copies)i(of)g(this)g(man)o(ual)f(pro)o
-(vided)h(the)75 1811 y(cop)o(yrigh)o(t)e(notice)h(and)g(this)g(p)q
-(ermission)f(notice)h(are)g(preserv)o(ed)h(on)f(all)f(copies.)195
-1878 y(P)o(ermission)i(is)h(gran)o(ted)g(to)g(cop)o(y)l(,)h(distribute)
-f(and/or)g(mo)q(dify)g(this)g(do)q(cumen)o(t)h(under)195
+(the)g(end)g(user)f(in)o(terface)g(of)g(the)g(GNU)g(Readline)h(Library)
+f(\(v)o(ersion)f(5.2,)75 1567 y(9)f(F)l(ebruary)h(2006\),)e(a)h
+(library)f(whic)o(h)i(aids)f(in)g(the)g(consistency)h(of)f(user)h(in)o
+(terface)e(across)h(discrete)75 1621 y(programs)d(whic)o(h)h(pro)o
+(vide)g(a)g(command)g(line)g(in)o(terface.)75 1689 y(Cop)o(yrigh)o(t)
+301 1688 y(c)289 1689 y Fl(\015)g Fo(1988-2005)e(F)l(ree)i(Soft)o(w)o
+(are)f(F)l(oundation,)g(Inc.)75 1756 y(P)o(ermission)h(is)g(gran)o(ted)
+h(to)f(mak)o(e)h(and)g(distribute)g(v)o(erbatim)e(copies)i(of)g(this)g
+(man)o(ual)f(pro)o(vided)h(the)75 1811 y(cop)o(yrigh)o(t)e(notice)h
+(and)g(this)g(p)q(ermission)f(notice)h(are)g(preserv)o(ed)h(on)f(all)f
+(copies.)195 1878 y(P)o(ermission)i(is)h(gran)o(ted)g(to)g(cop)o(y)l(,)
+h(distribute)f(and/or)g(mo)q(dify)g(this)g(do)q(cumen)o(t)h(under)195
 1933 y(the)h(terms)f(of)h(the)g(GNU)g(F)l(ree)g(Do)q(cumen)o(tation)f
 (License,)i(V)l(ersion)f(1.1)f(or)g(an)o(y)h(later)195
 1988 y(v)o(ersion)13 b(published)h(b)o(y)g(the)g(F)l(ree)f(Soft)o(w)o
@@ -3428,192 +3426,194 @@ b Fg(C-g)21 b Fo(will)f(ab)q(ort)h(an)g(incremen)o(tal)f(searc)o(h)h
 (and)g(restore)g(the)75 259 y(original)13 b(line.)19
 b(When)c(the)f(searc)o(h)g(is)g(terminated,)g(the)g(history)g(en)o(try)
 g(con)o(taining)f(the)i(searc)o(h)f(string)75 314 y(b)q(ecomes)i(the)f
-(curren)o(t)g(line.)137 384 y(T)l(o)g(\014nd)i(other)e(matc)o(hing)f
+(curren)o(t)g(line.)137 385 y(T)l(o)g(\014nd)i(other)e(matc)o(hing)f
 (en)o(tries)h(in)h(the)f(history)g(list,)f(t)o(yp)q(e)h
 Fg(C-r)g Fo(or)g Fg(C-s)g Fo(as)h(appropriate.)j(This)75
-439 y(will)12 b(searc)o(h)h(bac)o(kw)o(ard)f(or)g(forw)o(ard)g(in)h
+440 y(will)12 b(searc)o(h)h(bac)o(kw)o(ard)f(or)g(forw)o(ard)g(in)h
 (the)g(history)f(for)h(the)g(next)g(en)o(try)g(matc)o(hing)f(the)h
-(searc)o(h)g(string)75 494 y(t)o(yp)q(ed)19 b(so)g(far.)30
+(searc)o(h)g(string)75 495 y(t)o(yp)q(ed)19 b(so)g(far.)30
 b(An)o(y)19 b(other)f(k)o(ey)h(sequence)h(b)q(ound)g(to)e(a)h(Readline)
-g(command)f(will)g(terminate)g(the)75 549 y(searc)o(h)10
+g(command)f(will)g(terminate)g(the)75 550 y(searc)o(h)10
 b(and)h(execute)g(that)f(command.)18 b(F)l(or)10 b(instance,)h(a)1063
-547 y Ff(h)p 1076 521 76 2 v 1076 549 a Fe(RET)p 1076
-556 V 1149 547 a Ff(i)1174 549 y Fo(will)e(terminate)h(the)h(searc)o(h)
-f(and)h(accept)75 604 y(the)k(line,)f(thereb)o(y)h(executing)f(the)h
+548 y Ff(h)p 1076 522 76 2 v 1076 550 a Fe(RET)p 1076
+557 V 1149 548 a Ff(i)1174 550 y Fo(will)e(terminate)h(the)h(searc)o(h)
+f(and)h(accept)75 605 y(the)k(line,)f(thereb)o(y)h(executing)f(the)h
 (command)g(from)f(the)g(history)g(list.)k(A)d(mo)o(v)o(emen)o(t)f
-(command)g(will)75 658 y(terminate)g(the)h(searc)o(h,)g(mak)o(e)g(the)g
+(command)g(will)75 659 y(terminate)g(the)h(searc)o(h,)g(mak)o(e)g(the)g
 (last)f(line)h(found)h(the)f(curren)o(t)g(line,)f(and)i(b)q(egin)f
-(editing.)137 729 y(Readline)j(remem)o(b)q(ers)f(the)h(last)e(incremen)
+(editing.)137 731 y(Readline)j(remem)o(b)q(ers)f(the)h(last)e(incremen)
 o(tal)h(searc)o(h)g(string.)26 b(If)17 b(t)o(w)o(o)f
-Fg(C-r)p Fo(s)h(are)g(t)o(yp)q(ed)h(without)75 784 y(an)o(y)g(in)o
+Fg(C-r)p Fo(s)h(are)g(t)o(yp)q(ed)h(without)75 786 y(an)o(y)g(in)o
 (terv)o(ening)f(c)o(haracters)h(de\014ning)g(a)g(new)h(searc)o(h)f
 (string,)f(an)o(y)h(remem)o(b)q(ered)h(searc)o(h)f(string)f(is)75
-839 y(used.)137 909 y(Non-incremen)o(tal)23 b(searc)o(hes)g(read)h(the)
+841 y(used.)137 912 y(Non-incremen)o(tal)23 b(searc)o(hes)g(read)h(the)
 f(en)o(tire)g(searc)o(h)g(string)f(b)q(efore)i(starting)e(to)g(searc)o
-(h)i(for)75 964 y(matc)o(hing)c(history)h(lines.)37 b(The)22
+(h)i(for)75 967 y(matc)o(hing)c(history)h(lines.)37 b(The)22
 b(searc)o(h)f(string)f(ma)o(y)h(b)q(e)h(t)o(yp)q(ed)f(b)o(y)h(the)f
-(user)h(or)e(b)q(e)i(part)f(of)g(the)75 1019 y(con)o(ten)o(ts)15
-b(of)f(the)i(curren)o(t)f(line.)75 1156 y Fm(1.3)33 b(Readline)21
-b(Init)i(File)137 1281 y Fo(Although)f(the)h(Readline)g(library)e
+(user)h(or)e(b)q(e)i(part)f(of)g(the)75 1022 y(con)o(ten)o(ts)15
+b(of)f(the)i(curren)o(t)f(line.)75 1161 y Fm(1.3)33 b(Readline)21
+b(Init)i(File)137 1288 y Fo(Although)f(the)h(Readline)g(library)e
 (comes)i(with)f(a)g(set)g(of)g(Emacs-lik)o(e)g(k)o(eybindings)g
-(installed)75 1336 y(b)o(y)f(default,)g(it)f(is)h(p)q(ossible)f(to)g
+(installed)75 1342 y(b)o(y)f(default,)g(it)f(is)h(p)q(ossible)f(to)g
 (use)i(a)e(di\013eren)o(t)g(set)h(of)f(k)o(eybindings.)37
-b(An)o(y)20 b(user)h(can)g(customize)75 1391 y(programs)15
+b(An)o(y)20 b(user)h(can)g(customize)75 1397 y(programs)15
 b(that)h(use)g(Readline)h(b)o(y)f(putting)f(commands)h(in)h(an)f
 Fd(inputrc)j Fo(\014le,)d(con)o(v)o(en)o(tionally)e(in)i(his)75
-1445 y(home)h(directory)l(.)23 b(The)17 b(name)g(of)f(this)g(\014le)g
+1452 y(home)h(directory)l(.)23 b(The)17 b(name)g(of)f(this)g(\014le)g
 (is)g(tak)o(en)h(from)e(the)i(v)m(alue)g(of)f(the)h(en)o(vironmen)o(t)f
-(v)m(ariable)75 1500 y Fn(INPUTRC)p Fo(.)j(If)c(that)g(v)m(ariable)f
-(is)h(unset,)g(the)g(default)g(is)g(`)p Fn(~/.inputrc)p
-Fo('.)137 1571 y(When)g(a)g(program)f(whic)o(h)g(uses)h(the)g(Readline)
-g(library)f(starts)f(up,)i(the)g(init)f(\014le)h(is)f(read,)h(and)g
-(the)75 1626 y(k)o(ey)g(bindings)g(are)g(set.)137 1696
-y(In)f(addition,)f(the)g Fn(C-x)i(C-r)e Fo(command)g(re-reads)h(this)f
-(init)f(\014le,)i(th)o(us)f(incorp)q(orating)f(an)o(y)h(c)o(hanges)75
-1751 y(that)h(y)o(ou)h(migh)o(t)f(ha)o(v)o(e)h(made)g(to)g(it.)75
-1870 y Fc(1.3.1)30 b(Readline)20 b(Init)g(File)h(Syn)n(tax)137
-1995 y Fo(There)c(are)g(only)f(a)h(few)f(basic)h(constructs)f(allo)o(w)
+(v)m(ariable)75 1507 y Fn(INPUTRC)p Fo(.)i(If)d(that)e(v)m(ariable)h
+(is)f(unset,)h(the)h(default)e(is)h(`)p Fn(~/.inputrc)p
+Fo('.)j(If)d(that)g(\014le)g(do)q(es)g(not)g(exist)f(or)75
+1562 y(cannot)i(b)q(e)h(read,)f(the)g(ultimate)f(default)h(is)f(`)p
+Fn(/etc/inputrc)p Fo('.)137 1633 y(When)h(a)g(program)f(whic)o(h)g
+(uses)h(the)g(Readline)g(library)f(starts)f(up,)i(the)g(init)f(\014le)h
+(is)f(read,)h(and)g(the)75 1688 y(k)o(ey)g(bindings)g(are)g(set.)137
+1760 y(In)f(addition,)f(the)g Fn(C-x)i(C-r)e Fo(command)g(re-reads)h
+(this)f(init)f(\014le,)i(th)o(us)f(incorp)q(orating)f(an)o(y)h(c)o
+(hanges)75 1814 y(that)h(y)o(ou)h(migh)o(t)f(ha)o(v)o(e)h(made)g(to)g
+(it.)75 1935 y Fc(1.3.1)30 b(Readline)20 b(Init)g(File)h(Syn)n(tax)137
+2061 y Fo(There)c(are)g(only)f(a)h(few)f(basic)h(constructs)f(allo)o(w)
 o(ed)g(in)g(the)h(Readline)g(init)f(\014le.)25 b(Blank)17
-b(lines)f(are)75 2050 y(ignored.)35 b(Lines)21 b(b)q(eginning)g(with)e
+b(lines)f(are)75 2116 y(ignored.)35 b(Lines)21 b(b)q(eginning)g(with)e
 (a)i(`)p Fn(#)p Fo(')e(are)h(commen)o(ts.)35 b(Lines)21
 b(b)q(eginning)g(with)f(a)g(`)p Fn($)p Fo(')f(indicate)75
-2105 y(conditional)12 b(constructs)i(\(see)g(Section)f(1.3.2)g
+2171 y(conditional)12 b(constructs)i(\(see)g(Section)f(1.3.2)g
 ([Conditional)e(Init)j(Constructs],)f(page)h(9\).)k(Other)c(lines)75
-2159 y(denote)h(v)m(ariable)g(settings)f(and)i(k)o(ey)f(bindings.)75
-2244 y(V)l(ariable)f(Settings)315 2299 y(Y)l(ou)20 b(can)h(mo)q(dify)f
+2226 y(denote)h(v)m(ariable)g(settings)f(and)i(k)o(ey)f(bindings.)75
+2312 y(V)l(ariable)f(Settings)315 2367 y(Y)l(ou)20 b(can)h(mo)q(dify)f
 (the)g(run-time)g(b)q(eha)o(vior)g(of)f(Readline)i(b)o(y)f(altering)f
-(the)h(v)m(alues)g(of)315 2354 y(v)m(ariables)c(in)h(Readline)g(using)f
+(the)h(v)m(alues)g(of)315 2422 y(v)m(ariables)c(in)h(Readline)g(using)f
 (the)h Fn(set)g Fo(command)f(within)g(the)h(init)f(\014le.)25
-b(The)17 b(syn)o(tax)315 2408 y(is)e(simple:)435 2477
-y Fn(set)23 b Fg(variable)28 b(value)315 2546 y Fo(Here,)14
+b(The)17 b(syn)o(tax)315 2476 y(is)e(simple:)435 2546
+y Fn(set)23 b Fg(variable)28 b(value)315 2615 y Fo(Here,)14
 b(for)f(example,)g(is)g(ho)o(w)g(to)g(c)o(hange)h(from)f(the)h(default)
-f(Emacs-lik)o(e)g(k)o(ey)g(binding)h(to)315 2601 y(use)i
-Fn(vi)e Fo(line)h(editing)g(commands:)435 2670 y Fn(set)23
-b(editing-mode)g(vi)p eop end
+f(Emacs-lik)o(e)g(k)o(ey)g(binding)h(to)315 2670 y(use)i
+Fn(vi)e Fo(line)h(editing)g(commands:)p eop end
 %%Page: 5 9
 TeXDict begin 5 8 bop 75 -58 a Fo(Chapter)15 b(1:)k(Command)c(Line)h
-(Editing)1075 b(5)315 149 y(V)l(ariable)17 b(names)g(and)h(v)m(alues,)g
-(where)f(appropriate,)g(are)g(recognized)h(without)e(regard)315
-204 y(to)f(case.)k(Unrecognized)d(v)m(ariable)f(names)g(are)g(ignored.)
-315 268 y(Bo)q(olean)d(v)m(ariables)g(\(those)g(that)g(can)g(b)q(e)i
+(Editing)1075 b(5)435 149 y Fn(set)23 b(editing-mode)g(vi)315
+216 y Fo(V)l(ariable)17 b(names)g(and)h(v)m(alues,)g(where)f
+(appropriate,)g(are)g(recognized)h(without)e(regard)315
+271 y(to)f(case.)k(Unrecognized)d(v)m(ariable)f(names)g(are)g(ignored.)
+315 337 y(Bo)q(olean)d(v)m(ariables)g(\(those)g(that)g(can)g(b)q(e)i
 (set)e(to)g(on)g(or)g(o\013)t(\))f(are)h(set)h(to)f(on)g(if)g(the)h(v)m
-(alue)f(is)315 323 y(n)o(ull)g(or)f(empt)o(y)l(,)h Fd(on)h
+(alue)f(is)315 392 y(n)o(ull)g(or)f(empt)o(y)l(,)h Fd(on)h
 Fo(\(case-insensitiv)o(e\),)d(or)i(1.)19 b(An)o(y)12
 b(other)g(v)m(alue)g(results)f(in)h(the)h(v)m(ariable)315
-378 y(b)q(eing)i(set)g(to)g(o\013.)315 442 y(A)g(great)g(deal)f(of)h
+446 y(b)q(eing)i(set)g(to)g(o\013.)315 513 y(A)g(great)g(deal)f(of)h
 (run-time)g(b)q(eha)o(vior)g(is)g(c)o(hangeable)g(with)f(the)i(follo)o
-(wing)c(v)m(ariables.)315 515 y Fn(bell-style)555 570
+(wing)c(v)m(ariables.)315 591 y Fn(bell-style)555 645
 y Fo(Con)o(trols)20 b(what)i(happ)q(ens)h(when)f(Readline)g(w)o(an)o
-(ts)f(to)g(ring)h(the)g(termi-)555 624 y(nal)c(b)q(ell.)30
+(ts)f(to)g(ring)h(the)g(termi-)555 700 y(nal)c(b)q(ell.)30
 b(If)19 b(set)f(to)g(`)p Fn(none)p Fo(',)g(Readline)h(nev)o(er)g(rings)
-f(the)g(b)q(ell.)30 b(If)19 b(set)g(to)555 679 y(`)p
+f(the)g(b)q(ell.)30 b(If)19 b(set)g(to)555 755 y(`)p
 Fn(visible)p Fo(',)c(Readline)h(uses)h(a)f(visible)g(b)q(ell)h(if)f
 (one)g(is)g(a)o(v)m(ailable.)23 b(If)16 b(set)h(to)555
-734 y(`)p Fn(audible)p Fo(')g(\(the)h(default\),)h(Readline)g(attempts)
-f(to)g(ring)g(the)h(terminal's)555 789 y(b)q(ell.)315
-862 y Fn(bind-tty-special-chars)555 917 y Fo(If)k(set)f(to)g(`)p
+810 y(`)p Fn(audible)p Fo(')g(\(the)h(default\),)h(Readline)g(attempts)
+f(to)g(ring)g(the)h(terminal's)555 865 y(b)q(ell.)315
+943 y Fn(bind-tty-special-chars)555 997 y Fo(If)k(set)f(to)g(`)p
 Fn(on)p Fo(',)h(Readline)g(attempts)f(to)g(bind)h(the)f(con)o(trol)g(c)
-o(haracters)555 971 y(treated)17 b(sp)q(ecially)g(b)o(y)h(the)g(k)o
+o(haracters)555 1052 y(treated)17 b(sp)q(ecially)g(b)o(y)h(the)g(k)o
 (ernel's)f(terminal)f(driv)o(er)h(to)g(their)h(Readline)555
-1026 y(equiv)m(alen)o(ts.)315 1099 y Fn(comment-begin)555
-1154 y Fo(The)d(string)e(to)h(insert)h(at)e(the)i(b)q(eginning)g(of)f
-(the)h(line)f(when)h(the)g Fn(insert-)555 1209 y(comment)f
+1107 y(equiv)m(alen)o(ts.)315 1185 y Fn(comment-begin)555
+1240 y Fo(The)d(string)e(to)h(insert)h(at)e(the)i(b)q(eginning)g(of)f
+(the)h(line)f(when)h(the)g Fn(insert-)555 1294 y(comment)f
 Fo(command)h(is)g(executed.)21 b(The)15 b(default)g(v)m(alue)g(is)g
-Fn("#")p Fo(.)315 1282 y Fn(completion-ignore-case)555
-1337 y Fo(If)f(set)f(to)g(`)p Fn(on)p Fo(',)g(Readline)h(p)q(erforms)f
-(\014lename)h(matc)o(hing)f(and)h(completion)555 1391
+Fn("#")p Fo(.)315 1372 y Fn(completion-ignore-case)555
+1427 y Fo(If)f(set)f(to)g(`)p Fn(on)p Fo(',)g(Readline)h(p)q(erforms)f
+(\014lename)h(matc)o(hing)f(and)h(completion)555 1482
 y(in)h(a)g(case-insensitiv)o(e)f(fashion.)20 b(The)15
-b(default)g(v)m(alue)g(is)g(`)p Fn(off)p Fo('.)315 1465
-y Fn(completion-query-items)555 1519 y Fo(The)e(n)o(um)o(b)q(er)h(of)e
+b(default)g(v)m(alue)g(is)g(`)p Fn(off)p Fo('.)315 1560
+y Fn(completion-query-items)555 1614 y Fo(The)e(n)o(um)o(b)q(er)h(of)e
 (p)q(ossible)h(completions)g(that)f(determines)h(when)h(the)f(user)555
-1574 y(is)h(ask)o(ed)h(whether)g(the)f(list)g(of)g(p)q(ossibilities)f
-(should)i(b)q(e)g(displa)o(y)o(ed.)k(If)c(the)555 1629
+1669 y(is)h(ask)o(ed)h(whether)g(the)f(list)g(of)g(p)q(ossibilities)f
+(should)i(b)q(e)g(displa)o(y)o(ed.)k(If)c(the)555 1724
 y(n)o(um)o(b)q(er)f(of)f(p)q(ossible)g(completions)f(is)h(greater)g
-(than)g(this)g(v)m(alue,)h(Readline)555 1684 y(will)e(ask)h(the)g(user)
+(than)g(this)g(v)m(alue,)h(Readline)555 1779 y(will)e(ask)h(the)g(user)
 h(whether)f(or)g(not)g(he)g(wishes)g(to)g(view)g(them;)g(otherwise,)555
-1738 y(they)f(are)g(simply)g(listed.)18 b(This)12 b(v)m(ariable)f(m)o
+1834 y(they)f(are)g(simply)g(listed.)18 b(This)12 b(v)m(ariable)f(m)o
 (ust)h(b)q(e)h(set)f(to)f(an)h(in)o(teger)g(v)m(alue)555
-1793 y(greater)g(than)g(or)g(equal)g(to)g(0.)18 b(A)13
+1888 y(greater)g(than)g(or)g(equal)g(to)g(0.)18 b(A)13
 b(negativ)o(e)e(v)m(alue)i(means)f(Readline)h(should)555
-1848 y(nev)o(er)i(ask.)20 b(The)15 b(default)g(limit)f(is)g
-Fn(100)p Fo(.)315 1921 y Fn(convert-meta)555 1976 y Fo(If)d(set)g(to)g
+1943 y(nev)o(er)i(ask.)20 b(The)15 b(default)g(limit)f(is)g
+Fn(100)p Fo(.)315 2021 y Fn(convert-meta)555 2076 y Fo(If)d(set)g(to)g
 (`)p Fn(on)p Fo(',)f(Readline)h(will)f(con)o(v)o(ert)g(c)o(haracters)h
-(with)f(the)h(eigh)o(th)g(bit)f(set)555 2031 y(to)g(an)h
+(with)f(the)h(eigh)o(th)g(bit)f(set)555 2131 y(to)g(an)h
 Fh(asci)q(i)e Fo(k)o(ey)i(sequence)g(b)o(y)g(stripping)f(the)g(eigh)o
-(th)g(bit)h(and)f(pre\014xing)h(an)555 2084 y Ff(h)p
-567 2057 70 2 v 567 2086 a Fe(ESC)p 567 2093 V 634 2084
-a Ff(i)666 2086 y Fo(c)o(haracter,)16 b(con)o(v)o(erting)g(them)h(to)f
-(a)h(meta-pre\014xed)g(k)o(ey)g(sequence.)555 2140 y(The)e(default)g(v)
-m(alue)h(is)e(`)p Fn(on)p Fo('.)315 2213 y Fn(disable-completion)555
-2268 y Fo(If)19 b(set)f(to)f(`)p Fn(On)p Fo(',)h(Readline)h(will)e
+(th)g(bit)h(and)f(pre\014xing)h(an)555 2183 y Ff(h)p
+567 2157 70 2 v 567 2185 a Fe(ESC)p 567 2193 V 634 2183
+a Ff(i)666 2185 y Fo(c)o(haracter,)16 b(con)o(v)o(erting)g(them)h(to)f
+(a)h(meta-pre\014xed)g(k)o(ey)g(sequence.)555 2240 y(The)e(default)g(v)
+m(alue)h(is)e(`)p Fn(on)p Fo('.)315 2318 y Fn(disable-completion)555
+2373 y Fo(If)19 b(set)f(to)f(`)p Fn(On)p Fo(',)h(Readline)h(will)e
 (inhibit)g(w)o(ord)h(completion.)28 b(Completion)555
-2323 y(c)o(haracters)12 b(will)g(b)q(e)i(inserted)f(in)o(to)f(the)h
+2428 y(c)o(haracters)12 b(will)g(b)q(e)i(inserted)f(in)o(to)f(the)h
 (line)f(as)h(if)g(they)g(had)g(b)q(een)h(mapp)q(ed)555
-2378 y(to)h Fn(self-insert)p Fo(.)j(The)d(default)g(is)g(`)p
-Fn(off)p Fo('.)315 2451 y Fn(editing-mode)555 2506 y
+2483 y(to)h Fn(self-insert)p Fo(.)j(The)d(default)g(is)g(`)p
+Fn(off)p Fo('.)315 2560 y Fn(editing-mode)555 2615 y
 Fo(The)g Fn(editing-mode)d Fo(v)m(ariable)i(con)o(trols)f(whic)o(h)h
-(default)g(set)g(of)g(k)o(ey)g(bind-)555 2560 y(ings)e(is)g(used.)20
+(default)g(set)g(of)g(k)o(ey)g(bind-)555 2670 y(ings)e(is)g(used.)20
 b(By)12 b(default,)h(Readline)f(starts)g(up)h(in)f(Emacs)g(editing)g
-(mo)q(de,)555 2615 y(where)j(the)f(k)o(eystrok)o(es)g(are)g(most)g
-(similar)f(to)g(Emacs.)20 b(This)14 b(v)m(ariable)g(can)555
-2670 y(b)q(e)i(set)f(to)f(either)h(`)p Fn(emacs)p Fo(')f(or)h(`)p
-Fn(vi)p Fo('.)p eop end
+(mo)q(de,)p eop end
 %%Page: 6 10
 TeXDict begin 6 9 bop 75 -58 a Fo(6)1322 b(GNU)15 b(Readline)g(Library)
-315 149 y Fn(enable-keypad)555 204 y Fo(When)d(set)f(to)h(`)p
+555 149 y(where)g(the)f(k)o(eystrok)o(es)g(are)g(most)g(similar)f(to)g
+(Emacs.)20 b(This)14 b(v)m(ariable)g(can)555 204 y(b)q(e)i(set)f(to)f
+(either)h(`)p Fn(emacs)p Fo(')f(or)h(`)p Fn(vi)p Fo('.)315
+283 y Fn(enable-keypad)555 338 y Fo(When)d(set)f(to)h(`)p
 Fn(on)p Fo(',)e(Readline)i(will)f(try)g(to)g(enable)h(the)g
-(application)e(k)o(eypad)555 259 y(when)k(it)e(is)h(called.)19
+(application)e(k)o(eypad)555 393 y(when)k(it)e(is)h(called.)19
 b(Some)13 b(systems)g(need)h(this)f(to)g(enable)g(the)h(arro)o(w)e(k)o
-(eys.)555 314 y(The)j(default)g(is)g(`)p Fn(off)p Fo('.)315
-410 y Fn(expand-tilde)555 465 y Fo(If)f(set)g(to)f(`)p
+(eys.)555 448 y(The)j(default)g(is)g(`)p Fn(off)p Fo('.)315
+527 y Fn(expand-tilde)555 582 y Fo(If)f(set)g(to)f(`)p
 Fn(on)p Fo(',)f(tilde)i(expansion)f(is)h(p)q(erformed)g(when)g
-(Readline)g(attempts)555 519 y(w)o(ord)h(completion.)k(The)c(default)g
-(is)f(`)p Fn(off)p Fo('.)315 615 y Fn(history-preserve-point)555
-670 y Fo(If)h(set)g(to)f(`)p Fn(on)p Fo(',)g(the)g(history)g(co)q(de)i
+(Readline)g(attempts)555 637 y(w)o(ord)h(completion.)k(The)c(default)g
+(is)f(`)p Fn(off)p Fo('.)315 716 y Fn(history-preserve-point)555
+770 y Fo(If)h(set)g(to)f(`)p Fn(on)p Fo(',)g(the)g(history)g(co)q(de)i
 (attempts)e(to)g(place)h(p)q(oin)o(t)f(at)g(the)h(same)555
-725 y(lo)q(cation)g(on)i(eac)o(h)g(history)f(line)g(retriev)o(ed)g
-(with)g Fn(previous-history)e Fo(or)555 780 y Fn(next-history)p
-Fo(.)k(The)e(default)e(is)h(`)p Fn(off)p Fo('.)315 875
-y Fn(horizontal-scroll-mode)555 930 y Fo(This)j(v)m(ariable)f(can)h(b)q
-(e)g(set)g(to)f(either)h(`)p Fn(on)p Fo(')f(or)g(`)p
+825 y(lo)q(cation)g(on)i(eac)o(h)g(history)f(line)g(retriev)o(ed)g
+(with)g Fn(previous-history)e Fo(or)555 880 y Fn(next-history)p
+Fo(.)k(The)e(default)e(is)h(`)p Fn(off)p Fo('.)315 959
+y Fn(horizontal-scroll-mode)555 1014 y Fo(This)j(v)m(ariable)f(can)h(b)
+q(e)g(set)g(to)f(either)h(`)p Fn(on)p Fo(')f(or)g(`)p
 Fn(off)p Fo('.)27 b(Setting)18 b(it)f(to)g(`)p Fn(on)p
-Fo(')555 985 y(means)c(that)f(the)i(text)e(of)h(the)g(lines)g(b)q(eing)
-g(edited)g(will)f(scroll)g(horizon)o(tally)555 1040 y(on)k(a)f(single)g
-(screen)i(line)e(when)i(they)f(are)f(longer)g(than)h(the)g(width)f(of)h
-(the)555 1095 y(screen,)e(instead)e(of)h(wrapping)f(on)o(to)g(a)h(new)g
-(screen)h(line.)19 b(By)13 b(default,)g(this)555 1149
-y(v)m(ariable)i(is)f(set)h(to)g(`)p Fn(off)p Fo('.)315
-1245 y Fn(input-meta)555 1300 y Fo(If)h(set)f(to)g(`)p
-Fn(on)p Fo(',)f(Readline)i(will)f(enable)g(eigh)o(t-bit)g(input)g(\(it)
-g(will)f(not)h(clear)555 1355 y(the)20 b(eigh)o(th)f(bit)g(in)h(the)g
-(c)o(haracters)f(it)g(reads\),)h(regardless)f(of)h(what)f(the)555
-1410 y(terminal)g(claims)g(it)g(can)h(supp)q(ort.)34
+Fo(')555 1069 y(means)c(that)f(the)i(text)e(of)h(the)g(lines)g(b)q
+(eing)g(edited)g(will)f(scroll)g(horizon)o(tally)555
+1124 y(on)k(a)f(single)g(screen)i(line)e(when)i(they)f(are)f(longer)g
+(than)h(the)g(width)f(of)h(the)555 1178 y(screen,)e(instead)e(of)h
+(wrapping)f(on)o(to)g(a)h(new)g(screen)h(line.)19 b(By)13
+b(default,)g(this)555 1233 y(v)m(ariable)i(is)f(set)h(to)g(`)p
+Fn(off)p Fo('.)315 1312 y Fn(input-meta)555 1367 y Fo(If)h(set)f(to)g
+(`)p Fn(on)p Fo(',)f(Readline)i(will)f(enable)g(eigh)o(t-bit)g(input)g
+(\(it)g(will)f(not)h(clear)555 1422 y(the)20 b(eigh)o(th)f(bit)g(in)h
+(the)g(c)o(haracters)f(it)g(reads\),)h(regardless)f(of)h(what)f(the)555
+1477 y(terminal)g(claims)g(it)g(can)h(supp)q(ort.)34
 b(The)20 b(default)g(v)m(alue)g(is)g(`)p Fn(off)p Fo('.)33
-b(The)555 1465 y(name)15 b Fn(meta-flag)f Fo(is)h(a)g(synon)o(ym)g(for)
-f(this)h(v)m(ariable.)315 1560 y Fn(isearch-terminators)555
-1615 y Fo(The)26 b(string)f(of)g(c)o(haracters)g(that)g(should)h
-(terminate)f(an)h(incremen)o(tal)555 1670 y(searc)o(h)12
+b(The)555 1531 y(name)15 b Fn(meta-flag)f Fo(is)h(a)g(synon)o(ym)g(for)
+f(this)h(v)m(ariable.)315 1611 y Fn(isearch-terminators)555
+1665 y Fo(The)26 b(string)f(of)g(c)o(haracters)g(that)g(should)h
+(terminate)f(an)h(incremen)o(tal)555 1720 y(searc)o(h)12
 b(without)g(subsequen)o(tly)g(executing)h(the)f(c)o(haracter)g(as)g(a)g
-(command)555 1725 y(\(see)22 b(Section)g(1.2.5)f([Searc)o(hing],)i
+(command)555 1775 y(\(see)22 b(Section)g(1.2.5)f([Searc)o(hing],)i
 (page)f(3\).)40 b(If)23 b(this)f(v)m(ariable)f(has)h(not)555
-1780 y(b)q(een)17 b(giv)o(en)e(a)h(v)m(alue,)f(the)h(c)o(haracters)1247
-1778 y Ff(h)p 1259 1752 70 2 v 1259 1780 a Fe(ESC)p 1259
-1787 V 1326 1778 a Ff(i)1357 1780 y Fo(and)g Fg(C-J)f
-Fo(will)f(terminate)h(an)555 1834 y(incremen)o(tal)f(searc)o(h.)315
-1930 y Fn(keymap)96 b Fo(Sets)19 b(Readline's)h(idea)f(of)g(the)g
+1830 y(b)q(een)17 b(giv)o(en)e(a)h(v)m(alue,)f(the)h(c)o(haracters)1247
+1828 y Ff(h)p 1259 1802 70 2 v 1259 1830 a Fe(ESC)p 1259
+1837 V 1326 1828 a Ff(i)1357 1830 y Fo(and)g Fg(C-J)f
+Fo(will)f(terminate)h(an)555 1885 y(incremen)o(tal)f(searc)o(h.)315
+1964 y Fn(keymap)96 b Fo(Sets)19 b(Readline's)h(idea)f(of)g(the)g
 (curren)o(t)h(k)o(eymap)f(for)f(k)o(ey)i(binding)f(com-)555
-1985 y(mands.)41 b(Acceptable)22 b Fn(keymap)g Fo(names)g(are)f
-Fn(emacs)p Fo(,)i Fn(emacs-standard)p Fo(,)555 2040 y
+2019 y(mands.)41 b(Acceptable)22 b Fn(keymap)g Fo(names)g(are)f
+Fn(emacs)p Fo(,)i Fn(emacs-standard)p Fo(,)555 2073 y
 Fn(emacs-meta)p Fo(,)49 b Fn(emacs-ctlx)p Fo(,)g Fn(vi)p
 Fo(,)h Fn(vi-move)p Fo(,)f Fn(vi-command)p Fo(,)g(and)555
-2095 y Fn(vi-insert)p Fo(.)31 b Fn(vi)20 b Fo(is)f(equiv)m(alen)o(t)g
+2128 y Fn(vi-insert)p Fo(.)31 b Fn(vi)20 b Fo(is)f(equiv)m(alen)o(t)g
 (to)g Fn(vi-command)p Fo(;)g Fn(emacs)g Fo(is)g(equiv)m(alen)o(t)555
-2149 y(to)c Fn(emacs-standard)p Fo(.)20 b(The)d(default)e(v)m(alue)h
+2183 y(to)c Fn(emacs-standard)p Fo(.)20 b(The)d(default)e(v)m(alue)h
 (is)g Fn(emacs)p Fo(.)21 b(The)16 b(v)m(alue)g(of)g(the)555
-2204 y Fn(editing-mode)e Fo(v)m(ariable)g(also)g(a\013ects)h(the)g
-(default)g(k)o(eymap.)315 2300 y Fn(mark-directories)555
-2355 y Fo(If)k(set)g(to)g(`)p Fn(on)p Fo(',)f(completed)h(directory)g
-(names)g(ha)o(v)o(e)f(a)h(slash)g(app)q(ended.)555 2410
+2238 y Fn(editing-mode)e Fo(v)m(ariable)g(also)g(a\013ects)h(the)g
+(default)g(k)o(eymap.)315 2317 y Fn(mark-directories)555
+2372 y Fo(If)k(set)g(to)g(`)p Fn(on)p Fo(',)f(completed)h(directory)g
+(names)g(ha)o(v)o(e)f(a)h(slash)g(app)q(ended.)555 2426
 y(The)c(default)g(is)g(`)p Fn(on)p Fo('.)315 2506 y Fn
 (mark-modified-lines)555 2560 y Fo(This)j(v)m(ariable,)f(when)i(set)e
 (to)h(`)p Fn(on)p Fo(',)f(causes)h(Readline)g(to)f(displa)o(y)g(an)h
index 963e0246b502418b1ec30fc0fb50a9f760b54ad0..84bf46f4076d83585fb326b66adb712c553fb2a7 100644 (file)
@@ -2,9 +2,9 @@
 Copyright (C) 1988-2006 Free Software Foundation, Inc. 
 @end ignore
 
-@set EDITION 5.1
-@set VERSION 5.1
-@set UPDATED 14 January 2006
-@set UPDATED-MONTH January 2006
+@set EDITION 5.2
+@set VERSION 5.2
+@set UPDATED 9 February 2006
+@set UPDATED-MONTH February 2006
 
-@set LASTCHANGE Sat Jan 14 21:10:59 EST 2006
+@set LASTCHANGE Thu Feb  9 09:46:31 EST 2006
diff --git a/lib/readline/readline.c~ b/lib/readline/readline.c~
new file mode 100644 (file)
index 0000000..1899a6a
--- /dev/null
@@ -0,0 +1,1194 @@
+/* readline.c -- a general facility for reading lines of input
+   with emacs style editing and completion. */
+
+/* Copyright (C) 1987-2005 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.
+
+   The GNU Readline Library is free software; you can redistribute it
+   and/or modify it under the terms of the GNU General Public License
+   as published by the Free Software Foundation; either version 2, or
+   (at your option) any later version.
+
+   The GNU Readline Library is distributed in the hope that it will be
+   useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+   of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   The GNU General Public License is often shipped with GNU software, and
+   is generally kept in a file called COPYING or LICENSE.  If you do not
+   have a copy of the license, write to the Free Software Foundation,
+   59 Temple Place, Suite 330, Boston, MA 02111 USA. */
+#define READLINE_LIBRARY
+
+#if defined (HAVE_CONFIG_H)
+#  include <config.h>
+#endif
+
+#include <sys/types.h>
+#include "posixstat.h"
+#include <fcntl.h>
+#if defined (HAVE_SYS_FILE_H)
+#  include <sys/file.h>
+#endif /* HAVE_SYS_FILE_H */
+
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+
+#if defined (HAVE_STDLIB_H)
+#  include <stdlib.h>
+#else
+#  include "ansi_stdlib.h"
+#endif /* HAVE_STDLIB_H */
+
+#if defined (HAVE_LOCALE_H)
+#  include <locale.h>
+#endif
+
+#include <stdio.h>
+#include "posixjmp.h"
+
+/* System-specific feature definitions and include files. */
+#include "rldefs.h"
+#include "rlmbutil.h"
+
+#if defined (__EMX__)
+#  define INCL_DOSPROCESS
+#  include <os2.h>
+#endif /* __EMX__ */
+
+/* Some standard library routines. */
+#include "readline.h"
+#include "history.h"
+
+#include "rlprivate.h"
+#include "rlshell.h"
+#include "xmalloc.h"
+
+#ifndef RL_LIBRARY_VERSION
+#  define RL_LIBRARY_VERSION "5.1"
+#endif
+
+#ifndef RL_READLINE_VERSION
+#  define RL_READLINE_VERSION  0x0501
+#endif
+
+extern void _rl_free_history_entry PARAMS((HIST_ENTRY *));
+
+/* Forward declarations used in this file. */
+static char *readline_internal PARAMS((void));
+static void readline_initialize_everything PARAMS((void));
+
+static void bind_arrow_keys_internal PARAMS((Keymap));
+static void bind_arrow_keys PARAMS((void));
+
+static void readline_default_bindings PARAMS((void));
+static void reset_default_bindings PARAMS((void));
+
+static int _rl_subseq_result PARAMS((int, Keymap, int, int));
+static int _rl_subseq_getchar PARAMS((int));
+
+/* **************************************************************** */
+/*                                                                 */
+/*                     Line editing input utility                  */
+/*                                                                 */
+/* **************************************************************** */
+
+const char *rl_library_version = RL_LIBRARY_VERSION;
+
+int rl_readline_version = RL_READLINE_VERSION;
+
+/* True if this is `real' readline as opposed to some stub substitute. */
+int rl_gnu_readline_p = 1;
+
+/* A pointer to the keymap that is currently in use.
+   By default, it is the standard emacs keymap. */
+Keymap _rl_keymap = emacs_standard_keymap;
+
+
+/* The current style of editing. */
+int rl_editing_mode = emacs_mode;
+
+/* The current insert mode:  input (the default) or overwrite */
+int rl_insert_mode = RL_IM_DEFAULT;
+
+/* Non-zero if we called this function from _rl_dispatch().  It's present
+   so functions can find out whether they were called from a key binding
+   or directly from an application. */
+int rl_dispatching;
+
+/* Non-zero if the previous command was a kill command. */
+int _rl_last_command_was_kill = 0;
+
+/* The current value of the numeric argument specified by the user. */
+int rl_numeric_arg = 1;
+
+/* Non-zero if an argument was typed. */
+int rl_explicit_arg = 0;
+
+/* Temporary value used while generating the argument. */
+int rl_arg_sign = 1;
+
+/* Non-zero means we have been called at least once before. */
+static int rl_initialized;
+
+#if 0
+/* If non-zero, this program is running in an EMACS buffer. */
+static int running_in_emacs;
+#endif
+
+/* Flags word encapsulating the current readline state. */
+int rl_readline_state = RL_STATE_NONE;
+
+/* The current offset in the current input line. */
+int rl_point;
+
+/* Mark in the current input line. */
+int rl_mark;
+
+/* Length of the current input line. */
+int rl_end;
+
+/* Make this non-zero to return the current input_line. */
+int rl_done;
+
+/* The last function executed by readline. */
+rl_command_func_t *rl_last_func = (rl_command_func_t *)NULL;
+
+/* Top level environment for readline_internal (). */
+procenv_t readline_top_level;
+
+/* The streams we interact with. */
+FILE *_rl_in_stream, *_rl_out_stream;
+
+/* The names of the streams that we do input and output to. */
+FILE *rl_instream = (FILE *)NULL;
+FILE *rl_outstream = (FILE *)NULL;
+
+/* Non-zero means echo characters as they are read.  Defaults to no echo;
+   set to 1 if there is a controlling terminal, we can get its attributes,
+   and the attributes include `echo'.  Look at rltty.c:prepare_terminal_settings
+   for the code that sets it. */
+int readline_echoing_p = 0;
+
+/* Current prompt. */
+char *rl_prompt = (char *)NULL;
+int rl_visible_prompt_length = 0;
+
+/* Set to non-zero by calling application if it has already printed rl_prompt
+   and does not want readline to do it the first time. */
+int rl_already_prompted = 0;
+
+/* The number of characters read in order to type this complete command. */
+int rl_key_sequence_length = 0;
+
+/* If non-zero, then this is the address of a function to call just
+   before readline_internal_setup () prints the first prompt. */
+rl_hook_func_t *rl_startup_hook = (rl_hook_func_t *)NULL;
+
+/* If non-zero, this is the address of a function to call just before
+   readline_internal_setup () returns and readline_internal starts
+   reading input characters. */
+rl_hook_func_t *rl_pre_input_hook = (rl_hook_func_t *)NULL;
+
+/* What we use internally.  You should always refer to RL_LINE_BUFFER. */
+static char *the_line;
+
+/* The character that can generate an EOF.  Really read from
+   the terminal driver... just defaulted here. */
+int _rl_eof_char = CTRL ('D');
+
+/* Non-zero makes this the next keystroke to read. */
+int rl_pending_input = 0;
+
+/* Pointer to a useful terminal name. */
+const char *rl_terminal_name = (const char *)NULL;
+
+/* Non-zero means to always use horizontal scrolling in line display. */
+int _rl_horizontal_scroll_mode = 0;
+
+/* Non-zero means to display an asterisk at the starts of history lines
+   which have been modified. */
+int _rl_mark_modified_lines = 0;  
+
+/* The style of `bell' notification preferred.  This can be set to NO_BELL,
+   AUDIBLE_BELL, or VISIBLE_BELL. */
+int _rl_bell_preference = AUDIBLE_BELL;
+     
+/* String inserted into the line by rl_insert_comment (). */
+char *_rl_comment_begin;
+
+/* Keymap holding the function currently being executed. */
+Keymap rl_executing_keymap;
+
+/* Keymap we're currently using to dispatch. */
+Keymap _rl_dispatching_keymap;
+
+/* Non-zero means to erase entire line, including prompt, on empty input lines. */
+int rl_erase_empty_line = 0;
+
+/* Non-zero means to read only this many characters rather than up to a
+   character bound to accept-line. */
+int rl_num_chars_to_read;
+
+/* Line buffer and maintenence. */
+char *rl_line_buffer = (char *)NULL;
+int rl_line_buffer_len = 0;
+
+/* Key sequence `contexts' */
+_rl_keyseq_cxt *_rl_kscxt = 0;
+
+/* Forward declarations used by the display, termcap, and history code. */
+
+/* **************************************************************** */
+/*                                                                 */
+/*                     `Forward' declarations                      */
+/*                                                                 */
+/* **************************************************************** */
+
+/* Non-zero means do not parse any lines other than comments and
+   parser directives. */
+unsigned char _rl_parsing_conditionalized_out = 0;
+
+/* Non-zero means to convert characters with the meta bit set to
+   escape-prefixed characters so we can indirect through
+   emacs_meta_keymap or vi_escape_keymap. */
+int _rl_convert_meta_chars_to_ascii = 1;
+
+/* Non-zero means to output characters with the meta bit set directly
+   rather than as a meta-prefixed escape sequence. */
+int _rl_output_meta_chars = 0;
+
+/* Non-zero means to look at the termios special characters and bind
+   them to equivalent readline functions at startup. */
+int _rl_bind_stty_chars = 1;
+
+/* **************************************************************** */
+/*                                                                 */
+/*                     Top Level Functions                         */
+/*                                                                 */
+/* **************************************************************** */
+
+/* Non-zero means treat 0200 bit in terminal input as Meta bit. */
+int _rl_meta_flag = 0; /* Forward declaration */
+
+/* Set up the prompt and expand it.  Called from readline() and
+   rl_callback_handler_install (). */
+int
+rl_set_prompt (prompt)
+     const char *prompt;
+{
+  FREE (rl_prompt);
+  rl_prompt = prompt ? savestring (prompt) : (char *)NULL;
+
+  rl_visible_prompt_length = rl_expand_prompt (rl_prompt);
+  return 0;
+}
+  
+/* Read a line of input.  Prompt with PROMPT.  An empty PROMPT means
+   none.  A return value of NULL means that EOF was encountered. */
+char *
+readline (prompt)
+     const char *prompt;
+{
+  char *value;
+
+  /* If we are at EOF return a NULL string. */
+  if (rl_pending_input == EOF)
+    {
+      rl_clear_pending_input ();
+      return ((char *)NULL);
+    }
+
+  rl_set_prompt (prompt);
+
+  rl_initialize ();
+  if (rl_prep_term_function)
+    (*rl_prep_term_function) (_rl_meta_flag);
+
+#if defined (HANDLE_SIGNALS)
+  rl_set_signals ();
+#endif
+
+  value = readline_internal ();
+  if (rl_deprep_term_function)
+    (*rl_deprep_term_function) ();
+
+#if defined (HANDLE_SIGNALS)
+  rl_clear_signals ();
+#endif
+
+  return (value);
+}
+
+#if defined (READLINE_CALLBACKS)
+#  define STATIC_CALLBACK
+#else
+#  define STATIC_CALLBACK static
+#endif
+
+STATIC_CALLBACK void
+readline_internal_setup ()
+{
+  char *nprompt;
+
+  _rl_in_stream = rl_instream;
+  _rl_out_stream = rl_outstream;
+
+  if (rl_startup_hook)
+    (*rl_startup_hook) ();
+
+  /* If we're not echoing, we still want to at least print a prompt, because
+     rl_redisplay will not do it for us.  If the calling application has a
+     custom redisplay function, though, let that function handle it. */
+  if (readline_echoing_p == 0 && rl_redisplay_function == rl_redisplay)
+    {
+      if (rl_prompt && rl_already_prompted == 0)
+       {
+         nprompt = _rl_strip_prompt (rl_prompt);
+         fprintf (_rl_out_stream, "%s", nprompt);
+         fflush (_rl_out_stream);
+         free (nprompt);
+       }
+    }
+  else
+    {
+      if (rl_prompt && rl_already_prompted)
+       rl_on_new_line_with_prompt ();
+      else
+       rl_on_new_line ();
+      (*rl_redisplay_function) ();
+    }
+
+#if defined (VI_MODE)
+  if (rl_editing_mode == vi_mode)
+    rl_vi_insertion_mode (1, 'i');
+#endif /* VI_MODE */
+
+  if (rl_pre_input_hook)
+    (*rl_pre_input_hook) ();
+}
+
+STATIC_CALLBACK char *
+readline_internal_teardown (eof)
+     int eof;
+{
+  char *temp;
+  HIST_ENTRY *entry;
+
+  /* Restore the original of this history line, iff the line that we
+     are editing was originally in the history, AND the line has changed. */
+  entry = current_history ();
+
+  if (entry && rl_undo_list)
+    {
+      temp = savestring (the_line);
+      rl_revert_line (1, 0);
+      entry = replace_history_entry (where_history (), the_line, (histdata_t)NULL);
+      _rl_free_history_entry (entry);
+
+      strcpy (the_line, temp);
+      free (temp);
+    }
+
+  /* At any rate, it is highly likely that this line has an undo list.  Get
+     rid of it now. */
+  if (rl_undo_list)
+    rl_free_undo_list ();
+
+  /* Restore normal cursor, if available. */
+  _rl_set_insert_mode (RL_IM_INSERT, 0);
+
+  return (eof ? (char *)NULL : savestring (the_line));
+}
+
+void
+_rl_internal_char_cleanup ()
+{
+#if defined (VI_MODE)
+  /* In vi mode, when you exit insert mode, the cursor moves back
+     over the previous character.  We explicitly check for that here. */
+  if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap)
+    rl_vi_check ();
+#endif /* VI_MODE */
+
+  if (rl_num_chars_to_read && rl_end >= rl_num_chars_to_read)
+    {
+      (*rl_redisplay_function) ();
+      _rl_want_redisplay = 0;
+      rl_newline (1, '\n');
+    }
+
+  if (rl_done == 0)
+    {
+      (*rl_redisplay_function) ();
+      _rl_want_redisplay = 0;
+    }
+
+  /* If the application writer has told us to erase the entire line if
+     the only character typed was something bound to rl_newline, do so. */
+  if (rl_erase_empty_line && rl_done && rl_last_func == rl_newline &&
+      rl_point == 0 && rl_end == 0)
+    _rl_erase_entire_line ();
+}
+
+STATIC_CALLBACK int
+#if defined (READLINE_CALLBACKS)
+readline_internal_char ()
+#else
+readline_internal_charloop ()
+#endif
+{
+  static int lastc, eof_found;
+  int c, code, lk;
+
+  lastc = -1;
+  eof_found = 0;
+
+#if !defined (READLINE_CALLBACKS)
+  while (rl_done == 0)
+    {
+#endif
+      lk = _rl_last_command_was_kill;
+
+      code = setjmp (readline_top_level);
+
+      if (code)
+       {
+         (*rl_redisplay_function) ();
+         _rl_want_redisplay = 0;
+         /* If we get here, we're not being called from something dispatched
+            from _rl_callback_read_char(), which sets up its own value of
+            readline_top_level (saving and restoring the old, of course), so
+            we can just return here. */
+         if (RL_ISSTATE (RL_STATE_CALLBACK))
+           return (0);
+       }
+
+      if (rl_pending_input == 0)
+       {
+         /* Then initialize the argument and number of keys read. */
+         _rl_reset_argument ();
+         rl_key_sequence_length = 0;
+       }
+
+      RL_SETSTATE(RL_STATE_READCMD);
+      c = rl_read_key ();
+      RL_UNSETSTATE(RL_STATE_READCMD);
+
+      /* EOF typed to a non-blank line is a <NL>. */
+      if (c == EOF && rl_end)
+       c = NEWLINE;
+
+      /* The character _rl_eof_char typed to blank line, and not as the
+        previous character is interpreted as EOF. */
+      if (((c == _rl_eof_char && lastc != c) || c == EOF) && !rl_end)
+       {
+#if defined (READLINE_CALLBACKS)
+         RL_SETSTATE(RL_STATE_DONE);
+         return (rl_done = 1);
+#else
+         eof_found = 1;
+         break;
+#endif
+       }
+
+      lastc = c;
+      _rl_dispatch ((unsigned char)c, _rl_keymap);
+
+      /* If there was no change in _rl_last_command_was_kill, then no kill
+        has taken place.  Note that if input is pending we are reading
+        a prefix command, so nothing has changed yet. */
+      if (rl_pending_input == 0 && lk == _rl_last_command_was_kill)
+       _rl_last_command_was_kill = 0;
+
+      _rl_internal_char_cleanup ();
+
+#if defined (READLINE_CALLBACKS)
+      return 0;
+#else
+    }
+
+  return (eof_found);
+#endif
+}
+
+#if defined (READLINE_CALLBACKS)
+static int
+readline_internal_charloop ()
+{
+  int eof = 1;
+
+  while (rl_done == 0)
+    eof = readline_internal_char ();
+  return (eof);
+}
+#endif /* READLINE_CALLBACKS */
+
+/* Read a line of input from the global rl_instream, doing output on
+   the global rl_outstream.
+   If rl_prompt is non-null, then that is our prompt. */
+static char *
+readline_internal ()
+{
+  int eof;
+
+  readline_internal_setup ();
+  eof = readline_internal_charloop ();
+  return (readline_internal_teardown (eof));
+}
+
+void
+_rl_init_line_state ()
+{
+  rl_point = rl_end = rl_mark = 0;
+  the_line = rl_line_buffer;
+  the_line[0] = 0;
+}
+
+void
+_rl_set_the_line ()
+{
+  the_line = rl_line_buffer;
+}
+
+#if defined (READLINE_CALLBACKS)
+_rl_keyseq_cxt *
+_rl_keyseq_cxt_alloc ()
+{
+  _rl_keyseq_cxt *cxt;
+
+  cxt = (_rl_keyseq_cxt *)xmalloc (sizeof (_rl_keyseq_cxt));
+
+  cxt->flags = cxt->subseq_arg = cxt->subseq_retval = 0;
+
+  cxt->okey = 0;
+  cxt->ocxt = _rl_kscxt;
+  cxt->childval = 42;          /* sentinel value */
+
+  return cxt;
+}
+
+void
+_rl_keyseq_cxt_dispose (cxt)
+    _rl_keyseq_cxt *cxt;
+{
+  free (cxt);
+}
+
+void
+_rl_keyseq_chain_dispose ()
+{
+  _rl_keyseq_cxt *cxt;
+
+  while (_rl_kscxt)
+    {
+      cxt = _rl_kscxt;
+      _rl_kscxt = _rl_kscxt->ocxt;
+      _rl_keyseq_cxt_dispose (cxt);
+    }
+}
+#endif
+
+static int
+_rl_subseq_getchar (key)
+     int key;
+{
+  int k;
+
+  if (key == ESC)
+    RL_SETSTATE(RL_STATE_METANEXT);
+  RL_SETSTATE(RL_STATE_MOREINPUT);
+  k = rl_read_key ();
+  RL_UNSETSTATE(RL_STATE_MOREINPUT);
+  if (key == ESC)
+    RL_UNSETSTATE(RL_STATE_METANEXT);
+
+  return k;
+}
+
+#if defined (READLINE_CALLBACKS)
+int
+_rl_dispatch_callback (cxt)
+     _rl_keyseq_cxt *cxt;
+{
+  int nkey, r;
+
+  /* For now */
+#if 1
+  /* The first time this context is used, we want to read input and dispatch
+     on it.  When traversing the chain of contexts back `up', we want to use
+     the value from the next context down.  We're simulating recursion using
+     a chain of contexts. */
+  if ((cxt->flags & KSEQ_DISPATCHED) == 0)
+    {
+      nkey = _rl_subseq_getchar (cxt->okey);
+      r = _rl_dispatch_subseq (nkey, cxt->dmap, cxt->subseq_arg);
+      cxt->flags |= KSEQ_DISPATCHED;
+    }
+  else
+    r = cxt->childval;
+#else
+  r = _rl_dispatch_subseq (nkey, cxt->dmap, cxt->subseq_arg);
+#endif
+
+  /* For now */
+  r = _rl_subseq_result (r, cxt->oldmap, cxt->okey, (cxt->flags & KSEQ_SUBSEQ));
+
+  if (r == 0)                  /* success! */
+    {
+      _rl_keyseq_chain_dispose ();
+      RL_UNSETSTATE (RL_STATE_MULTIKEY);
+      return r;
+    }
+
+  if (r != -3)                 /* magic value that says we added to the chain */
+    _rl_kscxt = cxt->ocxt;
+  if (_rl_kscxt)
+    _rl_kscxt->childval = r;
+  if (r != -3)
+    _rl_keyseq_cxt_dispose (cxt);
+
+  return r;
+}
+#endif /* READLINE_CALLBACKS */
+  
+/* Do the command associated with KEY in MAP.
+   If the associated command is really a keymap, then read
+   another key, and dispatch into that map. */
+int
+_rl_dispatch (key, map)
+     register int key;
+     Keymap map;
+{
+  _rl_dispatching_keymap = map;
+  return _rl_dispatch_subseq (key, map, 0);
+}
+
+int
+_rl_dispatch_subseq (key, map, got_subseq)
+     register int key;
+     Keymap map;
+     int got_subseq;
+{
+  int r, newkey;
+  char *macro;
+  rl_command_func_t *func;
+#if defined (READLINE_CALLBACKS)
+  _rl_keyseq_cxt *cxt;
+#endif
+
+  if (META_CHAR (key) && _rl_convert_meta_chars_to_ascii)
+    {
+      if (map[ESC].type == ISKMAP)
+       {
+         if (RL_ISSTATE (RL_STATE_MACRODEF))
+           _rl_add_macro_char (ESC);
+         map = FUNCTION_TO_KEYMAP (map, ESC);
+         key = UNMETA (key);
+         rl_key_sequence_length += 2;
+         return (_rl_dispatch (key, map));
+       }
+      else
+       rl_ding ();
+      return 0;
+    }
+
+  if (RL_ISSTATE (RL_STATE_MACRODEF))
+    _rl_add_macro_char (key);
+
+  r = 0;
+  switch (map[key].type)
+    {
+    case ISFUNC:
+      func = map[key].function;
+      if (func)
+       {
+         /* Special case rl_do_lowercase_version (). */
+         if (func == rl_do_lowercase_version)
+           return (_rl_dispatch (_rl_to_lower (key), map));
+
+         rl_executing_keymap = map;
+
+         rl_dispatching = 1;
+         RL_SETSTATE(RL_STATE_DISPATCHING);
+         (*map[key].function)(rl_numeric_arg * rl_arg_sign, key);
+         RL_UNSETSTATE(RL_STATE_DISPATCHING);
+         rl_dispatching = 0;
+
+         /* If we have input pending, then the last command was a prefix
+            command.  Don't change the state of rl_last_func.  Otherwise,
+            remember the last command executed in this variable. */
+         if (rl_pending_input == 0 && map[key].function != rl_digit_argument)
+           rl_last_func = map[key].function;
+       }
+      else if (map[ANYOTHERKEY].function)
+       {
+         /* OK, there's no function bound in this map, but there is a
+            shadow function that was overridden when the current keymap
+            was created.  Return -2 to note  that. */
+         _rl_unget_char  (key);
+         return -2;
+       }
+      else if (got_subseq)
+       {
+         /* Return -1 to note that we're in a subsequence, but  we don't
+            have a matching key, nor was one overridden.  This means
+            we need to back up the recursion chain and find the last
+            subsequence that is bound to a function. */
+         _rl_unget_char (key);
+         return -1;
+       }
+      else
+       {
+#if defined (READLINE_CALLBACKS)
+         RL_UNSETSTATE (RL_STATE_MULTIKEY);
+         _rl_keyseq_chain_dispose ();
+#endif
+         _rl_abort_internal ();
+         return -1;
+       }
+      break;
+
+    case ISKMAP:
+      if (map[key].function != 0)
+       {
+#if defined (VI_MODE)
+         /* The only way this test will be true is if a subsequence has been
+            bound starting with ESC, generally the arrow keys.  What we do is
+            check whether there's input in the queue, which there generally
+            will be if an arrow key has been pressed, and, if there's not,
+            just dispatch to (what we assume is) rl_vi_movement_mode right
+            away.  This is essentially an input test with a zero timeout. */
+         if (rl_editing_mode == vi_mode && key == ESC && map == vi_insertion_keymap
+             && _rl_input_queued (0) == 0)
+           return (_rl_dispatch (ANYOTHERKEY, FUNCTION_TO_KEYMAP (map, key)));
+#endif
+
+         rl_key_sequence_length++;
+         _rl_dispatching_keymap = FUNCTION_TO_KEYMAP (map, key);
+
+         /* Allocate new context here.  Use linked contexts (linked through
+            cxt->ocxt) to simulate recursion */
+#if defined (READLINE_CALLBACKS)
+         if (RL_ISSTATE (RL_STATE_CALLBACK))
+           {
+             /* Return 0 only the first time, to indicate success to
+                _rl_callback_read_char.  The rest of the time, we're called
+                from _rl_dispatch_callback, so we return 3 to indicate
+                special handling is necessary. */
+             r = RL_ISSTATE (RL_STATE_MULTIKEY) ? -3 : 0;
+             cxt = _rl_keyseq_cxt_alloc ();
+
+             if (got_subseq)
+               cxt->flags |= KSEQ_SUBSEQ;
+             cxt->okey = key;
+             cxt->oldmap = map;
+             cxt->dmap = _rl_dispatching_keymap;
+             cxt->subseq_arg = got_subseq || cxt->dmap[ANYOTHERKEY].function;
+
+             RL_SETSTATE (RL_STATE_MULTIKEY);
+             _rl_kscxt = cxt;
+
+             return r;         /* don't indicate immediate success */
+           }
+#endif
+
+         newkey = _rl_subseq_getchar (key);
+         if (newkey < 0)
+           {
+             _rl_abort_internal ();
+             return -1;
+           }
+
+         r = _rl_dispatch_subseq (newkey, _rl_dispatching_keymap, got_subseq || map[ANYOTHERKEY].function);
+         return _rl_subseq_result (r, map, key, got_subseq);
+       }
+      else
+       {
+         _rl_abort_internal ();
+         return -1;
+       }
+      break;
+
+    case ISMACR:
+      if (map[key].function != 0)
+       {
+         macro = savestring ((char *)map[key].function);
+         _rl_with_macro_input (macro);
+         return 0;
+       }
+      break;
+    }
+#if defined (VI_MODE)
+  if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
+      key != ANYOTHERKEY &&
+      _rl_vi_textmod_command (key))
+    _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
+#endif
+
+  return (r);
+}
+
+static int
+_rl_subseq_result (r, map, key, got_subseq)
+     int r;
+     Keymap map;
+     int key, got_subseq;
+{
+  Keymap m;
+  int type, nt;
+  rl_command_func_t *func, *nf;
+  
+  if (r == -2)
+    /* We didn't match anything, and the keymap we're indexed into
+       shadowed a function previously bound to that prefix.  Call
+       the function.  The recursive call to _rl_dispatch_subseq has
+       already taken care of pushing any necessary input back onto
+       the input queue with _rl_unget_char. */
+    {
+      m = _rl_dispatching_keymap;
+      type = m[ANYOTHERKEY].type;
+      func = m[ANYOTHERKEY].function;
+      if (type == ISFUNC && func == rl_do_lowercase_version)
+       r = _rl_dispatch (_rl_to_lower (key), map);
+      else if (type == ISFUNC && func == rl_insert)
+       {
+         /* If the function that was shadowed was self-insert, we
+            somehow need a keymap with map[key].func == self-insert.
+            Let's use this one. */
+         nt = m[key].type;
+         nf = m[key].function;
+
+         m[key].type = type;
+         m[key].function = func;
+         r = _rl_dispatch (key, m);
+         m[key].type = nt;
+         m[key].function = nf;
+       }
+      else
+       r = _rl_dispatch (ANYOTHERKEY, m);
+    }
+  else if (r && map[ANYOTHERKEY].function)
+    {
+      /* We didn't match (r is probably -1), so return something to
+        tell the caller that it should try ANYOTHERKEY for an
+        overridden function. */
+      _rl_unget_char (key);
+      _rl_dispatching_keymap = map;
+      return -2;
+    }
+  else if (r && got_subseq)
+    {
+      /* OK, back up the chain. */
+      _rl_unget_char (key);
+      _rl_dispatching_keymap = map;
+      return -1;
+    }
+
+  return r;
+}
+
+/* **************************************************************** */
+/*                                                                 */
+/*                     Initializations                             */
+/*                                                                 */
+/* **************************************************************** */
+
+/* Initialize readline (and terminal if not already). */
+int
+rl_initialize ()
+{
+  /* If we have never been called before, initialize the
+     terminal and data structures. */
+  if (!rl_initialized)
+    {
+      RL_SETSTATE(RL_STATE_INITIALIZING);
+      readline_initialize_everything ();
+      RL_UNSETSTATE(RL_STATE_INITIALIZING);
+      rl_initialized++;
+      RL_SETSTATE(RL_STATE_INITIALIZED);
+    }
+
+  /* Initalize the current line information. */
+  _rl_init_line_state ();
+
+  /* We aren't done yet.  We haven't even gotten started yet! */
+  rl_done = 0;
+  RL_UNSETSTATE(RL_STATE_DONE);
+
+  /* Tell the history routines what is going on. */
+  _rl_start_using_history ();
+
+  /* Make the display buffer match the state of the line. */
+  rl_reset_line_state ();
+
+  /* No such function typed yet. */
+  rl_last_func = (rl_command_func_t *)NULL;
+
+  /* Parsing of key-bindings begins in an enabled state. */
+  _rl_parsing_conditionalized_out = 0;
+
+#if defined (VI_MODE)
+  if (rl_editing_mode == vi_mode)
+    _rl_vi_initialize_line ();
+#endif
+
+  /* Each line starts in insert mode (the default). */
+  _rl_set_insert_mode (RL_IM_DEFAULT, 1);
+
+  return 0;
+}
+
+#if 0
+#if defined (__EMX__)
+static void
+_emx_build_environ ()
+{
+  TIB *tibp;
+  PIB *pibp;
+  char *t, **tp;
+  int c;
+
+  DosGetInfoBlocks (&tibp, &pibp);
+  t = pibp->pib_pchenv;
+  for (c = 1; *t; c++)
+    t += strlen (t) + 1;
+  tp = environ = (char **)xmalloc ((c + 1) * sizeof (char *));
+  t = pibp->pib_pchenv;
+  while (*t)
+    {
+      *tp++ = t;
+      t += strlen (t) + 1;
+    }
+  *tp = 0;
+}
+#endif /* __EMX__ */
+#endif
+
+/* Initialize the entire state of the world. */
+static void
+readline_initialize_everything ()
+{
+#if 0
+#if defined (__EMX__)
+  if (environ == 0)
+    _emx_build_environ ();
+#endif
+#endif
+
+#if 0
+  /* Find out if we are running in Emacs -- UNUSED. */
+  running_in_emacs = sh_get_env_value ("EMACS") != (char *)0;
+#endif
+
+  /* Set up input and output if they are not already set up. */
+  if (!rl_instream)
+    rl_instream = stdin;
+
+  if (!rl_outstream)
+    rl_outstream = stdout;
+
+  /* Bind _rl_in_stream and _rl_out_stream immediately.  These values
+     may change, but they may also be used before readline_internal ()
+     is called. */
+  _rl_in_stream = rl_instream;
+  _rl_out_stream = rl_outstream;
+
+  /* Allocate data structures. */
+  if (rl_line_buffer == 0)
+    rl_line_buffer = (char *)xmalloc (rl_line_buffer_len = DEFAULT_BUFFER_SIZE);
+
+  /* Initialize the terminal interface. */
+  if (rl_terminal_name == 0)
+    rl_terminal_name = sh_get_env_value ("TERM");
+  _rl_init_terminal_io (rl_terminal_name);
+
+  /* Bind tty characters to readline functions. */
+  readline_default_bindings ();
+
+  /* Initialize the function names. */
+  rl_initialize_funmap ();
+
+  /* Decide whether we should automatically go into eight-bit mode. */
+  _rl_init_eightbit ();
+      
+  /* Read in the init file. */
+  rl_read_init_file ((char *)NULL);
+
+  /* XXX */
+  if (_rl_horizontal_scroll_mode && _rl_term_autowrap)
+    {
+      _rl_screenwidth--;
+      _rl_screenchars -= _rl_screenheight;
+    }
+
+  /* Override the effect of any `set keymap' assignments in the
+     inputrc file. */
+  rl_set_keymap_from_edit_mode ();
+
+  /* Try to bind a common arrow key prefix, if not already bound. */
+  bind_arrow_keys ();
+
+  /* Enable the meta key, if this terminal has one. */
+  if (_rl_enable_meta)
+    _rl_enable_meta_key ();
+
+  /* If the completion parser's default word break characters haven't
+     been set yet, then do so now. */
+  if (rl_completer_word_break_characters == (char *)NULL)
+    rl_completer_word_break_characters = (char *)rl_basic_word_break_characters;
+}
+
+/* If this system allows us to look at the values of the regular
+   input editing characters, then bind them to their readline
+   equivalents, iff the characters are not bound to keymaps. */
+static void
+readline_default_bindings ()
+{
+  if (_rl_bind_stty_chars)
+    rl_tty_set_default_bindings (_rl_keymap);
+}
+
+/* Reset the default bindings for the terminal special characters we're
+   interested in back to rl_insert and read the new ones. */
+static void
+reset_default_bindings ()
+{
+  if (_rl_bind_stty_chars)
+    {
+      rl_tty_unset_default_bindings (_rl_keymap);
+      rl_tty_set_default_bindings (_rl_keymap);
+    }
+}
+
+/* Bind some common arrow key sequences in MAP. */
+static void
+bind_arrow_keys_internal (map)
+     Keymap map;
+{
+  Keymap xkeymap;
+
+  xkeymap = _rl_keymap;
+  _rl_keymap = map;
+
+#if defined (__MSDOS__)
+  rl_bind_keyseq_if_unbound ("\033[0A", rl_get_previous_history);
+  rl_bind_keyseq_if_unbound ("\033[0B", rl_backward_char);
+  rl_bind_keyseq_if_unbound ("\033[0C", rl_forward_char);
+  rl_bind_keyseq_if_unbound ("\033[0D", rl_get_next_history);
+#endif
+
+  rl_bind_keyseq_if_unbound ("\033[A", rl_get_previous_history);
+  rl_bind_keyseq_if_unbound ("\033[B", rl_get_next_history);
+  rl_bind_keyseq_if_unbound ("\033[C", rl_forward_char);
+  rl_bind_keyseq_if_unbound ("\033[D", rl_backward_char);
+  rl_bind_keyseq_if_unbound ("\033[H", rl_beg_of_line);
+  rl_bind_keyseq_if_unbound ("\033[F", rl_end_of_line);
+
+  rl_bind_keyseq_if_unbound ("\033OA", rl_get_previous_history);
+  rl_bind_keyseq_if_unbound ("\033OB", rl_get_next_history);
+  rl_bind_keyseq_if_unbound ("\033OC", rl_forward_char);
+  rl_bind_keyseq_if_unbound ("\033OD", rl_backward_char);
+  rl_bind_keyseq_if_unbound ("\033OH", rl_beg_of_line);
+  rl_bind_keyseq_if_unbound ("\033OF", rl_end_of_line);
+
+#if 1 /* was defined (__MINGW32__)*/
+  rl_bind_keyseq_if_unbound ("\340H", rl_get_previous_history);
+  rl_bind_keyseq_if_unbound ("\340P", rl_get_next_history);
+  rl_bind_keyseq_if_unbound ("\340M", rl_forward_char);
+  rl_bind_keyseq_if_unbound ("\340K", rl_backward_char);
+#endif
+
+  _rl_keymap = xkeymap;
+}
+
+/* Try and bind the common arrow key prefixes after giving termcap and
+   the inputrc file a chance to bind them and create `real' keymaps
+   for the arrow key prefix. */
+static void
+bind_arrow_keys ()
+{
+  bind_arrow_keys_internal (emacs_standard_keymap);
+
+#if defined (VI_MODE)
+  bind_arrow_keys_internal (vi_movement_keymap);
+  bind_arrow_keys_internal (vi_insertion_keymap);
+#endif
+}
+
+/* **************************************************************** */
+/*                                                                 */
+/*             Saving and Restoring Readline's state               */
+/*                                                                 */
+/* **************************************************************** */
+
+int
+rl_save_state (sp)
+     struct readline_state *sp;
+{
+  if (sp == 0)
+    return -1;
+
+  sp->point = rl_point;
+  sp->end = rl_end;
+  sp->mark = rl_mark;
+  sp->buffer = rl_line_buffer;
+  sp->buflen = rl_line_buffer_len;
+  sp->ul = rl_undo_list;
+  sp->prompt = rl_prompt;
+
+  sp->rlstate = rl_readline_state;
+  sp->done = rl_done;
+  sp->kmap = _rl_keymap;
+
+  sp->lastfunc = rl_last_func;
+  sp->insmode = rl_insert_mode;
+  sp->edmode = rl_editing_mode;
+  sp->kseqlen = rl_key_sequence_length;
+  sp->inf = rl_instream;
+  sp->outf = rl_outstream;
+  sp->pendingin = rl_pending_input;
+  sp->macro = rl_executing_macro;
+
+  sp->catchsigs = rl_catch_signals;
+  sp->catchsigwinch = rl_catch_sigwinch;
+
+  return (0);
+}
+
+int
+rl_restore_state (sp)
+     struct readline_state *sp;
+{
+  if (sp == 0)
+    return -1;
+
+  rl_point = sp->point;
+  rl_end = sp->end;
+  rl_mark = sp->mark;
+  the_line = rl_line_buffer = sp->buffer;
+  rl_line_buffer_len = sp->buflen;
+  rl_undo_list = sp->ul;
+  rl_prompt = sp->prompt;
+
+  rl_readline_state = sp->rlstate;
+  rl_done = sp->done;
+  _rl_keymap = sp->kmap;
+
+  rl_last_func = sp->lastfunc;
+  rl_insert_mode = sp->insmode;
+  rl_editing_mode = sp->edmode;
+  rl_key_sequence_length = sp->kseqlen;
+  rl_instream = sp->inf;
+  rl_outstream = sp->outf;
+  rl_pending_input = sp->pendingin;
+  rl_executing_macro = sp->macro;
+
+  rl_catch_signals = sp->catchsigs;
+  rl_catch_sigwinch = sp->catchsigwinch;
+
+  return (0);
+}
index c651fd8b41f66ad39807ee1e18e714fcb8dae961..ff3929e0bf55261b42cc3217a0e9631ea2a1c7d2 100644 (file)
 /* 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 f4cfb939facdaa2b25e17386078d6ef65937cefb..ce3cfe5ad84338b278e3a0492a5d8cf16aed0f6c 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)
 
@@ -187,6 +198,23 @@ _emx_get_screensize (swp, shp)
 }
 #endif
 
+#if defined (__MINGW32__)
+_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)
+    {
+      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
@@ -211,7 +239,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)
index 0e306bc1a72133843955a0e80219e966f3d50542..08306e3b0516fa7f68122575cdb1cad8546751dd 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='-bundle -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 d54f10a21b1aa67ec81e1d19a0518e54c3e130b6..e8018f823b46d04f4b980ef371a0c860d500ca59 100644 (file)
@@ -440,7 +440,7 @@ initialize_shell_variables (env, privmode)
   bind_variable ("OPTERR", "1", 0);
   sh_opterr = 1;
 
-  if (login_shell == 1)
+  if (login_shell == 1 && posixly_correct == 0)
     set_home_var ();
 
   /* Get the full pathname to THIS shell, and set the BASH variable
index 6c41e4cdbbe634a5e4d17679e2d974dbc213fa15..d54f10a21b1aa67ec81e1d19a0518e54c3e130b6 100644 (file)
@@ -483,8 +483,10 @@ initialize_shell_variables (env, privmode)
       set_if_not ("HISTFILE", name);
       free (name);
 
+#if 0
       set_if_not ("HISTSIZE", "500");
       sv_histsize ("HISTSIZE");
+#endif
     }
 #endif /* HISTORY */