mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-07-20 10:22:51 +02:00
commit bash-20141121 snapshot
This commit is contained in:
+27
-10
@@ -28,9 +28,14 @@
|
||||
|
||||
#include "bashansi.h"
|
||||
#include "shmbutil.h"
|
||||
#include "chartypes.h"
|
||||
|
||||
#include "stdc.h"
|
||||
|
||||
#ifndef FNM_CASEFOLD
|
||||
# include "strmatch.h"
|
||||
#endif
|
||||
|
||||
#ifndef LPAREN
|
||||
# define LPAREN '('
|
||||
#endif
|
||||
@@ -46,11 +51,15 @@
|
||||
extern char *glob_patscan __P((char *, char *, int));
|
||||
extern wchar_t *glob_patscan_wc __P((wchar_t *, wchar_t *, int));
|
||||
|
||||
#define FOLD(c) ((flags & FNM_CASEFOLD) && iswupper (c) ? towlower (c) : (c))
|
||||
|
||||
/* Return 1 of the first character of WSTRING could match the first
|
||||
character of pattern WPAT. Wide character version. */
|
||||
character of pattern WPAT. Wide character version. FLAGS is a
|
||||
subset of strmatch flags; used to do case-insensitive matching for now. */
|
||||
int
|
||||
match_pattern_wchar (wpat, wstring)
|
||||
match_pattern_wchar (wpat, wstring, flags)
|
||||
wchar_t *wpat, *wstring;
|
||||
int flags;
|
||||
{
|
||||
wchar_t wc;
|
||||
|
||||
@@ -60,9 +69,9 @@ match_pattern_wchar (wpat, wstring)
|
||||
switch (wc = *wpat++)
|
||||
{
|
||||
default:
|
||||
return (*wstring == wc);
|
||||
return (FOLD(*wstring) == FOLD(wc));
|
||||
case L'\\':
|
||||
return (*wstring == *wpat);
|
||||
return (FOLD(*wstring) == FOLD(*wpat));
|
||||
case L'?':
|
||||
return (*wpat == WLPAREN ? 1 : (*wstring != L'\0'));
|
||||
case L'*':
|
||||
@@ -70,7 +79,7 @@ match_pattern_wchar (wpat, wstring)
|
||||
case L'+':
|
||||
case L'!':
|
||||
case L'@':
|
||||
return (*wpat == WLPAREN ? 1 : (*wstring == wc));
|
||||
return (*wpat == WLPAREN ? 1 : (FOLD(*wstring) == FOLD(wc)));
|
||||
case L'[':
|
||||
return (*wstring != L'\0');
|
||||
}
|
||||
@@ -223,11 +232,19 @@ extglob_pattern_p (pat)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#undef FOLD
|
||||
#define FOLD(c) ((flags & FNM_CASEFOLD) \
|
||||
? TOLOWER ((unsigned char)c) \
|
||||
: ((unsigned char)c))
|
||||
|
||||
/* Return 1 of the first character of STRING could match the first
|
||||
character of pattern PAT. Used to avoid n2 calls to strmatch(). */
|
||||
character of pattern PAT. Used to avoid n2 calls to strmatch().
|
||||
FLAGS is a subset of strmatch flags; used to do case-insensitive
|
||||
matching for now. */
|
||||
int
|
||||
match_pattern_char (pat, string)
|
||||
match_pattern_char (pat, string, flags)
|
||||
char *pat, *string;
|
||||
int flags;
|
||||
{
|
||||
char c;
|
||||
|
||||
@@ -237,9 +254,9 @@ match_pattern_char (pat, string)
|
||||
switch (c = *pat++)
|
||||
{
|
||||
default:
|
||||
return (*string == c);
|
||||
return (FOLD(*string) == FOLD(c));
|
||||
case '\\':
|
||||
return (*string == *pat);
|
||||
return (FOLD(*string) == FOLD(*pat));
|
||||
case '?':
|
||||
return (*pat == LPAREN ? 1 : (*string != '\0'));
|
||||
case '*':
|
||||
@@ -247,7 +264,7 @@ match_pattern_char (pat, string)
|
||||
case '+':
|
||||
case '!':
|
||||
case '@':
|
||||
return (*pat == LPAREN ? 1 : (*string == c));
|
||||
return (*pat == LPAREN ? 1 : (FOLD(*string) == FOLD(c)));
|
||||
case '[':
|
||||
return (*string != '\0');
|
||||
}
|
||||
|
||||
@@ -1479,6 +1479,7 @@ static const struct {
|
||||
{ "blink-matching-paren", &rl_blink_matching_paren, V_SPECIAL },
|
||||
{ "byte-oriented", &rl_byte_oriented, 0 },
|
||||
#if defined (COLOR_SUPPORT)
|
||||
{ "colored-completion-prefix",&_rl_colored_completion_prefix, 0 },
|
||||
{ "colored-stats", &_rl_colored_stats, 0 },
|
||||
#endif
|
||||
{ "completion-ignore-case", &_rl_completion_case_fold, 0 },
|
||||
|
||||
@@ -99,11 +99,12 @@ _rl_set_normal_color (void)
|
||||
}
|
||||
|
||||
bool
|
||||
_rl_print_filename_color (void)
|
||||
_rl_print_prefix_color (void)
|
||||
{
|
||||
struct bin_str *s;
|
||||
|
||||
s = &_rl_color_indicator[C_FILE];
|
||||
/* What do we want to use for the prefix? Let's try cyan first, see colors.h */
|
||||
s = &_rl_color_indicator[C_PREFIX];
|
||||
if (s->string != NULL)
|
||||
{
|
||||
if (is_colored (C_NORM))
|
||||
|
||||
@@ -114,9 +114,12 @@ enum filetype
|
||||
arg_directory
|
||||
};
|
||||
|
||||
/* Prefix color, currently same as directory */
|
||||
#define C_PREFIX C_DIR
|
||||
|
||||
extern void _rl_put_indicator (const struct bin_str *ind);
|
||||
extern void _rl_set_normal_color (void);
|
||||
extern bool _rl_print_filename_color (void);
|
||||
extern bool _rl_print_prefix_color (void);
|
||||
extern bool _rl_print_color_indicator (char *f);
|
||||
extern void _rl_prep_non_filename_text (void);
|
||||
|
||||
|
||||
+33
-4
@@ -113,6 +113,8 @@ static int stat_char PARAMS((char *));
|
||||
#if defined (COLOR_SUPPORT)
|
||||
static int colored_stat_start PARAMS((char *));
|
||||
static void colored_stat_end PARAMS((void));
|
||||
static int colored_prefix_start PARAMS((void));
|
||||
static void colored_prefix_end PARAMS((void));
|
||||
#endif
|
||||
|
||||
static int path_isdir PARAMS((const char *));
|
||||
@@ -209,6 +211,8 @@ int rl_visible_stats = 0;
|
||||
/* Non-zero means to use colors to indicate file type when listing possible
|
||||
completions. The colors used are taken from $LS_COLORS, if set. */
|
||||
int _rl_colored_stats = 0;
|
||||
|
||||
int _rl_colored_completion_prefix = 1;
|
||||
#endif
|
||||
|
||||
/* If non-zero, when completing in the middle of a word, don't insert
|
||||
@@ -667,7 +671,7 @@ static int
|
||||
colored_prefix_start ()
|
||||
{
|
||||
_rl_set_normal_color ();
|
||||
return (_rl_print_filename_color ());
|
||||
return (_rl_print_prefix_color ());
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -778,6 +782,7 @@ fnprint (to_print, prefix_bytes)
|
||||
{
|
||||
int printed_len, w;
|
||||
const char *s;
|
||||
int common_prefix_len;
|
||||
#if defined (HANDLE_MULTIBYTE)
|
||||
mbstate_t ps;
|
||||
const char *end;
|
||||
@@ -789,14 +794,14 @@ fnprint (to_print, prefix_bytes)
|
||||
memset (&ps, 0, sizeof (mbstate_t));
|
||||
#endif
|
||||
|
||||
printed_len = 0;
|
||||
printed_len = common_prefix_len = 0;
|
||||
|
||||
/* Don't print only the ellipsis if the common prefix is one of the
|
||||
possible completions */
|
||||
if (to_print[prefix_bytes] == '\0')
|
||||
prefix_bytes = 0;
|
||||
|
||||
if (prefix_bytes)
|
||||
if (prefix_bytes && _rl_completion_prefix_display_length > 0)
|
||||
{
|
||||
char ellipsis;
|
||||
|
||||
@@ -805,6 +810,15 @@ fnprint (to_print, prefix_bytes)
|
||||
putc (ellipsis, rl_outstream);
|
||||
printed_len = ELLIPSIS_LEN;
|
||||
}
|
||||
#if defined (COLOR_SUPPORT)
|
||||
else if (prefix_bytes && _rl_colored_completion_prefix > 0)
|
||||
{
|
||||
common_prefix_len = prefix_bytes;
|
||||
prefix_bytes = 0;
|
||||
/* XXX - print color indicator start here */
|
||||
colored_prefix_start ();
|
||||
}
|
||||
#endif
|
||||
|
||||
s = to_print + prefix_bytes;
|
||||
while (*s)
|
||||
@@ -855,6 +869,13 @@ fnprint (to_print, prefix_bytes)
|
||||
printed_len++;
|
||||
#endif
|
||||
}
|
||||
if (common_prefix_len > 0 && (s - to_print) >= common_prefix_len)
|
||||
{
|
||||
/* printed bytes = s - to_print */
|
||||
/* printed bytes should never be > but check for paranoia's sake */
|
||||
colored_prefix_end ();
|
||||
common_prefix_len = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return printed_len;
|
||||
@@ -1515,7 +1536,7 @@ rl_display_match_list (matches, len, max)
|
||||
if (_rl_completion_prefix_display_length > 0)
|
||||
{
|
||||
t = printable_part (matches[0]);
|
||||
temp = strrchr (t, '/');
|
||||
temp = strrchr (t, '/'); /* XXX - why check again? */
|
||||
common_length = temp ? fnwidth (temp) : fnwidth (t);
|
||||
sind = temp ? strlen (temp) : strlen (t);
|
||||
|
||||
@@ -1524,6 +1545,14 @@ rl_display_match_list (matches, len, max)
|
||||
else
|
||||
common_length = sind = 0;
|
||||
}
|
||||
#if defined (COLOR_SUPPORT)
|
||||
else if (_rl_colored_completion_prefix > 0)
|
||||
{
|
||||
t = printable_part (matches[0]);
|
||||
common_length = fnwidth (t);
|
||||
sind = RL_STRLEN (t);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* How many items of MAX length can we fit in the screen window? */
|
||||
cols = complete_get_screenwidth ();
|
||||
|
||||
@@ -2018,6 +2018,7 @@ void
|
||||
rl_redraw_prompt_last_line ()
|
||||
{
|
||||
char *t;
|
||||
|
||||
t = strrchr (rl_display_prompt, '\n');
|
||||
if (t)
|
||||
redraw_prompt (++t);
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
# This makefile for Readline library documentation is in -*- text -*- mode.
|
||||
# Emacs likes it that way.
|
||||
RM = rm -f
|
||||
|
||||
MAKEINFO = makeinfo
|
||||
TEXI2DVI = texi2dvi
|
||||
TEXI2HTML = texi2html
|
||||
QUIETPS = #set this to -q to shut up dvips
|
||||
DVIPS = dvips -D 300 $(QUIETPS) -o $@ # tricky
|
||||
|
||||
INSTALL_DATA = cp
|
||||
infodir = /usr/local/info
|
||||
|
||||
RLSRC = rlman.texinfo rluser.texinfo rltech.texinfo
|
||||
HISTSRC = hist.texinfo hsuser.texinfo hstech.texinfo
|
||||
|
||||
DVIOBJ = readline.dvi history.dvi
|
||||
INFOOBJ = readline.info history.info
|
||||
PSOBJ = readline.ps history.ps
|
||||
HTMLOBJ = readline.html history.html
|
||||
|
||||
all: info dvi html ps
|
||||
nodvi: info html
|
||||
|
||||
readline.dvi: $(RLSRC)
|
||||
$(TEXI2DVI) rlman.texinfo
|
||||
mv rlman.dvi readline.dvi
|
||||
|
||||
readline.info: $(RLSRC)
|
||||
$(MAKEINFO) --no-split -o $@ rlman.texinfo
|
||||
|
||||
history.dvi: ${HISTSRC}
|
||||
$(TEXI2DVI) hist.texinfo
|
||||
mv hist.dvi history.dvi
|
||||
|
||||
history.info: ${HISTSRC}
|
||||
$(MAKEINFO) --no-split -o $@ hist.texinfo
|
||||
|
||||
readline.ps: readline.dvi
|
||||
$(RM) $@
|
||||
$(DVIPS) readline.dvi
|
||||
|
||||
history.ps: history.dvi
|
||||
$(RM) $@
|
||||
$(DVIPS) history.dvi
|
||||
|
||||
readline.html: ${RLSRC}
|
||||
$(TEXI2HTML) rlman.texinfo
|
||||
sed -e 's:rlman.html:readline.html:' -e 's:rlman_toc.html:readline_toc.html:' rlman.html > readline.html
|
||||
sed -e 's:rlman.html:readline.html:' -e 's:rlman_toc.html:readline_toc.html:' rlman_toc.html > readline_toc.html
|
||||
$(RM) rlman.html rlman_toc.html
|
||||
|
||||
history.html: ${HISTSRC}
|
||||
$(TEXI2HTML) hist.texinfo
|
||||
sed -e 's:hist.html:history.html:' -e 's:hist_toc.html:history_toc.html:' hist.html > history.html
|
||||
sed -e 's:hist.html:history.html:' -e 's:hist_toc.html:history_toc.html:' hist_toc.html > history_toc.html
|
||||
$(RM) hist.html hist_toc.html
|
||||
|
||||
info: $(INFOOBJ)
|
||||
dvi: $(DVIOBJ)
|
||||
ps: $(PSOBJ)
|
||||
html: $(HTMLOBJ)
|
||||
|
||||
clean:
|
||||
$(RM) *.aux *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr *.cps *.pgs \
|
||||
*.fns *.kys *.tps *.vrs *.o core
|
||||
|
||||
distclean: clean
|
||||
mostlyclean: clean
|
||||
|
||||
maintainer-clean: clean
|
||||
$(RM) *.dvi *.info *.info-* *.ps *.html
|
||||
|
||||
install: info
|
||||
${INSTALL_DATA} readline.info $(infodir)/readline.info
|
||||
${INSTALL_DATA} history.info $(infodir)/history.info
|
||||
@@ -40,8 +40,8 @@
|
||||
.SH NAME
|
||||
history \- GNU History Library
|
||||
.SH COPYRIGHT
|
||||
.if t The GNU History Library is Copyright \(co 1989-2011 by the Free Software Foundation, Inc.
|
||||
.if n The GNU History Library is Copyright (C) 1989-2011 by the Free Software Foundation, Inc.
|
||||
.if t The GNU History Library is Copyright \(co 1989-2014 by the Free Software Foundation, Inc.
|
||||
.if n The GNU History Library is Copyright (C) 1989-2014 by the Free Software Foundation, Inc.
|
||||
.SH DESCRIPTION
|
||||
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
|
||||
@@ -134,7 +134,7 @@ The entire command line typed so far.
|
||||
.SS Word Designators
|
||||
.PP
|
||||
Word designators are used to select desired words from the event.
|
||||
A
|
||||
A
|
||||
.B :
|
||||
separates the event specification from the word designator.
|
||||
It may be omitted if the word designator begins with a
|
||||
|
||||
+56
-21
@@ -6,10 +6,9 @@
|
||||
.\" Case Western Reserve University
|
||||
.\" chet.ramey@case.edu
|
||||
.\"
|
||||
.\" Last Change: Fri May 16 09:35:15 EDT 2014
|
||||
|
||||
.\" Last Change: Wed Nov 19 18:32:58 EST 2014
|
||||
.\"
|
||||
.TH READLINE 3 "2014 May 16" "GNU Readline 6.3"
|
||||
.TH READLINE 3 "2014 November 19" "GNU Readline 6.3"
|
||||
.\"
|
||||
.\" File Name macro. This used to be `.PN', for Path Name,
|
||||
.\" but Sun doesn't seem to like that very much.
|
||||
@@ -35,8 +34,8 @@ readline \- get a line from a user with editing
|
||||
\fBreadline\fP (\fIconst char *prompt\fP);
|
||||
.fi
|
||||
.SH COPYRIGHT
|
||||
.if n Readline is Copyright (C) 1989\-2011 Free Software Foundation, Inc.
|
||||
.if t Readline is Copyright \(co 1989\-2011 Free Software Foundation, Inc.
|
||||
.if n Readline is Copyright (C) 1989\-2014 Free Software Foundation, Inc.
|
||||
.if t Readline is Copyright \(co 1989\-2014 Free Software Foundation, Inc.
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.B readline
|
||||
@@ -79,10 +78,10 @@ treated as a newline.
|
||||
.LP
|
||||
An Emacs-style notation is used to denote
|
||||
keystrokes. Control keys are denoted by C\-\fIkey\fR, e.g., C\-n
|
||||
means Control\-N. Similarly,
|
||||
means Control\-N. Similarly,
|
||||
.I meta
|
||||
keys are denoted by M\-\fIkey\fR, so M\-x means Meta\-X. (On keyboards
|
||||
without a
|
||||
without a
|
||||
.I meta
|
||||
key, M\-\fIx\fP means ESC \fIx\fP, i.e., press the Escape key
|
||||
then the
|
||||
@@ -99,14 +98,15 @@ Readline commands may be given numeric
|
||||
which normally act as a repeat count. Sometimes, however, it is the
|
||||
sign of the argument that is significant. Passing a negative argument
|
||||
to a command that acts in the forward direction (e.g., \fBkill\-line\fP)
|
||||
causes that command to act in a backward direction. Commands whose
|
||||
behavior with arguments deviates from this are noted.
|
||||
causes that command to act in a backward direction.
|
||||
Commands whose behavior with arguments deviates from this are noted
|
||||
below.
|
||||
.PP
|
||||
When a command is described as \fIkilling\fP text, the text
|
||||
deleted is saved for possible future retrieval
|
||||
(\fIyanking\fP). The killed text is saved in a
|
||||
\fIkill ring\fP. Consecutive kills cause the text to be
|
||||
accumulated into one unit, which can be yanked all at once.
|
||||
accumulated into one unit, which can be yanked all at once.
|
||||
Commands which do not kill text separate the chunks of text
|
||||
on the kill ring.
|
||||
.SH INITIALIZATION FILE
|
||||
@@ -139,7 +139,7 @@ or
|
||||
C\-Meta\-u: universal\-argument
|
||||
.RE
|
||||
.sp
|
||||
into the
|
||||
into the
|
||||
.I inputrc
|
||||
would make M\-C\-u execute the readline command
|
||||
.IR universal\-argument .
|
||||
@@ -168,7 +168,7 @@ The syntax for controlling key bindings in the
|
||||
.I inputrc
|
||||
file is simple. All that is required is the name of the
|
||||
command or the text of a macro and a key sequence to which
|
||||
it should be bound. The name may be specified in one of two ways:
|
||||
it should be bound. The name may be specified in one of two ways:
|
||||
as a symbolic key name, possibly with \fIMeta\-\fP or \fIControl\-\fP
|
||||
prefixes, or as a key sequence.
|
||||
The name and key sequence are separated by a colon. There can be no
|
||||
@@ -226,7 +226,7 @@ is again bound to the function
|
||||
.I "C-x C-r"
|
||||
is bound to the function
|
||||
.BR re\-read\-init\-file ,
|
||||
and
|
||||
and
|
||||
.I "ESC [ 1 1 ~"
|
||||
is bound to insert the text
|
||||
.if t \f(CWFunction Key 1\fP.
|
||||
@@ -356,9 +356,15 @@ readline equivalents.
|
||||
If set to \fBOn\fP, readline attempts to briefly move the cursor to an
|
||||
opening parenthesis when a closing parenthsis is inserted.
|
||||
.TP
|
||||
.B colored\-completion\-prefix (Off)
|
||||
If set to \fBOn\fP, when listing completions, readline displays the
|
||||
common prefix of the set of possible completions using a different color.
|
||||
The color definitions are taken from the value of the \fBLS_COLORS\fP
|
||||
environment variable.
|
||||
.TP
|
||||
.B colored\-stats (Off)
|
||||
If set to \fBOn\fP, readline displays possible completions using different
|
||||
colors to indicate their file type.
|
||||
colors to indicate their file type.
|
||||
The color definitions are taken from the value of the \fBLS_COLORS\fP
|
||||
environment variable.
|
||||
.TP
|
||||
@@ -494,6 +500,15 @@ The value of
|
||||
.B editing\-mode
|
||||
also affects the default keymap.
|
||||
.TP
|
||||
.B emacs\-mode\-string (@)
|
||||
This string is displayed immediately before the last line of the primary
|
||||
prompt when emacs editing mode is active. The value is expanded like a
|
||||
key binding, so the standard set of meta- and control prefixes and
|
||||
backslash escape sequences is available.
|
||||
Use the \e1 and \e2 escapes to begin and end sequences of
|
||||
non-printing characters, which can be used to embed a terminal control
|
||||
sequence into the mode string.
|
||||
.TP
|
||||
.B keyseq\-timeout (500)
|
||||
Specifies the duration \fIreadline\fP will wait for a character when reading an
|
||||
ambiguous key sequence (one that can form a complete key sequence using
|
||||
@@ -522,7 +537,7 @@ have a slash appended (subject to the value of
|
||||
.TP
|
||||
.B match\-hidden\-files (On)
|
||||
This variable, when set to \fBOn\fP, causes readline to match files whose
|
||||
names begin with a `.' (hidden files) when performing filename
|
||||
names begin with a `.' (hidden files) when performing filename
|
||||
completion.
|
||||
If set to \fBOff\fP, the leading `.' must be
|
||||
supplied by the user in the filename to be completed.
|
||||
@@ -570,8 +585,8 @@ of ringing the bell.
|
||||
.TP
|
||||
.B show\-mode\-in\-prompt (Off)
|
||||
If set to \fBOn\fP, add a character to the beginning of the prompt
|
||||
indicating the editing mode: emacs (@), vi command (:) or vi
|
||||
insertion (+).
|
||||
indicating the editing mode: emacs, vi command, or vi insertion.
|
||||
The mode strings are user-settable.
|
||||
.TP
|
||||
.B skip\-completed\-text (Off)
|
||||
If set to \fBOn\fP, this alters the default completion behavior when
|
||||
@@ -581,6 +596,26 @@ does not insert characters from the completion that match characters
|
||||
after point in the word being completed, so portions of the word
|
||||
following the cursor are not duplicated.
|
||||
.TP
|
||||
.B vi\-cmd\-mode\-string ((cmd))
|
||||
This string is displayed immediately before the last line of the primary
|
||||
prompt when vi editing mode is active and in command mode.
|
||||
The value is expanded like a
|
||||
key binding, so the standard set of meta- and control prefixes and
|
||||
backslash escape sequences is available.
|
||||
Use the \e1 and \e2 escapes to begin and end sequences of
|
||||
non-printing characters, which can be used to embed a terminal control
|
||||
sequence into the mode string.
|
||||
.TP
|
||||
.B vi\-ins\-mode\-string ((ins))
|
||||
This string is displayed immediately before the last line of the primary
|
||||
prompt when vi editing mode is active and in insertion mode.
|
||||
The value is expanded like a
|
||||
key binding, so the standard set of meta- and control prefixes and
|
||||
backslash escape sequences is available.
|
||||
Use the \e1 and \e2 escapes to begin and end sequences of
|
||||
non-printing characters, which can be used to embed a terminal control
|
||||
sequence into the mode string.
|
||||
.TP
|
||||
.B visible\-stats (Off)
|
||||
If set to \fBOn\fP, a character denoting a file's type as reported
|
||||
by \fIstat\fP(2) is appended to the filename when listing possible
|
||||
@@ -593,7 +628,7 @@ compilation features of the C preprocessor which allows key
|
||||
bindings and variable settings to be performed as the result
|
||||
of tests. There are four parser directives used.
|
||||
.IP \fB$if\fP
|
||||
The
|
||||
The
|
||||
.B $if
|
||||
construct allows bindings to be made based on the
|
||||
editing mode, the terminal being used, or the application using
|
||||
@@ -899,7 +934,7 @@ switches to overwrite mode. With an explicit non-positive numeric
|
||||
argument, switches to insert mode. This command affects only
|
||||
\fBemacs\fP mode; \fBvi\fP mode does overwrite differently.
|
||||
Each call to \fIreadline()\fP starts in insert mode.
|
||||
In overwrite mode, characters bound to \fBself\-insert\fP replace
|
||||
In overwrite mode, characters bound to \fBself\-insert\fP replace
|
||||
the text at point rather than pushing the text to the right.
|
||||
Characters bound to \fBbackward\-delete\-char\fP replace the character
|
||||
before point with a space. By default, this command is unbound.
|
||||
@@ -922,7 +957,7 @@ The killed text is saved on the kill-ring.
|
||||
.B kill\-whole\-line
|
||||
Kill all characters on the current line, no matter where point is.
|
||||
.TP
|
||||
.B kill\-word (M\-d)
|
||||
.B kill\-word (M\-d)
|
||||
Kill from point the end of the current word, or if between
|
||||
words, to the end of the next word. Word boundaries are the same as
|
||||
those used by \fBforward\-word\fP.
|
||||
@@ -1129,7 +1164,7 @@ but usually bound to ESC\-[.
|
||||
Without a numeric argument, the value of the readline
|
||||
.B comment\-begin
|
||||
variable is inserted at the beginning of the current line.
|
||||
If a numeric argument is supplied, this command acts as a toggle: if
|
||||
If a numeric argument is supplied, this command acts as a toggle: if
|
||||
the characters at the beginning of the line do not match the value
|
||||
of \fBcomment\-begin\fP, the value is inserted, otherwise
|
||||
the characters in \fBcomment-begin\fP are deleted from the beginning of
|
||||
|
||||
@@ -1328,7 +1328,7 @@ the terminal settings are modified for Readline's use again.
|
||||
|
||||
@deftypefun void rl_callback_handler_remove (void)
|
||||
Restore the terminal to its initial state and remove the line handler.
|
||||
This may be called from within a callback as well as independently.
|
||||
You may call this function from within a callback as well as independently.
|
||||
If the @var{lhandler} installed by @code{rl_callback_handler_install}
|
||||
does not exit the program, either this function or the function referred
|
||||
to by the value of @code{rl_deprep_term_function} should be called before
|
||||
@@ -1942,8 +1942,8 @@ where @var{matches} is the array of matching strings,
|
||||
@var{num_matches} is the number of strings in that array, and
|
||||
@var{max_length} is the length of the longest string in that array.
|
||||
Readline provides a convenience function, @code{rl_display_match_list},
|
||||
that takes care of doing the display to Readline's output stream. That
|
||||
function may be called from this hook.
|
||||
that takes care of doing the display to Readline's output stream.
|
||||
You may call that function from this hook.
|
||||
@end deftypevar
|
||||
|
||||
@deftypevar {const char *} rl_basic_word_break_characters
|
||||
|
||||
@@ -433,6 +433,14 @@ If set to @samp{on}, Readline attempts to briefly move the cursor to an
|
||||
opening parenthesis when a closing parenthsis is inserted. The default
|
||||
is @samp{off}.
|
||||
|
||||
@item colored-completion-prefix
|
||||
@vindex colored-completion-prefix
|
||||
If set to @samp{on}, when listing completions, Readline displays the
|
||||
common prefix of the set of possible completions using a different color.
|
||||
The color definitions are taken from the value of the @env{LS_COLORS}
|
||||
environment variable.
|
||||
The default is @samp{off}.
|
||||
|
||||
@item colored-stats
|
||||
@vindex colored-stats
|
||||
If set to @samp{on}, Readline displays possible completions using different
|
||||
@@ -511,7 +519,7 @@ set to either @samp{emacs} or @samp{vi}.
|
||||
This string is displayed immediately before the last line of the primary
|
||||
prompt when emacs editing mode is active. The value is expanded like a
|
||||
key binding, so the standard set of meta- and control prefixes and
|
||||
backslash escape sequences is available (@pxref{Key Bindings}).
|
||||
backslash escape sequences is available.
|
||||
Use the @samp{\1} and @samp{\2} escapes to begin and end sequences of
|
||||
non-printing characters, which can be used to embed a terminal control
|
||||
sequence into the mode string.
|
||||
@@ -699,8 +707,8 @@ The default value is @samp{off}.
|
||||
@item show-mode-in-prompt
|
||||
@vindex show-mode-in-prompt
|
||||
If set to @samp{on}, add a character to the beginning of the prompt
|
||||
indicating the editing mode: emacs (@samp{@@}), vi command (@samp{:}),
|
||||
or vi insertion (@samp{+}).
|
||||
indicating the editing mode: emacs, vi command, or vi insertion.
|
||||
The mode strings are user-settable.
|
||||
The default value is @samp{off}.
|
||||
|
||||
@item skip-completed-text
|
||||
@@ -723,7 +731,7 @@ This string is displayed immediately before the last line of the primary
|
||||
prompt when vi editing mode is active and in command mode.
|
||||
The value is expanded like a
|
||||
key binding, so the standard set of meta- and control prefixes and
|
||||
backslash escape sequences is available (@pxref{Key Bindings}).
|
||||
backslash escape sequences is available.
|
||||
Use the @samp{\1} and @samp{\2} escapes to begin and end sequences of
|
||||
non-printing characters, which can be used to embed a terminal control
|
||||
sequence into the mode string.
|
||||
@@ -735,7 +743,7 @@ This string is displayed immediately before the last line of the primary
|
||||
prompt when vi editing mode is active and in insertion mode.
|
||||
The value is expanded like a
|
||||
key binding, so the standard set of meta- and control prefixes and
|
||||
backslash escape sequences is available (@pxref{Key Bindings}).
|
||||
backslash escape sequences is available.
|
||||
Use the @samp{\1} and @samp{\2} escapes to begin and end sequences of
|
||||
non-printing characters, which can be used to embed a terminal control
|
||||
sequence into the mode string.
|
||||
@@ -1848,6 +1856,10 @@ is removed before attempting a match.
|
||||
Any completion that matches the pattern will be removed from the list.
|
||||
A leading @samp{!} negates the pattern; in this case any completion
|
||||
not matching the pattern will be removed.
|
||||
If the @code{nocasematch} shell option
|
||||
(see the description of @code{shopt} in @ref{The Shopt Builtin})
|
||||
is enabled, the match is performed without regard to the case
|
||||
of alphabetic characters.
|
||||
|
||||
Finally, any prefix and suffix specified with the @option{-P} and @option{-S}
|
||||
options are added to each member of the completion list, and the result is
|
||||
|
||||
@@ -4,7 +4,7 @@ Copyright (C) 1988-2014 Free Software Foundation, Inc.
|
||||
|
||||
@set EDITION 6.3
|
||||
@set VERSION 6.3
|
||||
@set UPDATED 15 November 2014
|
||||
@set UPDATED 21 November 2014
|
||||
@set UPDATED-MONTH November 2014
|
||||
|
||||
@set LASTCHANGE Sat Nov 15 19:56:51 EST 2014
|
||||
@set LASTCHANGE Fri Nov 21 08:07:14 EST 2014
|
||||
|
||||
@@ -288,7 +288,7 @@ add_history (string)
|
||||
for (i = 0; i < history_length; i++)
|
||||
the_history[i] = the_history[i + 1];
|
||||
#else
|
||||
memmove (the_history, the_history + 1, history_length * sizeof (HIST_ENTRY));
|
||||
memmove (the_history, the_history + 1, history_length * sizeof (HIST_ENTRY *));
|
||||
#endif
|
||||
|
||||
history_base++;
|
||||
|
||||
@@ -1196,7 +1196,7 @@ readline_initialize_everything ()
|
||||
rl_completer_word_break_characters = (char *)rl_basic_word_break_characters;
|
||||
|
||||
#if defined (COLOR_SUPPORT)
|
||||
if (_rl_colored_stats)
|
||||
if (_rl_colored_stats || _rl_colored_completion_prefix)
|
||||
_rl_parse_colors ();
|
||||
#endif
|
||||
|
||||
|
||||
@@ -185,6 +185,7 @@ extern int rl_visible_stats;
|
||||
#endif /* VISIBLE_STATS */
|
||||
#if defined (COLOR_SUPPORT)
|
||||
extern int _rl_colored_stats;
|
||||
extern int _rl_colored_completion_prefix;
|
||||
#endif
|
||||
|
||||
/* readline.c */
|
||||
|
||||
Reference in New Issue
Block a user