diff options
Diffstat (limited to 'readline/history.texinfo')
-rwxr-xr-x | readline/history.texinfo | 194 |
1 files changed, 0 insertions, 194 deletions
diff --git a/readline/history.texinfo b/readline/history.texinfo deleted file mode 100755 index 1e619e1..0000000 --- a/readline/history.texinfo +++ /dev/null @@ -1,194 +0,0 @@ -\input texinfo.tex -@setfilename history.info - -@ifinfo -This file documents the GNU History library. - -Copyright (C) 1988 Free Software Foundation, Inc. -Authored by Brian Fox. - -Permission is granted to make and distribute verbatim copies of this manual -provided the copyright notice and this permission notice are preserved on -all copies. - -@ignore -Permission is granted to process this file through Tex and print the -results, provided the printed document carries copying permission notice -identical to this one except for the removal of this paragraph (this -paragraph not being relevant to the printed manual). -@end ignore - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided also that the -GNU Copyright statement is available to the distributee, and 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. -@end ifinfo - -@node Top, Introduction, , (DIR) - -This document describes the GNU History library, a programming tool that -provides a consistent user interface for recalling lines of previously -typed input. - -@menu -* Introduction:: What is the GNU History library for? -* Interactive Use:: What it feels like using History as a user. -* Programming:: How to use History in your programs. -@end menu - -@node Introduction, Interactive Use, , Top -@unnumbered Introduction - -Many programs read input from the user a line at a time. The GNU history -library is able to keep track of those lines, associate arbitrary data with -each line, and utilize information from previous lines in making up new -ones. - -The programmer using the History library has available to him functions for -remembering lines on a history stack, associating arbitrary data with a -line, removing lines from the stack, searching through the stack for a -line containing an arbitrary text string, and referencing any line on the -stack directly. In addition, a history @dfn{expansion} function is -available which provides for a consistent user interface across many -different programs. - -The end-user using programs written with the History library has the -benifit of a consistent user interface, with a set of well-known commands -for manipulating the text of previous lines and using that text in new -commands. The basic history manipulation commands are similar to the -history substitution used by Csh. - -If the programmer desires, he can use the Readline library, which includes -history manipulation by default, and has the added advantage of Emacs style -command line editing. - -@node Interactive Use, Programming, Introduction, Top -@chapter Interactive Use - -@section History Expansion -@cindex expansion - -The History library provides a history expansion feature that is similar to -the history expansion in Csh. The following text describes what syntax -features are available. - -History expansion takes place in two parts. The first is to determine -which line from the previous history should be used during substitution. -The second is to select portions of that line for inclusion into the -current one. The line selected from the previous history is called the -@dfn{event}, and the portions of that line that are acted upon are called -@dfn{words}. The line is broken into words in the same fashion that the -Bash shell does, so that several English (or Unix) words surrounded by -quotes are considered as one word. - -@menu -* Event Designators:: How to specify which history line to use. -* Word Designators:: Specifying which words are of interest. -* Modifiers:: Modifying the results of susbstitution. -@end menu - -@node Event Designators, Word Designators, , Interactive Use -@subsection Event Designators -@cindex event designators - -An event designator is a reference to a command line entry in the history -list. - -@table @var - -@item ! -Start a history subsititution, except when followed by a @key{SPC}, -@key{TAB}, @key{RET}, @key{=} or @key{(}. - -@item !! -Refer to the previous command. This is a synonym for @code{!-1}. - -@item !n -Refer to command line @var{n}. - -@item !-n -Refer to the current command line minus @var{n}. - -@item !string -Refer to the most recent command starting with @var{string}. - -@item !?string[?] -Refer to the most recent command containing @var{string}. - -@end table - -@node Word Designators, Modifiers, Event Designators, Interactive Use -@subsection Word Designators - -A @key{:} separates the event specification from the word designator. It -can be omitted if the word designator begins with a @key{^}, @key{$}, -@key{*} or @key{%}. Words are numbered from the beginning of the line, -with the first word being denoted by a 0 (zero). - -@table @asis - -@item @var{0} (zero) -The zero'th word. For many applications, this is the command word. - -@item n -The @var{n}'th word. - -@item @var{^} -The first argument. that is, word 1. - -@item @var{$} -The last argument. - -@item @var{%} -The word matched by the most recent @code{?string?} search. - -@item @var{x}-@var{y} -A range of words; @code{-@var{y}} is equivalent to @code{0-@var{y}}. - -@item @var{*} -All of the words, excepting the zero'th. This is a synonym for @samp{1-$}. -It is not an error to use @samp{*} if there is just one word in the event. -The empty string is returned in that case. - -@end table - -@node Modifiers, , Word Designators, Interactive Use -@subsection Modifiers - -After the optional word designator, you can add a sequence of one or more -of the following modifiers, each preceded by a @key{:}. - -@table @code - -@item # -The entire command line typed so far. This means the current command, -not the previous command, so it really isn't a word designator, and doesn't -belong in this section. - -@item h -Remove a trailing pathname component, leaving only the head. - -@item r -Remove a trailing suffix of the form ".xxx", leaving the basename (root). - -@item e -Remove all but the suffix (end). - -@item t -Remove all leading pathname components (before the last slash), leaving -the tail. - -@item p -Print the new command but do not execute it. This takes effect -immediately, so it should be the last specifier on the line. - -@end table - -@node Programming, , Interactive Use, Top -@chapter Programming - -@bye |