Additional PR 8882 fix.
[deliverable/binutils-gdb.git] / readline / doc / readline.3
CommitLineData
d60d9f65
SS
1.\"
2.\" MAN PAGE COMMENTS to
3.\"
4.\" Chet Ramey
5.\" Information Network Services
6.\" Case Western Reserve University
7.\" chet@ins.CWRU.Edu
8.\"
cc88a640 9.\" Last Change: Sat Aug 28 18:56:32 EDT 2010
d60d9f65 10.\"
cc88a640 11.TH READLINE 3 "2010 August 28" "GNU Readline 6.2"
d60d9f65
SS
12.\"
13.\" File Name macro. This used to be `.PN', for Path Name,
14.\" but Sun doesn't seem to like that very much.
15.\"
16.de FN
17\fI\|\\$1\|\fP
18..
19.SH NAME
20readline \- get a line from a user with editing
21.SH SYNOPSIS
22.LP
23.nf
24.ft B
c862e87b 25#include <stdio.h>
9255ee31
EZ
26#include <readline/readline.h>
27#include <readline/history.h>
d60d9f65
SS
28.ft
29.fi
30.LP
31.nf
9255ee31
EZ
32\fIchar *\fP
33.br
34\fBreadline\fP (\fIconst char *prompt\fP);
d60d9f65
SS
35.fi
36.SH COPYRIGHT
cc88a640
JK
37.if n Readline is Copyright (C) 1989\-2011 Free Software Foundation, Inc.
38.if t Readline is Copyright \(co 1989\-2011 Free Software Foundation, Inc.
d60d9f65
SS
39.SH DESCRIPTION
40.LP
41.B readline
42will read a line from the terminal
43and return it, using
44.B prompt
45as a prompt. If
46.B prompt
9255ee31
EZ
47is \fBNULL\fP or the empty string, no prompt is issued.
48The line returned is allocated with
49.IR malloc (3);
50the caller must free it when finished. The line returned
d60d9f65
SS
51has the final newline removed, so only the text of the line
52remains.
53.LP
54.B readline
55offers editing capabilities while the user is entering the
56line.
57By default, the line editing commands
58are similar to those of emacs.
59A vi\-style line editing interface is also available.
9255ee31
EZ
60.LP
61This manual page describes only the most basic use of \fBreadline\fP.
62Much more functionality is available; see
63\fIThe GNU Readline Library\fP and \fIThe GNU History Library\fP
64for additional information.
d60d9f65
SS
65.SH RETURN VALUE
66.LP
67.B readline
68returns the text of the line read. A blank line
69returns the empty string. If
70.B EOF
71is encountered while reading a line, and the line is empty,
72.B NULL
73is returned. If an
74.B EOF
75is read with a non\-empty line, it is
76treated as a newline.
77.SH NOTATION
78.LP
cc88a640 79An Emacs-style notation is used to denote
d60d9f65
SS
80keystrokes. Control keys are denoted by C\-\fIkey\fR, e.g., C\-n
81means Control\-N. Similarly,
82.I meta
83keys are denoted by M\-\fIkey\fR, so M\-x means Meta\-X. (On keyboards
84without a
85.I meta
86key, M\-\fIx\fP means ESC \fIx\fP, i.e., press the Escape key
87then the
88.I x
89key. This makes ESC the \fImeta prefix\fP.
90The combination M\-C\-\fIx\fP means ESC\-Control\-\fIx\fP,
91or press the Escape key
92then hold the Control key while pressing the
93.I x
94key.)
95.PP
96Readline commands may be given numeric
97.IR arguments ,
98which normally act as a repeat count. Sometimes, however, it is the
99sign of the argument that is significant. Passing a negative argument
100to a command that acts in the forward direction (e.g., \fBkill\-line\fP)
101causes that command to act in a backward direction. Commands whose
102behavior with arguments deviates from this are noted.
103.PP
104When a command is described as \fIkilling\fP text, the text
105deleted is saved for possible future retrieval
106(\fIyanking\fP). The killed text is saved in a
107\fIkill ring\fP. Consecutive kills cause the text to be
108accumulated into one unit, which can be yanked all at once.
109Commands which do not kill text separate the chunks of text
110on the kill ring.
111.SH INITIALIZATION FILE
112.LP
113Readline is customized by putting commands in an initialization
114file (the \fIinputrc\fP file).
115The name of this file is taken from the value of the
116.B INPUTRC
117environment variable. If that variable is unset, the default is
118.IR ~/.inputrc .
cc88a640
JK
119If that file does not exist or cannot be read, the ultimate default is
120.IR /etc/inputrc .
d60d9f65
SS
121When a program which uses the readline library starts up, the
122init file is read, and the key bindings and variables are set.
123There are only a few basic constructs allowed in the
124readline init file. Blank lines are ignored.
125Lines beginning with a \fB#\fP are comments.
126Lines beginning with a \fB$\fP indicate conditional constructs.
127Other lines denote key bindings and variable settings.
128Each program using this library may add its own commands
129and bindings.
130.PP
131For example, placing
132.RS
133.PP
134M\-Control\-u: universal\-argument
135.RE
136or
137.RS
138C\-Meta\-u: universal\-argument
139.RE
9255ee31 140.sp
d60d9f65
SS
141into the
142.I inputrc
143would make M\-C\-u execute the readline command
144.IR universal\-argument .
145.PP
146The following symbolic character names are recognized while
147processing key bindings:
d60d9f65
SS
148.IR DEL ,
149.IR ESC ,
9255ee31 150.IR ESCAPE ,
d60d9f65
SS
151.IR LFD ,
152.IR NEWLINE ,
153.IR RET ,
154.IR RETURN ,
9255ee31 155.IR RUBOUT ,
d60d9f65 156.IR SPACE ,
9255ee31 157.IR SPC ,
d60d9f65
SS
158and
159.IR TAB .
1b17e766 160.PP
d60d9f65
SS
161In addition to command names, readline allows keys to be bound
162to a string that is inserted when the key is pressed (a \fImacro\fP).
163.PP
164.SS Key Bindings
165.PP
166The syntax for controlling key bindings in the
167.I inputrc
168file is simple. All that is required is the name of the
169command or the text of a macro and a key sequence to which
170it should be bound. The name may be specified in one of two ways:
171as a symbolic key name, possibly with \fIMeta\-\fP or \fIControl\-\fP
172prefixes, or as a key sequence.
cc88a640
JK
173The name and key sequence are separated by a colon. There can be no
174whitespace between the name and the colon.
9255ee31 175.PP
d60d9f65
SS
176When using the form \fBkeyname\fP:\^\fIfunction-name\fP or \fImacro\fP,
177.I keyname
178is the name of a key spelled out in English. For example:
179.sp
180.RS
181Control\-u: universal\-argument
182.br
183Meta\-Rubout: backward\-kill\-word
184.br
9255ee31 185Control\-o: "> output"
d60d9f65
SS
186.RE
187.LP
188In the above example,
189.I C\-u
190is bound to the function
191.BR universal\-argument ,
192.I M-DEL
193is bound to the function
194.BR backward\-kill\-word ,
195and
196.I C\-o
197is bound to run the macro
198expressed on the right hand side (that is, to insert the text
9255ee31
EZ
199.if t \f(CW> output\fP
200.if n ``> output''
d60d9f65
SS
201into the line).
202.PP
203In the second form, \fB"keyseq"\fP:\^\fIfunction\-name\fP or \fImacro\fP,
204.B keyseq
205differs from
206.B keyname
207above in that strings denoting
208an entire key sequence may be specified by placing the sequence
209within double quotes. Some GNU Emacs style key escapes can be
9255ee31
EZ
210used, as in the following example, but the symbolic character names
211are not recognized.
d60d9f65
SS
212.sp
213.RS
214"\eC\-u": universal\-argument
215.br
216"\eC\-x\eC\-r": re\-read\-init\-file
217.br
218"\ee[11~": "Function Key 1"
219.RE
220.PP
221In this example,
222.I C-u
223is again bound to the function
224.BR universal\-argument .
225.I "C-x C-r"
226is bound to the function
227.BR re\-read\-init\-file ,
228and
229.I "ESC [ 1 1 ~"
230is bound to insert the text
9255ee31
EZ
231.if t \f(CWFunction Key 1\fP.
232.if n ``Function Key 1''.
233.PP
234The full set of GNU Emacs style escape sequences available when specifying
235key sequences is
d60d9f65
SS
236.RS
237.PD 0
238.TP
239.B \eC\-
240control prefix
241.TP
242.B \eM\-
243meta prefix
244.TP
245.B \ee
246an escape character
247.TP
248.B \e\e
249backslash
250.TP
251.B \e"
9255ee31 252literal ", a double quote
d60d9f65
SS
253.TP
254.B \e'
9255ee31 255literal ', a single quote
d60d9f65
SS
256.RE
257.PD
258.PP
259In addition to the GNU Emacs style escape sequences, a second
260set of backslash escapes is available:
261.RS
262.PD 0
263.TP
264.B \ea
265alert (bell)
266.TP
267.B \eb
268backspace
269.TP
270.B \ed
271delete
272.TP
273.B \ef
274form feed
275.TP
276.B \en
277newline
278.TP
279.B \er
280carriage return
281.TP
282.B \et
283horizontal tab
284.TP
285.B \ev
286vertical tab
287.TP
288.B \e\fInnn\fP
9255ee31 289the eight-bit character whose value is the octal value \fInnn\fP
d60d9f65
SS
290(one to three digits)
291.TP
9255ee31
EZ
292.B \ex\fIHH\fP
293the eight-bit character whose value is the hexadecimal value \fIHH\fP
294(one or two hex digits)
d60d9f65
SS
295.RE
296.PD
297.PP
298When entering the text of a macro, single or double quotes should
299be used to indicate a macro definition. Unquoted text
300is assumed to be a function name.
301In the macro body, the backslash escapes described above are expanded.
302Backslash will quote any other character in the macro text,
303including " and '.
304.PP
305.B Bash
306allows the current readline key bindings to be displayed or modified
307with the
308.B bind
309builtin command. The editing mode may be switched during interactive
310use by using the
311.B \-o
312option to the
313.B set
314builtin command. Other programs using this library provide
315similar mechanisms. The
316.I inputrc
317file may be edited and re-read if a program does not provide
318any other means to incorporate new bindings.
319.SS Variables
320.PP
321Readline has variables that can be used to further customize its
322behavior. A variable may be set in the
323.I inputrc
324file with a statement of the form
325.RS
326.PP
327\fBset\fP \fIvariable\-name\fP \fIvalue\fP
328.RE
329.PP
330Except where noted, readline variables can take the values
331.B On
332or
9255ee31
EZ
333.B Off
334(without regard to case).
5bdf8622
DJ
335Unrecognized variable names are ignored.
336When a variable value is read, empty or null values, "on" (case-insensitive),
337and "1" are equivalent to \fBOn\fP. All other values are equivalent to
338\fBOff\fP.
d60d9f65
SS
339The variables and their default values are:
340.PP
341.PD 0
342.TP
343.B bell\-style (audible)
344Controls what happens when readline wants to ring the terminal bell.
345If set to \fBnone\fP, readline never rings the bell. If set to
346\fBvisible\fP, readline uses a visible bell if one is available.
347If set to \fBaudible\fP, readline attempts to ring the terminal's bell.
348.TP
5bdf8622
DJ
349.B bind\-tty\-special\-chars (On)
350If set to \fBOn\fP, readline attempts to bind the control characters
351treated specially by the kernel's terminal driver to their readline
352equivalents.
353.TP
d60d9f65
SS
354.B comment\-begin (``#'')
355The string that is inserted in \fBvi\fP mode when the
356.B insert\-comment
357command is executed.
358This command is bound to
359.B M\-#
360in emacs mode and to
361.B #
362in vi command mode.
cc88a640
JK
363.TP
364.B completion\-display\-width (-1)
365The number of screen columns used to display possible matches
366when performing completion.
367The value is ignored if it is less than 0 or greater than the terminal
368screen width.
369A value of 0 will cause matches to be displayed one per line.
370The default value is -1.
d60d9f65
SS
371.TP
372.B completion\-ignore\-case (Off)
373If set to \fBOn\fP, readline performs filename matching and completion
374in a case\-insensitive fashion.
375.TP
cc88a640
JK
376.B completion\-map\-case (Off)
377If set to \fBOn\fP, and \fBcompletion\-ignore\-case\fP is enabled, readline
378treats hyphens (\fI\-\fP) and underscores (\fI_\fP) as equivalent when
379performing case\-insensitive filename matching and completion.
380.TP
381.B completion\-prefix\-display\-length (0)
382The length in characters of the common prefix of a list of possible
383completions that is displayed without modification. When set to a
384value greater than zero, common prefixes longer than this value are
385replaced with an ellipsis when displaying possible completions.
386.TP
d60d9f65
SS
387.B completion\-query\-items (100)
388This determines when the user is queried about viewing
389the number of possible completions
390generated by the \fBpossible\-completions\fP command.
391It may be set to any integer value greater than or equal to
392zero. If the number of possible completions is greater than
393or equal to the value of this variable, the user is asked whether
394or not he wishes to view them; otherwise they are simply listed
5bdf8622 395on the terminal. A negative value causes readline to never ask.
d60d9f65
SS
396.TP
397.B convert\-meta (On)
398If set to \fBOn\fP, readline will convert characters with the
399eighth bit set to an ASCII key sequence
9255ee31 400by stripping the eighth bit and prefixing it with an
d60d9f65
SS
401escape character (in effect, using escape as the \fImeta prefix\fP).
402.TP
403.B disable\-completion (Off)
404If set to \fBOn\fP, readline will inhibit word completion. Completion
405characters will be inserted into the line as if they had been
406mapped to \fBself-insert\fP.
407.TP
408.B editing\-mode (emacs)
409Controls whether readline begins with a set of key bindings similar
cc88a640 410to \fIEmacs\fP or \fIvi\fP.
d60d9f65
SS
411.B editing\-mode
412can be set to either
413.B emacs
414or
415.BR vi .
416.TP
cc88a640
JK
417.B echo\-control\-characters (On)
418When set to \fBOn\fP, on operating systems that indicate they support it,
419readline echoes a character corresponding to a signal generated from the
420keyboard.
421.TP
d60d9f65
SS
422.B enable\-keypad (Off)
423When set to \fBOn\fP, readline will try to enable the application
424keypad when it is called. Some systems need this to enable the
425arrow keys.
426.TP
cc88a640
JK
427.B enable\-meta\-key (On)
428When set to \fBOn\fP, readline will try to enable any meta modifier
429key the terminal claims to support when it is called. On many terminals,
430the meta key is used to send eight-bit characters.
431.TP
d60d9f65 432.B expand\-tilde (Off)
cc88a640 433If set to \fBOn\fP, tilde expansion is performed when readline
d60d9f65
SS
434attempts word completion.
435.TP
5bdf8622 436.B history\-preserve\-point (Off)
cc88a640 437If set to \fBOn\fP, the history code attempts to place point at the
5bdf8622 438same location on each history line retrieved with \fBprevious-history\fP
9255ee31
EZ
439or \fBnext-history\fP.
440.TP
cc88a640
JK
441.B history\-size (0)
442Set the maximum number of history entries saved in the history list. If
443set to zero, the number of entries in the history list is not limited.
444.TP
d60d9f65
SS
445.B horizontal\-scroll\-mode (Off)
446When set to \fBOn\fP, makes readline use a single line for display,
447scrolling the input horizontally on a single screen line when it
448becomes longer than the screen width rather than wrapping to a new line.
449.TP
c862e87b
JM
450.B input\-meta (Off)
451If set to \fBOn\fP, readline will enable eight-bit input (that is,
9255ee31 452it will not clear the eighth bit in the characters it reads),
c862e87b
JM
453regardless of what the terminal claims it can support. The name
454.B meta\-flag
455is a synonym for this variable.
456.TP
9255ee31 457.B isearch\-terminators (``C\-[ C\-J'')
c862e87b
JM
458The string of characters that should terminate an incremental
459search without subsequently executing the character as a command.
460If this variable has not been given a value, the characters
461\fIESC\fP and \fIC\-J\fP will terminate an incremental search.
462.TP
d60d9f65
SS
463.B keymap (emacs)
464Set the current readline keymap. The set of legal keymap names is
465\fIemacs, emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,
466vi-command\fP, and
467.IR vi-insert .
468\fIvi\fP is equivalent to \fIvi-command\fP; \fIemacs\fP is
469equivalent to \fIemacs-standard\fP. The default value is
9255ee31
EZ
470.IR emacs .
471The value of
d60d9f65
SS
472.B editing\-mode
473also affects the default keymap.
474.TP
475.B mark\-directories (On)
9255ee31 476If set to \fBOn\fP, completed directory names have a slash
d60d9f65
SS
477appended.
478.TP
479.B mark\-modified\-lines (Off)
480If set to \fBOn\fP, history lines that have been modified are displayed
481with a preceding asterisk (\fB*\fP).
482.TP
9255ee31
EZ
483.B mark\-symlinked\-directories (Off)
484If set to \fBOn\fP, completed names which are symbolic links to directories
485have a slash appended (subject to the value of
486\fBmark\-directories\fP).
487.TP
488.B match\-hidden\-files (On)
489This variable, when set to \fBOn\fP, causes readline to match files whose
490names begin with a `.' (hidden files) when performing filename
cc88a640
JK
491completion.
492If set to \fBOff\fP, the leading `.' must be
9255ee31
EZ
493supplied by the user in the filename to be completed.
494.TP
cc88a640
JK
495.B menu\-complete\-display\-prefix (Off)
496If set to \fBOn\fP, menu completion displays the common prefix of the
497list of possible completions (which may be empty) before cycling through
498the list.
499.TP
d60d9f65
SS
500.B output\-meta (Off)
501If set to \fBOn\fP, readline will display characters with the
502eighth bit set directly rather than as a meta-prefixed escape
503sequence.
504.TP
9255ee31
EZ
505.B page\-completions (On)
506If set to \fBOn\fP, readline uses an internal \fImore\fP-like pager
507to display a screenful of possible completions at a time.
508.TP
d60d9f65
SS
509.B print\-completions\-horizontally (Off)
510If set to \fBOn\fP, readline will display completions with matches
511sorted horizontally in alphabetical order, rather than down the screen.
512.TP
cc88a640
JK
513.B revert\-all\-at\-newline (Off)
514If set to \fBOn\fP, readline will undo all changes to history lines
515before returning when \fBaccept\-line\fP is executed. By default,
516history lines may be modified and retain individual undo lists across
517calls to \fBreadline\fP.
518.TP
d60d9f65
SS
519.B show\-all\-if\-ambiguous (Off)
520This alters the default behavior of the completion functions. If
521set to
cc88a640 522.BR On ,
d60d9f65
SS
523words which have more than one possible completion cause the
524matches to be listed immediately instead of ringing the bell.
525.TP
5bdf8622
DJ
526.B show\-all\-if\-unmodified (Off)
527This alters the default behavior of the completion functions in
528a fashion similar to \fBshow\-all\-if\-ambiguous\fP.
529If set to
cc88a640 530.BR On ,
5bdf8622
DJ
531words which have more than one possible completion without any
532possible partial completion (the possible completions don't share
533a common prefix) cause the matches to be listed immediately instead
534of ringing the bell.
535.TP
cc88a640
JK
536.B skip\-completed\-text (Off)
537If set to \fBOn\fP, this alters the default completion behavior when
538inserting a single match into the line. It's only active when
539performing completion in the middle of a word. If enabled, readline
540does not insert characters from the completion that match characters
541after point in the word being completed, so portions of the word
542following the cursor are not duplicated.
543.TP
d60d9f65
SS
544.B visible\-stats (Off)
545If set to \fBOn\fP, a character denoting a file's type as reported
9255ee31 546by \fIstat\fP(2) is appended to the filename when listing possible
d60d9f65
SS
547completions.
548.PD
549.SS Conditional Constructs
550.PP
551Readline implements a facility similar in spirit to the conditional
552compilation features of the C preprocessor which allows key
553bindings and variable settings to be performed as the result
554of tests. There are four parser directives used.
555.IP \fB$if\fP
556The
557.B $if
558construct allows bindings to be made based on the
559editing mode, the terminal being used, or the application using
560readline. The text of the test extends to the end of the line;
561no characters are required to isolate it.
562.RS
563.IP \fBmode\fP
564The \fBmode=\fP form of the \fB$if\fP directive is used to test
565whether readline is in emacs or vi mode.
566This may be used in conjunction
567with the \fBset keymap\fP command, for instance, to set bindings in
568the \fIemacs-standard\fP and \fIemacs-ctlx\fP keymaps only if
569readline is starting out in emacs mode.
570.IP \fBterm\fP
571The \fBterm=\fP form may be used to include terminal-specific
572key bindings, perhaps to bind the key sequences output by the
573terminal's function keys. The word on the right side of the
574.B =
575is tested against the full name of the terminal and the portion
576of the terminal name before the first \fB\-\fP. This allows
577.I sun
578to match both
579.I sun
580and
581.IR sun\-cmd ,
582for instance.
583.IP \fBapplication\fP
584The \fBapplication\fP construct is used to include
585application-specific settings. Each program using the readline
586library sets the \fIapplication name\fP, and an initialization
587file can test for a particular value.
588This could be used to bind key sequences to functions useful for
589a specific program. For instance, the following command adds a
cc88a640 590key sequence that quotes the current or previous word in \fBbash\fP:
d60d9f65
SS
591.sp 1
592.RS
593.nf
9255ee31 594\fB$if\fP Bash
d60d9f65
SS
595# Quote the current or previous word
596"\eC-xq": "\eeb\e"\eef\e""
597\fB$endif\fP
598.fi
599.RE
600.RE
601.IP \fB$endif\fP
602This command, as seen in the previous example, terminates an
603\fB$if\fP command.
604.IP \fB$else\fP
605Commands in this branch of the \fB$if\fP directive are executed if
606the test fails.
607.IP \fB$include\fP
608This directive takes a single filename as an argument and reads commands
609and bindings from that file. For example, the following directive
610would read \fI/etc/inputrc\fP:
611.sp 1
612.RS
613.nf
614\fB$include\fP \^ \fI/etc/inputrc\fP
615.fi
616.RE
617.SH SEARCHING
618.PP
619Readline provides commands for searching through the command history
620for lines containing a specified string.
621There are two search modes:
622.I incremental
623and
624.IR non-incremental .
625.PP
626Incremental searches begin before the user has finished typing the
627search string.
628As each character of the search string is typed, readline displays
629the next entry from the history matching the string typed so far.
630An incremental search requires only as many characters as needed to
631find the desired history entry.
9255ee31
EZ
632To search backward in the history for a particular string, type
633\fBC\-r\fP. Typing \fBC\-s\fP searches forward through the history.
634The characters present in the value of the \fBisearch-terminators\fP
c862e87b 635variable are used to terminate an incremental search.
9255ee31
EZ
636If that variable has not been assigned a value the \fIEscape\fP and
637\fBC\-J\fP characters will terminate an incremental search.
638\fBC\-G\fP will abort an incremental search and restore the original
d60d9f65
SS
639line.
640When the search is terminated, the history entry containing the
641search string becomes the current line.
9255ee31
EZ
642.PP
643To find other matching entries in the history list, type \fBC\-s\fP or
644\fBC\-r\fP as appropriate.
d60d9f65
SS
645This will search backward or forward in the history for the next
646line matching the search string typed so far.
647Any other key sequence bound to a readline command will terminate
648the search and execute that command.
9255ee31 649For instance, a newline will terminate the search and accept
d60d9f65 650the line, thereby executing the command from the history list.
9255ee31
EZ
651A movement command will terminate the search, make the last line found
652the current line, and begin editing.
d60d9f65
SS
653.PP
654Non-incremental searches read the entire search string before starting
655to search for matching history lines. The search string may be
656typed by the user or be part of the contents of the current line.
657.SH EDITING COMMANDS
658.PP
659The following is a list of the names of the commands and the default
660key sequences to which they are bound.
661Command names without an accompanying key sequence are unbound by default.
9255ee31
EZ
662.PP
663In the following descriptions, \fIpoint\fP refers to the current cursor
664position, and \fImark\fP refers to a cursor position saved by the
665\fBset\-mark\fP command.
666The text between the point and mark is referred to as the \fIregion\fP.
d60d9f65
SS
667.SS Commands for Moving
668.PP
669.PD 0
670.TP
671.B beginning\-of\-line (C\-a)
672Move to the start of the current line.
673.TP
674.B end\-of\-line (C\-e)
675Move to the end of the line.
676.TP
677.B forward\-char (C\-f)
678Move forward a character.
679.TP
680.B backward\-char (C\-b)
681Move back a character.
682.TP
683.B forward\-word (M\-f)
684Move forward to the end of the next word. Words are composed of
685alphanumeric characters (letters and digits).
686.TP
687.B backward\-word (M\-b)
1b17e766 688Move back to the start of the current or previous word. Words are
d60d9f65
SS
689composed of alphanumeric characters (letters and digits).
690.TP
691.B clear\-screen (C\-l)
692Clear the screen leaving the current line at the top of the screen.
693With an argument, refresh the current line without clearing the
694screen.
695.TP
696.B redraw\-current\-line
697Refresh the current line.
698.PD
699.SS Commands for Manipulating the History
700.PP
701.PD 0
702.TP
703.B accept\-line (Newline, Return)
9255ee31
EZ
704Accept the line regardless of where the cursor is.
705If this line is
706non-empty, it may be added to the history list for future recall with
707\fBadd_history()\fP.
708If the line is a modified history line, the history line is restored to its original state.
d60d9f65
SS
709.TP
710.B previous\-history (C\-p)
711Fetch the previous command from the history list, moving back in
712the list.
713.TP
714.B next\-history (C\-n)
715Fetch the next command from the history list, moving forward in the
716list.
717.TP
718.B beginning\-of\-history (M\-<)
719Move to the first line in the history.
720.TP
721.B end\-of\-history (M\->)
722Move to the end of the input history, i.e., the line currently being
723entered.
724.TP
725.B reverse\-search\-history (C\-r)
726Search backward starting at the current line and moving `up' through
727the history as necessary. This is an incremental search.
728.TP
729.B forward\-search\-history (C\-s)
730Search forward starting at the current line and moving `down' through
731the history as necessary. This is an incremental search.
732.TP
733.B non\-incremental\-reverse\-search\-history (M\-p)
734Search backward through the history starting at the current line
735using a non-incremental search for a string supplied by the user.
736.TP
737.B non\-incremental\-forward\-search\-history (M\-n)
738Search forward through the history using a non-incremental search
739for a string supplied by the user.
740.TP
741.B history\-search\-forward
742Search forward through the history for the string of characters
743between the start of the current line and the current cursor
744position (the \fIpoint\fP).
745This is a non-incremental search.
746.TP
747.B history\-search\-backward
748Search backward through the history for the string of characters
749between the start of the current line and the point.
750This is a non-incremental search.
751.TP
752.B yank\-nth\-arg (M\-C\-y)
753Insert the first argument to the previous command (usually
9255ee31
EZ
754the second word on the previous line) at point.
755With an argument
d60d9f65
SS
756.IR n ,
757insert the \fIn\fPth word from the previous command (the words
758in the previous command begin with word 0). A negative argument
759inserts the \fIn\fPth word from the end of the previous command.
5bdf8622
DJ
760Once the argument \fIn\fP is computed, the argument is extracted
761as if the "!\fIn\fP" history expansion had been specified.
d60d9f65
SS
762.TP
763.B
764yank\-last\-arg (M\-.\^, M\-_\^)
765Insert the last argument to the previous command (the last word of
cc88a640
JK
766the previous history entry).
767With a numeric argument, behave exactly like \fByank\-nth\-arg\fP.
d60d9f65 768Successive calls to \fByank\-last\-arg\fP move back through the history
cc88a640
JK
769list, inserting the last word (or the word specified by the argument to
770the first call) of each line in turn.
771Any numeric argument supplied to these successive calls determines
772the direction to move through the history. A negative argument switches
773the direction through the history (back or forward).
5bdf8622
DJ
774The history expansion facilities are used to extract the last argument,
775as if the "!$" history expansion had been specified.
d60d9f65
SS
776.PD
777.SS Commands for Changing Text
778.PP
779.PD 0
780.TP
781.B delete\-char (C\-d)
9255ee31 782Delete the character at point. If point is at the
d60d9f65 783beginning of the line, there are no characters in the line, and
9255ee31 784the last character typed was not bound to \fBdelete\-char\fP, then return
d60d9f65
SS
785.SM
786.BR EOF .
787.TP
788.B backward\-delete\-char (Rubout)
789Delete the character behind the cursor. When given a numeric argument,
790save the deleted text on the kill ring.
791.TP
c862e87b
JM
792.B forward\-backward\-delete\-char
793Delete the character under the cursor, unless the cursor is at the
794end of the line, in which case the character behind the cursor is
9255ee31 795deleted.
c862e87b 796.TP
d60d9f65
SS
797.B quoted\-insert (C\-q, C\-v)
798Add the next character that you type to the line verbatim. This is
799how to insert characters like \fBC\-q\fP, for example.
800.TP
801.B tab\-insert (M-TAB)
802Insert a tab character.
803.TP
804.B self\-insert (a,\ b,\ A,\ 1,\ !,\ ...)
805Insert the character typed.
806.TP
807.B transpose\-chars (C\-t)
9255ee31
EZ
808Drag the character before point forward over the character at point,
809moving point forward as well.
810If point is at the end of the line, then this transposes
811the two characters before point.
812Negative arguments have no effect.
d60d9f65
SS
813.TP
814.B transpose\-words (M\-t)
9255ee31
EZ
815Drag the word before point past the word after point,
816moving point over that word as well.
817If point is at the end of the line, this transposes
818the last two words on the line.
d60d9f65
SS
819.TP
820.B upcase\-word (M\-u)
821Uppercase the current (or following) word. With a negative argument,
822uppercase the previous word, but do not move point.
823.TP
824.B downcase\-word (M\-l)
825Lowercase the current (or following) word. With a negative argument,
826lowercase the previous word, but do not move point.
827.TP
828.B capitalize\-word (M\-c)
829Capitalize the current (or following) word. With a negative argument,
830capitalize the previous word, but do not move point.
9255ee31
EZ
831.TP
832.B overwrite\-mode
833Toggle overwrite mode. With an explicit positive numeric argument,
834switches to overwrite mode. With an explicit non-positive numeric
835argument, switches to insert mode. This command affects only
836\fBemacs\fP mode; \fBvi\fP mode does overwrite differently.
837Each call to \fIreadline()\fP starts in insert mode.
838In overwrite mode, characters bound to \fBself\-insert\fP replace
839the text at point rather than pushing the text to the right.
840Characters bound to \fBbackward\-delete\-char\fP replace the character
841before point with a space. By default, this command is unbound.
d60d9f65
SS
842.PD
843.SS Killing and Yanking
844.PP
845.PD 0
846.TP
847.B kill\-line (C\-k)
9255ee31 848Kill the text from point to the end of the line.
d60d9f65
SS
849.TP
850.B backward\-kill\-line (C\-x Rubout)
851Kill backward to the beginning of the line.
852.TP
853.B unix\-line\-discard (C\-u)
854Kill backward from point to the beginning of the line.
855The killed text is saved on the kill-ring.
856.\" There is no real difference between this and backward-kill-line
857.TP
858.B kill\-whole\-line
9255ee31 859Kill all characters on the current line, no matter where point is.
d60d9f65
SS
860.TP
861.B kill\-word (M\-d)
9255ee31 862Kill from point the end of the current word, or if between
d60d9f65
SS
863words, to the end of the next word. Word boundaries are the same as
864those used by \fBforward\-word\fP.
865.TP
866.B backward\-kill\-word (M\-Rubout)
9255ee31
EZ
867Kill the word behind point.
868Word boundaries are the same as those used by \fBbackward\-word\fP.
d60d9f65
SS
869.TP
870.B unix\-word\-rubout (C\-w)
9255ee31
EZ
871Kill the word behind point, using white space as a word boundary.
872The killed text is saved on the kill-ring.
d60d9f65 873.TP
5bdf8622
DJ
874.B unix\-filename\-rubout
875Kill the word behind point, using white space and the slash character
876as the word boundaries.
877The killed text is saved on the kill-ring.
878.TP
d60d9f65
SS
879.B delete\-horizontal\-space (M\-\e)
880Delete all spaces and tabs around point.
881.TP
882.B kill\-region
883Kill the text between the point and \fImark\fP (saved cursor position).
884This text is referred to as the \fIregion\fP.
885.TP
886.B copy\-region\-as\-kill
887Copy the text in the region to the kill buffer.
888.TP
889.B copy\-backward\-word
890Copy the word before point to the kill buffer.
891The word boundaries are the same as \fBbackward\-word\fP.
892.TP
893.B copy\-forward\-word
894Copy the word following point to the kill buffer.
895The word boundaries are the same as \fBforward\-word\fP.
896.TP
897.B yank (C\-y)
9255ee31 898Yank the top of the kill ring into the buffer at point.
d60d9f65
SS
899.TP
900.B yank\-pop (M\-y)
901Rotate the kill ring, and yank the new top. Only works following
902.B yank
903or
904.BR yank\-pop .
905.PD
906.SS Numeric Arguments
907.PP
908.PD 0
909.TP
910.B digit\-argument (M\-0, M\-1, ..., M\-\-)
911Add this digit to the argument already accumulating, or start a new
912argument. M\-\- starts a negative argument.
913.TP
914.B universal\-argument
915This is another way to specify an argument.
916If this command is followed by one or more digits, optionally with a
917leading minus sign, those digits define the argument.
918If the command is followed by digits, executing
919.B universal\-argument
920again ends the numeric argument, but is otherwise ignored.
921As a special case, if this command is immediately followed by a
922character that is neither a digit or minus sign, the argument count
923for the next command is multiplied by four.
924The argument count is initially one, so executing this function the
925first time makes the argument count four, a second time makes the
926argument count sixteen, and so on.
927.PD
928.SS Completing
929.PP
930.PD 0
931.TP
932.B complete (TAB)
933Attempt to perform completion on the text before point.
934The actual completion performed is application-specific.
935.BR Bash ,
936for instance, attempts completion treating the text as a variable
937(if the text begins with \fB$\fP), username (if the text begins with
938\fB~\fP), hostname (if the text begins with \fB@\fP), or
939command (including aliases and functions) in turn. If none
940of these produces a match, filename completion is attempted.
941.BR Gdb ,
942on the other hand,
943allows completion of program functions and variables, and
944only attempts filename completion under certain circumstances.
945.TP
946.B possible\-completions (M\-?)
947List the possible completions of the text before point.
cc88a640
JK
948When displaying completions, readline sets the number of columns used
949for display to the value of \fBcompletion-display-width\fP, the value of
950the environment variable
951.SM
952.BR COLUMNS ,
953or the screen width, in that order.
d60d9f65
SS
954.TP
955.B insert\-completions (M\-*)
956Insert all completions of the text before point
957that would have been generated by
958\fBpossible\-completions\fP.
959.TP
960.B menu\-complete
961Similar to \fBcomplete\fP, but replaces the word to be completed
962with a single match from the list of possible completions.
963Repeated execution of \fBmenu\-complete\fP steps through the list
964of possible completions, inserting each match in turn.
9255ee31 965At the end of the list of completions, the bell is rung
5bdf8622 966(subject to the setting of \fBbell\-style\fP)
9255ee31 967and the original text is restored.
d60d9f65
SS
968An argument of \fIn\fP moves \fIn\fP positions forward in the list
969of matches; a negative argument may be used to move backward
970through the list.
971This command is intended to be bound to \fBTAB\fP, but is unbound
972by default.
c862e87b 973.TP
cc88a640
JK
974.B menu\-complete\-backward
975Identical to \fBmenu\-complete\fP, but moves backward through the list
976of possible completions, as if \fBmenu\-complete\fP had been given a
977negative argument. This command is unbound by default.
978.TP
c862e87b
JM
979.B delete\-char\-or\-list
980Deletes the character under the cursor if not at the beginning or
981end of the line (like \fBdelete-char\fP).
982If at the end of the line, behaves identically to
983\fBpossible-completions\fP.
d60d9f65
SS
984.PD
985.SS Keyboard Macros
986.PP
987.PD 0
988.TP
989.B start\-kbd\-macro (C\-x (\^)
990Begin saving the characters typed into the current keyboard macro.
991.TP
992.B end\-kbd\-macro (C\-x )\^)
993Stop saving the characters typed into the current keyboard macro
994and store the definition.
995.TP
996.B call\-last\-kbd\-macro (C\-x e)
997Re-execute the last keyboard macro defined, by making the characters
998in the macro appear as if typed at the keyboard.
999.PD
1000.SS Miscellaneous
1001.PP
1002.PD 0
1003.TP
1004.B re\-read\-init\-file (C\-x C\-r)
1005Read in the contents of the \fIinputrc\fP file, and incorporate
1006any bindings or variable assignments found there.
1007.TP
1008.B abort (C\-g)
1009Abort the current editing command and
1010ring the terminal's bell (subject to the setting of
1011.BR bell\-style ).
1012.TP
1013.B do\-uppercase\-version (M\-a, M\-b, M\-\fIx\fP, ...)
1014If the metafied character \fIx\fP is lowercase, run the command
1015that is bound to the corresponding uppercase character.
1016.TP
1017.B prefix\-meta (ESC)
1018Metafy the next character typed.
1019.SM
1020.B ESC
1021.B f
1022is equivalent to
1023.BR Meta\-f .
1024.TP
1025.B undo (C\-_, C\-x C\-u)
1026Incremental undo, separately remembered for each line.
1027.TP
1028.B revert\-line (M\-r)
1029Undo all changes made to this line. This is like executing the
1030.B undo
1031command enough times to return the line to its initial state.
1032.TP
c862e87b 1033.B tilde\-expand (M\-&)
d60d9f65
SS
1034Perform tilde expansion on the current word.
1035.TP
9255ee31
EZ
1036.B set\-mark (C\-@, M\-<space>)
1037Set the mark to the point. If a
d60d9f65
SS
1038numeric argument is supplied, the mark is set to that position.
1039.TP
1040.B exchange\-point\-and\-mark (C\-x C\-x)
1041Swap the point with the mark. The current cursor position is set to
1042the saved position, and the old cursor position is saved as the mark.
1043.TP
1044.B character\-search (C\-])
1045A character is read and point is moved to the next occurrence of that
1046character. A negative count searches for previous occurrences.
1047.TP
1048.B character\-search\-backward (M\-C\-])
1049A character is read and point is moved to the previous occurrence of that
1050character. A negative count searches for subsequent occurrences.
1051.TP
cc88a640
JK
1052.B skip\-csi\-sequence
1053Read enough characters to consume a multi-key sequence such as those
1054defined for keys like Home and End. Such sequences begin with a
1055Control Sequence Indicator (CSI), usually ESC\-[. If this sequence is
1056bound to "\e[", keys producing such sequences will have no effect
1057unless explicitly bound to a readline command, instead of inserting
1058stray characters into the editing buffer. This is unbound by default,
1059but usually bound to ESC\-[.
1060.TP
d60d9f65 1061.B insert\-comment (M\-#)
9255ee31
EZ
1062Without a numeric argument, the value of the readline
1063.B comment\-begin
1064variable is inserted at the beginning of the current line.
1065If a numeric argument is supplied, this command acts as a toggle: if
1066the characters at the beginning of the line do not match the value
1067of \fBcomment\-begin\fP, the value is inserted, otherwise
1068the characters in \fBcomment-begin\fP are deleted from the beginning of
1069the line.
1070In either case, the line is accepted as if a newline had been typed.
1071The default value of
d60d9f65 1072.B comment\-begin
9255ee31
EZ
1073makes the current line a shell comment.
1074If a numeric argument causes the comment character to be removed, the line
1075will be executed by the shell.
d60d9f65
SS
1076.TP
1077.B dump\-functions
1078Print all of the functions and their key bindings to the
1079readline output stream. If a numeric argument is supplied,
1080the output is formatted in such a way that it can be made part
1081of an \fIinputrc\fP file.
1082.TP
1083.B dump\-variables
1084Print all of the settable variables and their values to the
1085readline output stream. If a numeric argument is supplied,
1086the output is formatted in such a way that it can be made part
1087of an \fIinputrc\fP file.
1088.TP
1089.B dump\-macros
1090Print all of the readline key sequences bound to macros and the
5bdf8622 1091strings they output. If a numeric argument is supplied,
d60d9f65
SS
1092the output is formatted in such a way that it can be made part
1093of an \fIinputrc\fP file.
1094.TP
1095.B emacs\-editing\-mode (C\-e)
1096When in
1097.B vi
9255ee31 1098command mode, this causes a switch to
d60d9f65
SS
1099.B emacs
1100editing mode.
1101.TP
1102.B vi\-editing\-mode (M\-C\-j)
1103When in
1104.B emacs
1105editing mode, this causes a switch to
1106.B vi
1107editing mode.
1108.PD
1109.SH DEFAULT KEY BINDINGS
1110.LP
1111The following is a list of the default emacs and vi bindings.
9255ee31 1112Characters with the eighth bit set are written as M\-<character>, and
d60d9f65
SS
1113are referred to as
1114.I metafied
1115characters.
1116The printable ASCII characters not mentioned in the list of emacs
1117standard bindings are bound to the
9255ee31 1118.B self\-insert
d60d9f65
SS
1119function, which just inserts the given character into the input line.
1120In vi insertion mode, all characters not specifically mentioned are
1121bound to
9255ee31 1122.BR self\-insert .
d60d9f65
SS
1123Characters assigned to signal generation by
1124.IR stty (1)
1125or the terminal driver, such as C-Z or C-C,
1126retain that function.
9255ee31
EZ
1127Upper and lower case metafied characters are bound to the same function in
1128the emacs mode meta keymap.
d60d9f65
SS
1129The remaining characters are unbound, which causes readline
1130to ring the bell (subject to the setting of the
1131.B bell\-style
1132variable).
1133.SS Emacs Mode
1134.RS +.6i
1135.nf
1136.ta 2.5i
1137.sp
1138Emacs Standard bindings
1139.sp
1140"C-@" set-mark
1141"C-A" beginning-of-line
1142"C-B" backward-char
1143"C-D" delete-char
1144"C-E" end-of-line
1145"C-F" forward-char
1146"C-G" abort
1147"C-H" backward-delete-char
1148"C-I" complete
1149"C-J" accept-line
1150"C-K" kill-line
1151"C-L" clear-screen
1152"C-M" accept-line
1153"C-N" next-history
1154"C-P" previous-history
1155"C-Q" quoted-insert
1156"C-R" reverse-search-history
1157"C-S" forward-search-history
1158"C-T" transpose-chars
1159"C-U" unix-line-discard
1160"C-V" quoted-insert
1161"C-W" unix-word-rubout
1162"C-Y" yank
1163"C-]" character-search
1164"C-_" undo
1165"\^ " to "/" self-insert
1166"0" to "9" self-insert
1167":" to "~" self-insert
1168"C-?" backward-delete-char
1169.PP
1170Emacs Meta bindings
1171.sp
1172"M-C-G" abort
1173"M-C-H" backward-kill-word
1174"M-C-I" tab-insert
1175"M-C-J" vi-editing-mode
1176"M-C-M" vi-editing-mode
1177"M-C-R" revert-line
1178"M-C-Y" yank-nth-arg
1179"M-C-[" complete
1180"M-C-]" character-search-backward
1181"M-space" set-mark
1182"M-#" insert-comment
1183"M-&" tilde-expand
1184"M-*" insert-completions
1185"M--" digit-argument
1186"M-." yank-last-arg
1187"M-0" digit-argument
1188"M-1" digit-argument
1189"M-2" digit-argument
1190"M-3" digit-argument
1191"M-4" digit-argument
1192"M-5" digit-argument
1193"M-6" digit-argument
1194"M-7" digit-argument
1195"M-8" digit-argument
1196"M-9" digit-argument
1197"M-<" beginning-of-history
1198"M-=" possible-completions
1199"M->" end-of-history
1200"M-?" possible-completions
1201"M-B" backward-word
1202"M-C" capitalize-word
1203"M-D" kill-word
1204"M-F" forward-word
1205"M-L" downcase-word
1206"M-N" non-incremental-forward-search-history
1207"M-P" non-incremental-reverse-search-history
1208"M-R" revert-line
1209"M-T" transpose-words
1210"M-U" upcase-word
1211"M-Y" yank-pop
1212"M-\e" delete-horizontal-space
1213"M-~" tilde-expand
9255ee31 1214"M-C-?" backward-kill-word
d60d9f65
SS
1215"M-_" yank-last-arg
1216.PP
1217Emacs Control-X bindings
1218.sp
1219"C-XC-G" abort
1220"C-XC-R" re-read-init-file
1221"C-XC-U" undo
1222"C-XC-X" exchange-point-and-mark
1223"C-X(" start-kbd-macro
1224"C-X)" end-kbd-macro
1225"C-XE" call-last-kbd-macro
1226"C-XC-?" backward-kill-line
1227.sp
1228.RE
1229.SS VI Mode bindings
1230.RS +.6i
1231.nf
1232.ta 2.5i
1233.sp
1234.PP
1235VI Insert Mode functions
1236.sp
1237"C-D" vi-eof-maybe
1238"C-H" backward-delete-char
1239"C-I" complete
1240"C-J" accept-line
1241"C-M" accept-line
1242"C-R" reverse-search-history
1243"C-S" forward-search-history
1244"C-T" transpose-chars
1245"C-U" unix-line-discard
1246"C-V" quoted-insert
1247"C-W" unix-word-rubout
1248"C-Y" yank
1249"C-[" vi-movement-mode
1250"C-_" undo
1251"\^ " to "~" self-insert
1252"C-?" backward-delete-char
1253.PP
1254VI Command Mode functions
1255.sp
1256"C-D" vi-eof-maybe
1257"C-E" emacs-editing-mode
1258"C-G" abort
1259"C-H" backward-char
1260"C-J" accept-line
1261"C-K" kill-line
1262"C-L" clear-screen
1263"C-M" accept-line
1264"C-N" next-history
1265"C-P" previous-history
1266"C-Q" quoted-insert
1267"C-R" reverse-search-history
1268"C-S" forward-search-history
1269"C-T" transpose-chars
1270"C-U" unix-line-discard
1271"C-V" quoted-insert
1272"C-W" unix-word-rubout
1273"C-Y" yank
9255ee31 1274"C-_" vi-undo
d60d9f65
SS
1275"\^ " forward-char
1276"#" insert-comment
1277"$" end-of-line
1278"%" vi-match
1279"&" vi-tilde-expand
1280"*" vi-complete
1281"+" next-history
1282"," vi-char-search
1283"-" previous-history
1284"." vi-redo
1285"/" vi-search
1286"0" beginning-of-line
1287"1" to "9" vi-arg-digit
1288";" vi-char-search
1289"=" vi-complete
1290"?" vi-search
1291"A" vi-append-eol
1292"B" vi-prev-word
1293"C" vi-change-to
1294"D" vi-delete-to
1295"E" vi-end-word
1296"F" vi-char-search
1297"G" vi-fetch-history
1298"I" vi-insert-beg
1299"N" vi-search-again
1300"P" vi-put
1301"R" vi-replace
1302"S" vi-subst
1303"T" vi-char-search
1304"U" revert-line
1305"W" vi-next-word
1306"X" backward-delete-char
1307"Y" vi-yank-to
1308"\e" vi-complete
1309"^" vi-first-print
1310"_" vi-yank-arg
1311"`" vi-goto-mark
1312"a" vi-append-mode
1313"b" vi-prev-word
1314"c" vi-change-to
1315"d" vi-delete-to
1316"e" vi-end-word
1317"f" vi-char-search
1318"h" backward-char
1319"i" vi-insertion-mode
1320"j" next-history
1321"k" prev-history
1322"l" forward-char
1323"m" vi-set-mark
1324"n" vi-search-again
1325"p" vi-put
1326"r" vi-change-char
1327"s" vi-subst
1328"t" vi-char-search
9255ee31 1329"u" vi-undo
d60d9f65
SS
1330"w" vi-next-word
1331"x" vi-delete
1332"y" vi-yank-to
1333"|" vi-column
1334"~" vi-change-case
1335.RE
1336.SH "SEE ALSO"
1337.PD 0
1338.TP
1339\fIThe Gnu Readline Library\fP, Brian Fox and Chet Ramey
1340.TP
1341\fIThe Gnu History Library\fP, Brian Fox and Chet Ramey
1342.TP
1343\fIbash\fP(1)
1344.PD
1345.SH FILES
1346.PD 0
1347.TP
1348.FN ~/.inputrc
1349Individual \fBreadline\fP initialization file
1350.PD
1351.SH AUTHORS
1b17e766 1352Brian Fox, Free Software Foundation
d60d9f65 1353.br
1b17e766 1354bfox@gnu.org
d60d9f65
SS
1355.PP
1356Chet Ramey, Case Western Reserve University
1357.br
1358chet@ins.CWRU.Edu
1359.SH BUG REPORTS
1360If you find a bug in
1361.B readline,
1362you should report it. But first, you should
1363make sure that it really is a bug, and that it appears in the latest
1364version of the
1365.B readline
1366library that you have.
1367.PP
1368Once you have determined that a bug actually exists, mail a
1369bug report to \fIbug\-readline\fP@\fIgnu.org\fP.
1370If you have a fix, you are welcome to mail that
1371as well! Suggestions and `philosophical' bug reports may be mailed
1372to \fPbug-readline\fP@\fIgnu.org\fP or posted to the Usenet
1373newsgroup
1374.BR gnu.bash.bug .
1375.PP
1376Comments and bug reports concerning
1377this manual page should be directed to
1378.IR chet@ins.CWRU.Edu .
1379.SH BUGS
1380.PP
1381It's too big and too slow.
This page took 0.681997 seconds and 4 git commands to generate.