summaryrefslogtreecommitdiff
path: root/doc/readline.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/readline.info')
-rw-r--r--doc/readline.info811
1 files changed, 691 insertions, 120 deletions
diff --git a/doc/readline.info b/doc/readline.info
index 57dbdfa..c07a0ca 100644
--- a/doc/readline.info
+++ b/doc/readline.info
@@ -1,30 +1,32 @@
-This is readline.info, produced by makeinfo version 4.1 from
-/usr/homes/chet/src/bash/readline-src/doc/rlman.texinfo.
+This is readline.info, produced by makeinfo version 4.5 from
+/usr/homes/chet/src/bash/readline-src/doc/rlman.texi.
-INFO-DIR-SECTION Libraries
-START-INFO-DIR-ENTRY
-* Readline: (readline). The GNU readline library API
-END-INFO-DIR-ENTRY
+This manual describes the GNU Readline Library (version 5.0, 28 January
+2004), a library which aids in the consistency of user interface across
+discrete programs which provide a command line interface.
- This document describes the GNU Readline Library, a utility which
-aids in the consistency of user interface across discrete programs that
-need to provide a command line interface.
-
- Copyright (C) 1988-2002 Free Software Foundation, Inc.
+ Copyright (C) 1988-2004 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice pare
+manual provided the copyright notice and this permission notice are
preserved on all copies.
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Free Software Foundation.
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation License,
+ Version 1.1 or any later version published by the Free Software
+ Foundation; with no Invariant Sections, with the Front-Cover texts
+ being "A GNU Manual," and with the Back-Cover Texts as in (a)
+ below. A copy of the license is included in the section entitled
+ "GNU Free Documentation License."
+
+ (a) The FSF's Back-Cover Text is: "You have freedom to copy and
+ modify this GNU Manual, like GNU software. Copies published by
+ the Free Software Foundation raise funds for GNU development."
+
+INFO-DIR-SECTION Libraries
+START-INFO-DIR-ENTRY
+* Readline: (readline). The GNU readline library API.
+END-INFO-DIR-ENTRY

File: readline.info, Node: Top, Next: Command Line Editing, Up: (dir)
@@ -33,13 +35,14 @@ GNU Readline Library
********************
This document describes the GNU Readline Library, a utility which
-aids in the consistency of user interface across discrete programs that
-need to provide a command line interface.
+aids in the consistency of user interface across discrete programs which
+provide a command line interface.
* Menu:
* Command Line Editing:: GNU Readline User's Manual.
* Programming with GNU Readline:: GNU Readline Programmer's Manual.
+* Copying This Manual:: Copying this manual.
* Concept Index:: Index of concepts described in this manual.
* Function and Variable Index:: Index of externally visible functions
and variables.
@@ -244,6 +247,7 @@ available to be yanked back later, when you are typing another line.
Kill from the cursor to the previous whitespace. This is
different than `M-<DEL>' because the word boundaries differ.
+
Here is how to "yank" the text back into the line. Yanking means to
copy the most-recently-killed text from the kill buffer.
@@ -394,12 +398,12 @@ Variable Settings
`completion-query-items'
The number of possible completions that determines when the
- user is asked whether he wants to see the list of
- possibilities. If the number of possible completions is
- greater than this value, Readline will ask the user whether
- or not he wishes to view them; otherwise, they are simply
- listed. This variable must be set to an integer value
- greater than or equal to 0. The default limit is `100'.
+ user is asked whether the list of possibilities should be
+ displayed. If the number of possible completions is greater
+ than this value, Readline will ask the user whether or not he
+ wishes to view them; otherwise, they are simply listed. This
+ variable must be set to an integer value greater than or
+ equal to 0. The default limit is `100'.
`convert-meta'
If set to `on', Readline will convert characters with the
@@ -428,7 +432,7 @@ Variable Settings
attempts word completion. The default is `off'.
If set to `on', the history code attempts to place point at
- the same location on each history line retrived with
+ the same location on each history line retrieved with
`previous-history' or `next-history'.
`horizontal-scroll-mode'
@@ -503,11 +507,21 @@ Variable Settings
completion cause the matches to be listed immediately instead
of ringing the bell. The default value is `off'.
+ `show-all-if-unmodified'
+ This alters the default behavior of the completion functions
+ in a fashion similar to SHOW-ALL-IF-AMBIGUOUS. If set to
+ `on', words which have more than one possible completion
+ without any possible partial completion (the possible
+ completions don't share a common prefix) cause the matches to
+ be listed immediately instead of ringing the bell. The
+ default value is `off'.
+
`visible-stats'
If set to `on', a character denoting a file's type is
appended to the filename when listing possible completions.
The default is `off'.
+
Key Bindings
The syntax for controlling key bindings in the init file is
simple. First you need to find the name of the command that you
@@ -558,6 +572,7 @@ Key Bindings
`<ESC> <[> <1> <1> <~>' is bound to insert the text `Function
Key 1'.
+
The following GNU Emacs style escape sequences are available when
specifying key sequences:
@@ -623,6 +638,7 @@ Key Bindings
the line:
"\C-x\\": "\\"
+

File: readline.info, Node: Conditional Init Constructs, Next: Sample Init File, Prev: Readline Init File Syntax, Up: Readline Init File
@@ -852,6 +868,7 @@ Commands For Moving
`redraw-current-line ()'
Refresh the current line. By default, this is unbound.
+

File: readline.info, Node: Commands For History, Next: Commands For Text, Prev: Commands For Moving, Up: Bindable Readline Commands
@@ -921,6 +938,7 @@ Commands For Manipulating The History
through the history list, inserting the last argument of each line
in turn.
+

File: readline.info, Node: Commands For Text, Next: Commands For Killing, Prev: Commands For History, Up: Bindable Readline Commands
@@ -988,6 +1006,7 @@ Commands For Changing Text
By default, this command is unbound.
+

File: readline.info, Node: Commands For Killing, Next: Numeric Arguments, Prev: Commands For Text, Up: Bindable Readline Commands
@@ -1020,6 +1039,11 @@ Killing And Yanking
Kill the word behind point, using white space as a word boundary.
The killed text is saved on the kill-ring.
+`unix-filename-rubout ()'
+ Kill the word behind point, using white space and the slash
+ character as the word boundaries. The killed text is saved on the
+ kill-ring.
+
`delete-horizontal-space ()'
Delete all spaces and tabs around point. By default, this is
unbound.
@@ -1108,6 +1132,7 @@ Letting Readline Type For You
behaves identically to `possible-completions'. This command is
unbound by default.
+

File: readline.info, Node: Keyboard Macros, Next: Miscellaneous Commands, Prev: Commands For Completion, Up: Bindable Readline Commands
@@ -1125,6 +1150,7 @@ Keyboard Macros
Re-execute the last keyboard macro defined, by making the
characters in the macro appear as if typed at the keyboard.
+

File: readline.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up: Bindable Readline Commands
@@ -1212,6 +1238,7 @@ Some Miscellaneous Commands
When in `emacs' editing mode, this causes a switch to `vi' editing
mode.
+

File: readline.info, Node: Readline vi Mode, Prev: Bindable Readline Commands, Up: Command Line Editing
@@ -1238,7 +1265,7 @@ the standard `vi' movement keys, move to previous history lines with
aiding in the consitency of user interface across discrete programs
that need to provide a command line interface.
- Copyright (C) 1988-2002 Free Software Foundation, Inc.
+ Copyright (C) 1988-2004 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice pare
@@ -1255,7 +1282,7 @@ versions, except that this permission notice may be stated in a
translation approved by the Foundation.

-File: readline.info, Node: Programming with GNU Readline, Next: Concept Index, Prev: Command Line Editing, Up: Top
+File: readline.info, Node: Programming with GNU Readline, Next: Copying This Manual, Prev: Command Line Editing, Up: Top
Programming with GNU Readline
*****************************
@@ -1468,6 +1495,7 @@ we may write
`typedef void rl_vcpfunc_t (char *);'
`typedef void rl_vcppfunc_t (char **);'
+

File: readline.info, Node: Function Writing, Prev: Readline Typedefs, Up: Custom Functions
@@ -1785,11 +1813,11 @@ Readline provides a function for doing that:
function that gets called. If KEY is not -1, then bind it to
FUNCTION using `rl_bind_key()'.
- Using this function alone is sufficient for most applications. It is
-the recommended way to add a few functions to the default functions that
-Readline has built in. If you need to do something other than adding a
-function to Readline, you may need to use the underlying functions
-described below.
+ Using this function alone is sufficient for most applications. It
+is the recommended way to add a few functions to the default functions
+that Readline has built in. If you need to do something other than
+adding a function to Readline, you may need to use the underlying
+functions described below.

File: readline.info, Node: Keymaps, Next: Binding Keys, Prev: Function Naming, Up: Readline Convenience Functions
@@ -1868,6 +1896,17 @@ initialization function assigned to the `rl_startup_hook' variable
Bind KEY to FUNCTION in MAP. Returns non-zero in the case of an
invalid KEY.
+ - Function: int rl_bind_key_if_unbound (int key, rl_command_func_t
+ *function)
+ Binds KEY to FUNCTION if it is not already bound in the currently
+ active keymap. Returns non-zero in the case of an invalid KEY or
+ if KEY is already bound.
+
+ - Function: int rl_bind_key_if_unbound_in_map (int key,
+ rl_command_func_t *function, Keymap map)
+ Binds KEY to FUNCTION if it is not already bound in MAP. Returns
+ non-zero in the case of an invalid KEY or if KEY is already bound.
+
- Function: int rl_unbind_key (int key)
Bind KEY to the null function in the currently active keymap.
Returns non-zero in case of error.
@@ -1884,11 +1923,35 @@ initialization function assigned to the `rl_startup_hook' variable
map)
Unbind all keys that are bound to COMMAND in MAP.
+ - Function: int rl_bind_keyseq (const char *keyseq, rl_command_func_t
+ *function)
+ Bind the key sequence represented by the string KEYSEQ to the
+ function FUNCTION, beginning in the current keymap. This makes
+ new keymaps as necessary. The return value is non-zero if KEYSEQ
+ is invalid.
+
+ - Function: int rl_bind_keyseq_in_map (const char *keyseq,
+ rl_command_func_t *function, Keymap map)
+ Bind the key sequence represented by the string KEYSEQ to the
+ function FUNCTION. This makes new keymaps as necessary. Initial
+ bindings are performed in MAP. The return value is non-zero if
+ KEYSEQ is invalid.
+
- Function: int rl_set_key (const char *keyseq, rl_command_func_t
*function, Keymap map)
- Bind the key sequence represented by the string KEYSEQ to the
- function FUNCTION. This makes new keymaps as necessary. The
- initial keymap in which to do bindings is MAP.
+ Equivalent to `rl_bind_keyseq_in_map'.
+
+ - Function: int rl_bind_keyseq_if_unbound (const char *keyseq,
+ rl_command_func_t *function)
+ Binds KEYSEQ to FUNCTION if it is not already bound in the
+ currently active keymap. Returns non-zero in the case of an
+ invalid KEYSEQ or if KEYSEQ is already bound.
+
+ - Function: int rl_bind_keyseq_if_unbound_in_map (const char *keyseq,
+ rl_command_func_t *function, Keymap map)
+ Binds KEYSEQ to FUNCTION if it is not already bound in MAP.
+ Returns non-zero in the case of an invalid KEYSEQ or if KEYSEQ is
+ already bound.
- Function: int rl_generic_bind (int type, const char *keyseq, char
*data, Keymap map)
@@ -2082,7 +2145,12 @@ Redisplay
primary prompt if the `rl_on_new_line_with_prompt()' function or
`rl_already_prompted' variable is used. It returns the number of
visible characters on the last line of the (possibly multi-line)
- prompt.
+ prompt. Applications may indicate that the prompt contains
+ characters that take up no physical screen space when displayed by
+ bracketing a sequence of such characters with the special markers
+ `RL_PROMPT_START_IGNORE' and `RL_PROMPT_END_IGNORE' (declared in
+ `readline.h'. This may be used to embed terminal-specific escape
+ sequences in prompts.
- Function: int rl_set_prompt (const char *prompt)
Make Readline use PROMPT for subsequent redisplay. This calls
@@ -2181,6 +2249,11 @@ Terminal Management
be displayed by `stty') to their Readline equivalents. The
bindings are performed in KMAP.
+ - Function: void rl_tty_unset_default_bindings (Keymap kmap)
+ Reset the bindings manipulated by `rl_tty_set_default_bindings' so
+ that the terminal editing characters are bound to `rl_insert'.
+ The bindings are performed in KMAP.
+
- Function: int rl_reset_terminal (const char *terminal_name)
Reinitialize Readline's idea of the terminal settings using
TERMINAL_NAME as the terminal type (e.g., `vt100'). If
@@ -2578,7 +2651,9 @@ functions must do, and provides an example.
list of possible completions when STATE is zero, and returns them
one at a time on subsequent calls. Each string the generator
function returns as a match must be allocated with `malloc()';
- Readline frees the strings when it has finished with them.
+ Readline frees the strings when it has finished with them. Such a
+ generator function is referred to as an "application-specific
+ completion function".
- Function: int rl_complete (int ignore, int invoking_key)
@@ -2592,6 +2667,9 @@ functions must do, and provides an example.
`rl_completion_matches()'. If the value of
`rl_completion_entry_function' is `NULL' then the default filename
generator function, `rl_filename_completion_function()', is used.
+ An "application-specific completion function" is a function whose
+ address is assigned to `rl_completion_entry_function' and whose
+ return values are used to generate possible completions.

File: readline.info, Node: Completion Functions, Next: Completion Variables, Prev: How Completing Works, Up: Custom Completers
@@ -2608,7 +2686,9 @@ Readline.
completions. `TAB' means do standard completion. `*' means
insert all of the possible completions. `!' means to display all
of the possible completions, if there is more than one, as well as
- performing partial completion.
+ performing partial completion. `@' is similar to `!', but
+ possible completions are not listed if the possible completions
+ share a common prefix.
- Function: int rl_complete (int ignore, int invoking_key)
Complete the word at or before point. You have supplied the
@@ -2630,9 +2710,9 @@ Readline.
- Function: int rl_completion_mode (rl_command_func_t *cfunc)
Returns the apppriate value to pass to `rl_complete_internal()'
depending on whether CFUNC was called twice in succession and the
- value of the `show-all-if-ambiguous' variable.
- Application-specific completion functions may use this function to
- present the same interface as `rl_complete()'.
+ values of the `show-all-if-ambiguous' and `show-all-if-unmodified'
+ variables. Application-specific completion functions may use this
+ function to present the same interface as `rl_complete()'.
- Function: char ** rl_completion_matches (const char *text,
rl_compentry_func_t *entry_func)
@@ -2652,8 +2732,8 @@ Readline.
int state)
A generator function for filename completion in the general case.
TEXT is a partial filename. The Bash source is a useful reference
- for writing custom completion functions (the Bash completion
- functions call this and other Readline functions).
+ for writing application-specific completion functions (the Bash
+ completion functions call this and other Readline functions).
- Function: char * rl_username_completion_function (const char *text,
int state)
@@ -2765,6 +2845,15 @@ Completion Variables
`rl_complete_internal()'. The default list is the value of
`rl_basic_word_break_characters'.
+ - Variable: rl_cpvfunc_t * rl_completion_word_break_hook
+ If non-zero, this is the address of a function to call when
+ Readline is deciding where to separate words for word completion.
+ It should return a character string like
+ `rl_completer_word_break_characters' to be used to perform the
+ current completion. The function may choose to set
+ `rl_completer_word_break_characters' itself. If the function
+ returns `NULL', `rl_completer_word_break_characters' is used.
+
- Variable: const char * rl_completer_quote_characters
A list of characters which can be used to quote a substring of the
line. Completion occurs on the entire substring, and within the
@@ -2793,26 +2882,46 @@ Completion Variables
command line, this character is appended to the inserted
completion text. The default is a space character (` '). Setting
this to the null character (`\0') prevents anything being appended
- automatically. This can be changed in custom completion functions
- to provide the "most sensible word separator character" according
- to an application-specific command line syntax specification.
+ automatically. This can be changed in application-specific
+ completion functions to provide the "most sensible word separator
+ character" according to an application-specific command line
+ syntax specification.
- Variable: int rl_completion_suppress_append
If non-zero, RL_COMPLETION_APPEND_CHARACTER is not appended to
matches at the end of the command line, as described above. It is
set to 0 before any application-specific completion function is
+ called, and may only be changed within such a function.
+
+ - Variable: int rl_completion_quote_character
+ When Readline is completing quoted text, as delimited by one of the
+ characters in RL_COMPLETER_QUOTE_CHARACTERS, it sets this variable
+ to the quoting character found. This is set before any
+ application-specific completion function is called.
+
+ - Variable: int rl_completion_suppress_quote
+ If non-zero, Readline does not append a matching quote character
+ when performing completion on a quoted string. It is set to 0
+ before any application-specific completion function is called, and
+ may only be changed within such a function.
+
+ - Variable: int rl_completion_found_quote
+ When Readline is completing quoted text, it sets this variable to
+ a non-zero value if the word being completed contains or is
+ delimited by any quoting characters, including backslashes. This
+ is set before any application-specific completion function is
called.
- Variable: int rl_completion_mark_symlink_dirs
If non-zero, a slash will be appended to completed filenames that
are symbolic links to directory names, subject to the value of the
user-settable MARK-DIRECTORIES variable. This variable exists so
- that application completion functions can override the user's
- global preference (set via the MARK-SYMLINKED-DIRECTORIES Readline
- variable) if appropriate. This variable is set to the user's
- preference before any application completion function is called,
- so unless that function modifies the value, the user's preferences
- are honored.
+ that application-specific completion functions can override the
+ user's global preference (set via the MARK-SYMLINKED-DIRECTORIES
+ Readline variable) if appropriate. This variable is set to the
+ user's preference before any application-specific completion
+ function is called, so unless that function modifies the value,
+ the user's preferences are honored.
- Variable: int rl_ignore_completion_duplicates
If non-zero, then duplicates in the matches are removed. The
@@ -2820,21 +2929,23 @@ Completion Variables
- Variable: int rl_filename_completion_desired
Non-zero means that the results of the matches are to be treated as
- filenames. This is _always_ zero on entry, and can only be changed
- within a completion entry generator function. If it is set to a
- non-zero value, directory names have a slash appended and Readline
- attempts to quote completed filenames if they contain any
- characters in `rl_filename_quote_characters' and
- `rl_filename_quoting_desired' is set to a non-zero value.
+ filenames. This is _always_ zero when completion is attempted,
+ and can only be changed within an application-specific completion
+ function. If it is set to a non-zero value by such a function,
+ directory names have a slash appended and Readline attempts to
+ quote completed filenames if they contain any characters in
+ `rl_filename_quote_characters' and `rl_filename_quoting_desired'
+ is set to a non-zero value.
- Variable: int rl_filename_quoting_desired
Non-zero means that the results of the matches are to be quoted
using double quotes (or an application-specific quoting mechanism)
if the completed filename contains any characters in
- `rl_filename_quote_chars'. This is _always_ non-zero on entry,
- and can only be changed within a completion entry generator
- function. The quoting is effected via a call to the function
- pointed to by `rl_filename_quoting_function'.
+ `rl_filename_quote_chars'. This is _always_ non-zero when
+ completion is attempted, and can only be changed within an
+ application-specific completion function. The quoting is effected
+ via a call to the function pointed to by
+ `rl_filename_quoting_function'.
- Variable: int rl_attempted_completion_over
If an application-specific completion function assigned to
@@ -2847,7 +2958,9 @@ Completion Variables
Set to a character describing the type of completion Readline is
currently attempting; see the description of
`rl_complete_internal()' (*note Completion Functions::) for the
- list of characters.
+ list of characters. This is set to the appropriate value before
+ any application-specific completion function is called, allowing
+ such functions to present the same interface as `rl_complete()'.
- Variable: int rl_inhibit_completion
If this variable is non-zero, completion is inhibited. The
@@ -3302,15 +3415,458 @@ command names, line editing features, and access to the history list.
}

-File: readline.info, Node: Concept Index, Next: Function and Variable Index, Prev: Programming with GNU Readline, Up: Top
+File: readline.info, Node: Copying This Manual, Next: Concept Index, Prev: Programming with GNU Readline, Up: Top
+
+Copying This Manual
+*******************
+
+* Menu:
+
+* GNU Free Documentation License:: License for copying this manual.
+
+
+File: readline.info, Node: GNU Free Documentation License, Up: Copying This Manual
+
+GNU Free Documentation License
+==============================
+
+ Version 1.2, November 2002
+ Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ 0. PREAMBLE
+
+ The purpose of this License is to make a manual, textbook, or other
+ functional and useful document "free" in the sense of freedom: to
+ assure everyone the effective freedom to copy and redistribute it,
+ with or without modifying it, either commercially or
+ noncommercially. Secondarily, this License preserves for the
+ author and publisher a way to get credit for their work, while not
+ being considered responsible for modifications made by others.
+
+ This License is a kind of "copyleft", which means that derivative
+ works of the document must themselves be free in the same sense.
+ It complements the GNU General Public License, which is a copyleft
+ license designed for free software.
+
+ We have designed this License in order to use it for manuals for
+ free software, because free software needs free documentation: a
+ free program should come with manuals providing the same freedoms
+ that the software does. But this License is not limited to
+ software manuals; it can be used for any textual work, regardless
+ of subject matter or whether it is published as a printed book.
+ We recommend this License principally for works whose purpose is
+ instruction or reference.
+
+ 1. APPLICABILITY AND DEFINITIONS
+
+ This License applies to any manual or other work, in any medium,
+ that contains a notice placed by the copyright holder saying it
+ can be distributed under the terms of this License. Such a notice
+ grants a world-wide, royalty-free license, unlimited in duration,
+ to use that work under the conditions stated herein. The
+ "Document", below, refers to any such manual or work. Any member
+ of the public is a licensee, and is addressed as "you". You
+ accept the license if you copy, modify or distribute the work in a
+ way requiring permission under copyright law.
+
+ A "Modified Version" of the Document means any work containing the
+ Document or a portion of it, either copied verbatim, or with
+ modifications and/or translated into another language.
+
+ A "Secondary Section" is a named appendix or a front-matter section
+ of the Document that deals exclusively with the relationship of the
+ publishers or authors of the Document to the Document's overall
+ subject (or to related matters) and contains nothing that could
+ fall directly within that overall subject. (Thus, if the Document
+ is in part a textbook of mathematics, a Secondary Section may not
+ explain any mathematics.) The relationship could be a matter of
+ historical connection with the subject or with related matters, or
+ of legal, commercial, philosophical, ethical or political position
+ regarding them.
+
+ The "Invariant Sections" are certain Secondary Sections whose
+ titles are designated, as being those of Invariant Sections, in
+ the notice that says that the Document is released under this
+ License. If a section does not fit the above definition of
+ Secondary then it is not allowed to be designated as Invariant.
+ The Document may contain zero Invariant Sections. If the Document
+ does not identify any Invariant Sections then there are none.
+
+ The "Cover Texts" are certain short passages of text that are
+ listed, as Front-Cover Texts or Back-Cover Texts, in the notice
+ that says that the Document is released under this License. A
+ Front-Cover Text may be at most 5 words, and a Back-Cover Text may
+ be at most 25 words.
+
+ A "Transparent" copy of the Document means a machine-readable copy,
+ represented in a format whose specification is available to the
+ general public, that is suitable for revising the document
+ straightforwardly with generic text editors or (for images
+ composed of pixels) generic paint programs or (for drawings) some
+ widely available drawing editor, and that is suitable for input to
+ text formatters or for automatic translation to a variety of
+ formats suitable for input to text formatters. A copy made in an
+ otherwise Transparent file format whose markup, or absence of
+ markup, has been arranged to thwart or discourage subsequent
+ modification by readers is not Transparent. An image format is
+ not Transparent if used for any substantial amount of text. A
+ copy that is not "Transparent" is called "Opaque".
+
+ Examples of suitable formats for Transparent copies include plain
+ ASCII without markup, Texinfo input format, LaTeX input format,
+ SGML or XML using a publicly available DTD, and
+ standard-conforming simple HTML, PostScript or PDF designed for
+ human modification. Examples of transparent image formats include
+ PNG, XCF and JPG. Opaque formats include proprietary formats that
+ can be read and edited only by proprietary word processors, SGML or
+ XML for which the DTD and/or processing tools are not generally
+ available, and the machine-generated HTML, PostScript or PDF
+ produced by some word processors for output purposes only.
+
+ The "Title Page" means, for a printed book, the title page itself,
+ plus such following pages as are needed to hold, legibly, the
+ material this License requires to appear in the title page. For
+ works in formats which do not have any title page as such, "Title
+ Page" means the text near the most prominent appearance of the
+ work's title, preceding the beginning of the body of the text.
+
+ A section "Entitled XYZ" means a named subunit of the Document
+ whose title either is precisely XYZ or contains XYZ in parentheses
+ following text that translates XYZ in another language. (Here XYZ
+ stands for a specific section name mentioned below, such as
+ "Acknowledgements", "Dedications", "Endorsements", or "History".)
+ To "Preserve the Title" of such a section when you modify the
+ Document means that it remains a section "Entitled XYZ" according
+ to this definition.
+
+ The Document may include Warranty Disclaimers next to the notice
+ which states that this License applies to the Document. These
+ Warranty Disclaimers are considered to be included by reference in
+ this License, but only as regards disclaiming warranties: any other
+ implication that these Warranty Disclaimers may have is void and
+ has no effect on the meaning of this License.
+
+ 2. VERBATIM COPYING
+
+ You may copy and distribute the Document in any medium, either
+ commercially or noncommercially, provided that this License, the
+ copyright notices, and the license notice saying this License
+ applies to the Document are reproduced in all copies, and that you
+ add no other conditions whatsoever to those of this License. You
+ may not use technical measures to obstruct or control the reading
+ or further copying of the copies you make or distribute. However,
+ you may accept compensation in exchange for copies. If you
+ distribute a large enough number of copies you must also follow
+ the conditions in section 3.
+
+ You may also lend copies, under the same conditions stated above,
+ and you may publicly display copies.
+
+ 3. COPYING IN QUANTITY
+
+ If you publish printed copies (or copies in media that commonly
+ have printed covers) of the Document, numbering more than 100, and
+ the Document's license notice requires Cover Texts, you must
+ enclose the copies in covers that carry, clearly and legibly, all
+ these Cover Texts: Front-Cover Texts on the front cover, and
+ Back-Cover Texts on the back cover. Both covers must also clearly
+ and legibly identify you as the publisher of these copies. The
+ front cover must present the full title with all words of the
+ title equally prominent and visible. You may add other material
+ on the covers in addition. Copying with changes limited to the
+ covers, as long as they preserve the title of the Document and
+ satisfy these conditions, can be treated as verbatim copying in
+ other respects.
+
+ If the required texts for either cover are too voluminous to fit
+ legibly, you should put the first ones listed (as many as fit
+ reasonably) on the actual cover, and continue the rest onto
+ adjacent pages.
+
+ If you publish or distribute Opaque copies of the Document
+ numbering more than 100, you must either include a
+ machine-readable Transparent copy along with each Opaque copy, or
+ state in or with each Opaque copy a computer-network location from
+ which the general network-using public has access to download
+ using public-standard network protocols a complete Transparent
+ copy of the Document, free of added material. If you use the
+ latter option, you must take reasonably prudent steps, when you
+ begin distribution of Opaque copies in quantity, to ensure that
+ this Transparent copy will remain thus accessible at the stated
+ location until at least one year after the last time you
+ distribute an Opaque copy (directly or through your agents or
+ retailers) of that edition to the public.
+
+ It is requested, but not required, that you contact the authors of
+ the Document well before redistributing any large number of
+ copies, to give them a chance to provide you with an updated
+ version of the Document.
+
+ 4. MODIFICATIONS
+
+ You may copy and distribute a Modified Version of the Document
+ under the conditions of sections 2 and 3 above, provided that you
+ release the Modified Version under precisely this License, with
+ the Modified Version filling the role of the Document, thus
+ licensing distribution and modification of the Modified Version to
+ whoever possesses a copy of it. In addition, you must do these
+ things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title
+ distinct from that of the Document, and from those of
+ previous versions (which should, if there were any, be listed
+ in the History section of the Document). You may use the
+ same title as a previous version if the original publisher of
+ that version gives permission.
+
+ B. List on the Title Page, as authors, one or more persons or
+ entities responsible for authorship of the modifications in
+ the Modified Version, together with at least five of the
+ principal authors of the Document (all of its principal
+ authors, if it has fewer than five), unless they release you
+ from this requirement.
+
+ C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+
+ D. Preserve all the copyright notices of the Document.
+
+ E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+
+ F. Include, immediately after the copyright notices, a license
+ notice giving the public permission to use the Modified
+ Version under the terms of this License, in the form shown in
+ the Addendum below.
+
+ G. Preserve in that license notice the full lists of Invariant
+ Sections and required Cover Texts given in the Document's
+ license notice.
+
+ H. Include an unaltered copy of this License.
+
+ I. Preserve the section Entitled "History", Preserve its Title,
+ and add to it an item stating at least the title, year, new
+ authors, and publisher of the Modified Version as given on
+ the Title Page. If there is no section Entitled "History" in
+ the Document, create one stating the title, year, authors,
+ and publisher of the Document as given on its Title Page,
+ then add an item describing the Modified Version as stated in
+ the previous sentence.
+
+ J. Preserve the network location, if any, given in the Document
+ for public access to a Transparent copy of the Document, and
+ likewise the network locations given in the Document for
+ previous versions it was based on. These may be placed in
+ the "History" section. You may omit a network location for a
+ work that was published at least four years before the
+ Document itself, or if the original publisher of the version
+ it refers to gives permission.
+
+ K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the
+ section all the substance and tone of each of the contributor
+ acknowledgements and/or dedications given therein.
+
+ L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section
+ titles.
+
+ M. Delete any section Entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+
+ N. Do not retitle any existing section to be Entitled
+ "Endorsements" or to conflict in title with any Invariant
+ Section.
+
+ O. Preserve any Warranty Disclaimers.
+
+ If the Modified Version includes new front-matter sections or
+ appendices that qualify as Secondary Sections and contain no
+ material copied from the Document, you may at your option
+ designate some or all of these sections as invariant. To do this,
+ add their titles to the list of Invariant Sections in the Modified
+ Version's license notice. These titles must be distinct from any
+ other section titles.
+
+ You may add a section Entitled "Endorsements", provided it contains
+ nothing but endorsements of your Modified Version by various
+ parties--for example, statements of peer review or that the text
+ has been approved by an organization as the authoritative
+ definition of a standard.
+
+ You may add a passage of up to five words as a Front-Cover Text,
+ and a passage of up to 25 words as a Back-Cover Text, to the end
+ of the list of Cover Texts in the Modified Version. Only one
+ passage of Front-Cover Text and one of Back-Cover Text may be
+ added by (or through arrangements made by) any one entity. If the
+ Document already includes a cover text for the same cover,
+ previously added by you or by arrangement made by the same entity
+ you are acting on behalf of, you may not add another; but you may
+ replace the old one, on explicit permission from the previous
+ publisher that added the old one.
+
+ The author(s) and publisher(s) of the Document do not by this
+ License give permission to use their names for publicity for or to
+ assert or imply endorsement of any Modified Version.
+
+ 5. COMBINING DOCUMENTS
+
+ You may combine the Document with other documents released under
+ this License, under the terms defined in section 4 above for
+ modified versions, provided that you include in the combination
+ all of the Invariant Sections of all of the original documents,
+ unmodified, and list them all as Invariant Sections of your
+ combined work in its license notice, and that you preserve all
+ their Warranty Disclaimers.
+
+ The combined work need only contain one copy of this License, and
+ multiple identical Invariant Sections may be replaced with a single
+ copy. If there are multiple Invariant Sections with the same name
+ but different contents, make the title of each such section unique
+ by adding at the end of it, in parentheses, the name of the
+ original author or publisher of that section if known, or else a
+ unique number. Make the same adjustment to the section titles in
+ the list of Invariant Sections in the license notice of the
+ combined work.
+
+ In the combination, you must combine any sections Entitled
+ "History" in the various original documents, forming one section
+ Entitled "History"; likewise combine any sections Entitled
+ "Acknowledgements", and any sections Entitled "Dedications". You
+ must delete all sections Entitled "Endorsements."
+
+ 6. COLLECTIONS OF DOCUMENTS
+
+ You may make a collection consisting of the Document and other
+ documents released under this License, and replace the individual
+ copies of this License in the various documents with a single copy
+ that is included in the collection, provided that you follow the
+ rules of this License for verbatim copying of each of the
+ documents in all other respects.
+
+ You may extract a single document from such a collection, and
+ distribute it individually under this License, provided you insert
+ a copy of this License into the extracted document, and follow
+ this License in all other respects regarding verbatim copying of
+ that document.
+
+ 7. AGGREGATION WITH INDEPENDENT WORKS
+
+ A compilation of the Document or its derivatives with other
+ separate and independent documents or works, in or on a volume of
+ a storage or distribution medium, is called an "aggregate" if the
+ copyright resulting from the compilation is not used to limit the
+ legal rights of the compilation's users beyond what the individual
+ works permit. When the Document is included an aggregate, this
+ License does not apply to the other works in the aggregate which
+ are not themselves derivative works of the Document.
+
+ If the Cover Text requirement of section 3 is applicable to these
+ copies of the Document, then if the Document is less than one half
+ of the entire aggregate, the Document's Cover Texts may be placed
+ on covers that bracket the Document within the aggregate, or the
+ electronic equivalent of covers if the Document is in electronic
+ form. Otherwise they must appear on printed covers that bracket
+ the whole aggregate.
+
+ 8. TRANSLATION
+
+ Translation is considered a kind of modification, so you may
+ distribute translations of the Document under the terms of section
+ 4. Replacing Invariant Sections with translations requires special
+ permission from their copyright holders, but you may include
+ translations of some or all Invariant Sections in addition to the
+ original versions of these Invariant Sections. You may include a
+ translation of this License, and all the license notices in the
+ Document, and any Warranty Disclaimers, provided that you also
+ include the original English version of this License and the
+ original versions of those notices and disclaimers. In case of a
+ disagreement between the translation and the original version of
+ this License or a notice or disclaimer, the original version will
+ prevail.
+
+ If a section in the Document is Entitled "Acknowledgements",
+ "Dedications", or "History", the requirement (section 4) to
+ Preserve its Title (section 1) will typically require changing the
+ actual title.
+
+ 9. TERMINATION
+
+ You may not copy, modify, sublicense, or distribute the Document
+ except as expressly provided for under this License. Any other
+ attempt to copy, modify, sublicense or distribute the Document is
+ void, and will automatically terminate your rights under this
+ License. However, parties who have received copies, or rights,
+ from you under this License will not have their licenses
+ terminated so long as such parties remain in full compliance.
+
+ 10. FUTURE REVISIONS OF THIS LICENSE
+
+ The Free Software Foundation may publish new, revised versions of
+ the GNU Free Documentation License from time to time. Such new
+ versions will be similar in spirit to the present version, but may
+ differ in detail to address new problems or concerns. See
+ `http://www.gnu.org/copyleft/'.
+
+ Each version of the License is given a distinguishing version
+ number. If the Document specifies that a particular numbered
+ version of this License "or any later version" applies to it, you
+ have the option of following the terms and conditions either of
+ that specified version or of any later version that has been
+ published (not as a draft) by the Free Software Foundation. If
+ the Document does not specify a version number of this License,
+ you may choose any version ever published (not as a draft) by the
+ Free Software Foundation.
+
+ADDENDUM: How to use this License for your documents
+----------------------------------------------------
+
+ To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and license
+notices just after the title page:
+
+ Copyright (C) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.2
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+
+ If you have Invariant Sections, Front-Cover Texts and Back-Cover
+Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with
+ the Front-Cover Texts being LIST, and with the Back-Cover Texts
+ being LIST.
+
+ If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+ If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License, to
+permit their use in free software.
+
+
+File: readline.info, Node: Concept Index, Next: Function and Variable Index, Prev: Copying This Manual, Up: Top
Concept Index
*************
* Menu:
+* application-specific completion functions: Custom Completers.
* command editing: Readline Bare Essentials.
* editing command lines: Readline Bare Essentials.
+* FDL, GNU Free Documentation License: GNU Free Documentation License.
* initialization file, readline: Readline Init File.
* interaction, readline: Readline Interaction.
* kill ring: Readline Killing Commands.
@@ -3421,7 +3977,13 @@ Function and Variable Index
* rl_basic_word_break_characters: Completion Variables.
* rl_begin_undo_group: Allowing Undoing.
* rl_bind_key: Binding Keys.
+* rl_bind_key_if_unbound: Binding Keys.
+* rl_bind_key_if_unbound_in_map: Binding Keys.
* rl_bind_key_in_map: Binding Keys.
+* rl_bind_keyseq: Binding Keys.
+* rl_bind_keyseq_if_unbound: Binding Keys.
+* rl_bind_keyseq_if_unbound_in_map: Binding Keys.
+* rl_bind_keyseq_in_map: Binding Keys.
* rl_binding_keymap: Readline Variables.
* rl_callback_handler_install: Alternate Interface.
* rl_callback_handler_remove: Alternate Interface.
@@ -3442,12 +4004,16 @@ Function and Variable Index
* rl_completion_display_matches_hook: Completion Variables.
* rl_completion_entry_function <1>: Completion Variables.
* rl_completion_entry_function: How Completing Works.
+* rl_completion_found_quote: Completion Variables.
* rl_completion_mark_symlink_dirs: Completion Variables.
* rl_completion_matches: Completion Functions.
* rl_completion_mode: Completion Functions.
* rl_completion_query_items: Completion Variables.
+* rl_completion_quote_character: Completion Variables.
* rl_completion_suppress_append: Completion Variables.
+* rl_completion_suppress_quote: Completion Variables.
* rl_completion_type: Completion Variables.
+* rl_completion_word_break_hook: Completion Variables.
* rl_copy_keymap: Keymaps.
* rl_copy_text: Modifying Text.
* rl_crlf: Redisplay.
@@ -3556,6 +4122,7 @@ Function and Variable Index
* rl_stuff_char: Character Input.
* rl_terminal_name: Readline Variables.
* rl_tty_set_default_bindings: Terminal Management.
+* rl_tty_unset_default_bindings: Terminal Management.
* rl_unbind_command_in_map: Binding Keys.
* rl_unbind_function_in_map: Binding Keys.
* rl_unbind_key: Binding Keys.
@@ -3566,11 +4133,13 @@ Function and Variable Index
* self-insert (a, b, A, 1, !, ...): Commands For Text.
* set-mark (C-@): Miscellaneous Commands.
* show-all-if-ambiguous: Readline Init File Syntax.
+* show-all-if-unmodified: Readline Init File Syntax.
* start-kbd-macro (C-x (): Keyboard Macros.
* transpose-chars (C-t): Commands For Text.
* transpose-words (M-t): Commands For Text.
* undo (C-_ or C-x C-u): Miscellaneous Commands.
* universal-argument (): Numeric Arguments.
+* unix-filename-rubout (): Commands For Killing.
* unix-line-discard (C-u): Commands For Killing.
* unix-word-rubout (C-w): Commands For Killing.
* upcase-word (M-u): Commands For Text.
@@ -3583,56 +4152,58 @@ Function and Variable Index

Tag Table:
-Node: Top1164
-Node: Command Line Editing1763
-Node: Introduction and Notation2414
-Node: Readline Interaction4032
-Node: Readline Bare Essentials5219
-Node: Readline Movement Commands7000
-Node: Readline Killing Commands7957
-Node: Readline Arguments9866
-Node: Searching10902
-Node: Readline Init File13045
-Node: Readline Init File Syntax14106
-Node: Conditional Init Constructs24989
-Node: Sample Init File27514
-Node: Bindable Readline Commands30698
-Node: Commands For Moving31748
-Node: Commands For History32597
-Node: Commands For Text35455
-Node: Commands For Killing38169
-Node: Numeric Arguments40120
-Node: Commands For Completion41248
-Node: Keyboard Macros42780
-Node: Miscellaneous Commands43339
-Node: Readline vi Mode46688
-Node: Programming with GNU Readline48506
-Node: Basic Behavior49474
-Node: Custom Functions52904
-Node: Readline Typedefs54382
-Node: Function Writing56011
-Node: Readline Variables57219
-Node: Readline Convenience Functions66642
-Node: Function Naming67624
-Node: Keymaps68876
-Node: Binding Keys70632
-Node: Associating Function Names and Bindings73558
-Node: Allowing Undoing75803
-Node: Redisplay78338
-Node: Modifying Text81409
-Node: Character Input82638
-Node: Terminal Management84418
-Node: Utility Functions85593
-Node: Miscellaneous Functions87932
-Node: Alternate Interface89996
-Node: A Readline Example92141
-Node: Readline Signal Handling94078
-Node: Custom Completers99681
-Node: How Completing Works100396
-Node: Completion Functions103394
-Node: Completion Variables106778
-Node: A Short Completion Example117049
-Node: Concept Index129602
-Node: Function and Variable Index130424
+Node: Top1336
+Node: Command Line Editing1977
+Node: Introduction and Notation2628
+Node: Readline Interaction4246
+Node: Readline Bare Essentials5433
+Node: Readline Movement Commands7214
+Node: Readline Killing Commands8171
+Node: Readline Arguments10081
+Node: Searching11117
+Node: Readline Init File13260
+Node: Readline Init File Syntax14321
+Node: Conditional Init Constructs25684
+Node: Sample Init File28209
+Node: Bindable Readline Commands31393
+Node: Commands For Moving32443
+Node: Commands For History33293
+Node: Commands For Text36152
+Node: Commands For Killing38867
+Node: Numeric Arguments40998
+Node: Commands For Completion42126
+Node: Keyboard Macros43659
+Node: Miscellaneous Commands44219
+Node: Readline vi Mode47569
+Node: Programming with GNU Readline49387
+Node: Basic Behavior50361
+Node: Custom Functions53791
+Node: Readline Typedefs55269
+Node: Function Writing56899
+Node: Readline Variables58107
+Node: Readline Convenience Functions67530
+Node: Function Naming68512
+Node: Keymaps69764
+Node: Binding Keys71520
+Node: Associating Function Names and Bindings76042
+Node: Allowing Undoing78287
+Node: Redisplay80822
+Node: Modifying Text84256
+Node: Character Input85485
+Node: Terminal Management87265
+Node: Utility Functions88684
+Node: Miscellaneous Functions91023
+Node: Alternate Interface93087
+Node: A Readline Example95232
+Node: Readline Signal Handling97169
+Node: Custom Completers102772
+Node: How Completing Works103487
+Node: Completion Functions106790
+Node: Completion Variables110345
+Node: A Short Completion Example122415
+Node: Copying This Manual134968
+Node: GNU Free Documentation License135208
+Node: Concept Index157602
+Node: Function and Variable Index158551

End Tag Table