mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-07-03 18:30:49 +02:00
commit bash-20070329 snapshot
This commit is contained in:
+1
-1
@@ -184,7 +184,7 @@ mbskipname (pat, dname)
|
||||
{
|
||||
int ret;
|
||||
wchar_t *pat_wc, *dn_wc;
|
||||
size_t pat_n, dn_n, n;
|
||||
size_t pat_n, dn_n;
|
||||
|
||||
pat_n = xdupmbstowcs (&pat_wc, NULL, pat);
|
||||
dn_n = xdupmbstowcs (&dn_wc, NULL, dname);
|
||||
|
||||
+5
-3
@@ -20,9 +20,11 @@
|
||||
|
||||
#include "stdc.h"
|
||||
|
||||
#define GX_MARKDIRS 0x01 /* mark directory names with trailing `/' */
|
||||
#define GX_NOCASE 0x02 /* ignore case */
|
||||
#define GX_MATCHDOT 0x04 /* match `.' literally */
|
||||
#define GX_MARKDIRS 0x001 /* mark directory names with trailing `/' */
|
||||
#define GX_NOCASE 0x002 /* ignore case */
|
||||
#define GX_MATCHDOT 0x004 /* match `.' literally */
|
||||
#define GX_ALLDIRS 0x008 /* match all directories */
|
||||
#define GX_MATCHDIRS 0x010 /* return only matching directory names */
|
||||
|
||||
extern int glob_pattern_p __P((const char *));
|
||||
extern char **glob_vector __P((char *, char *, int));
|
||||
|
||||
@@ -247,7 +247,6 @@ rangecmp_wc (c1, c2)
|
||||
{
|
||||
static wchar_t s1[2] = { L' ', L'\0' };
|
||||
static wchar_t s2[2] = { L' ', L'\0' };
|
||||
int ret;
|
||||
|
||||
if (c1 == c2)
|
||||
return 0;
|
||||
|
||||
@@ -145,7 +145,8 @@ xdupmbstowcs (destp, indicesp, src)
|
||||
/* In case SRC or DESP is NULL, conversion doesn't take place. */
|
||||
if (src == NULL || destp == NULL)
|
||||
{
|
||||
*destp = NULL;
|
||||
if (destp)
|
||||
*destp = NULL;
|
||||
return (size_t)-1;
|
||||
}
|
||||
|
||||
|
||||
@@ -29,10 +29,14 @@ VPATH = $(srcdir)
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
transform = @program_transform_name@
|
||||
|
||||
datarootdir = @datarootdir@
|
||||
|
||||
libdir = @libdir@
|
||||
includedir = @includedir@
|
||||
datadir = @datadir@
|
||||
localedir = $(datadir)/locale
|
||||
localedir = @localedir@
|
||||
|
||||
gettextsrcdir = $(datadir)/gettext/intl
|
||||
aliaspath = $(localedir)
|
||||
subdir = intl
|
||||
@@ -58,7 +62,7 @@ DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
|
||||
-DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \
|
||||
-Dset_relocation_prefix=libintl_set_relocation_prefix \
|
||||
-Drelocate=libintl_relocate \
|
||||
-DDEPENDS_ON_LIBICONV=1 @DEFS@ @LOCAL_DEFS@
|
||||
-DDEPENDS_ON_LIBICONV=1 @DEFS@ ${LOCAL_DEFS}
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CFLAGS = @CFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
@@ -229,7 +233,7 @@ libgnuintl.h: $(srcdir)/libgnuintl.h.in
|
||||
cp $(srcdir)/libgnuintl.h.in libgnuintl.h
|
||||
|
||||
libintl.h: libgnuintl.h
|
||||
cp libgnuintl.h libintl.h
|
||||
cmp libgnuintl.h libintl.h || cp libgnuintl.h libintl.h
|
||||
|
||||
charset.alias: $(srcdir)/config.charset
|
||||
$(SHELL) $(srcdir)/config.charset '@host@' > t-$@
|
||||
|
||||
+2
-2
@@ -231,7 +231,7 @@ static int maxbuck; /* highest bucket receiving allocation request. */
|
||||
|
||||
static char *memtop; /* top of heap */
|
||||
|
||||
static unsigned long binsizes[NBUCKETS] = {
|
||||
static const unsigned long binsizes[NBUCKETS] = {
|
||||
8UL, 16UL, 32UL, 64UL, 128UL, 256UL, 512UL, 1024UL, 2048UL, 4096UL,
|
||||
8192UL, 16384UL, 32768UL, 65536UL, 131072UL, 262144UL, 524288UL,
|
||||
1048576UL, 2097152UL, 4194304UL, 8388608UL, 16777216UL, 33554432UL,
|
||||
@@ -312,7 +312,7 @@ xbotch (mem, e, s, file, line)
|
||||
int line;
|
||||
{
|
||||
fprintf (stderr, _("\r\nmalloc: %s:%d: assertion botched\r\n"),
|
||||
file ? file : "unknown", line);
|
||||
file ? file : _("unknown"), line);
|
||||
#ifdef MALLOC_REGISTER
|
||||
if (mem != NULL && malloc_register)
|
||||
mregister_describe_mem (mem, stderr);
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#ifdef HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
#include <string.h>
|
||||
|
||||
#include "mstats.h"
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "imalloc.h"
|
||||
#include "table.h"
|
||||
|
||||
+6
-6
@@ -43,17 +43,17 @@ watch_warn (addr, file, line, type, data)
|
||||
char *tag;
|
||||
|
||||
if (type == W_ALLOC)
|
||||
tag = _("allocated");
|
||||
tag = "allocated";
|
||||
else if (type == W_FREE)
|
||||
tag = _("freed");
|
||||
tag = "freed";
|
||||
else if (type == W_REALLOC)
|
||||
tag = _("requesting resize");
|
||||
tag = "requesting resize";
|
||||
else if (type == W_RESIZED)
|
||||
tag = _("just resized");
|
||||
tag = "just resized";
|
||||
else
|
||||
tag = _("bug: unknown operation");
|
||||
tag = "bug: unknown operation";
|
||||
|
||||
fprintf (stderr, _("malloc: watch alert: %p %s "), addr, tag);
|
||||
fprintf (stderr, "malloc: watch alert: %p %s ", addr, tag);
|
||||
if (data != (unsigned long)-1)
|
||||
fprintf (stderr, "(size %lu) ", data);
|
||||
fprintf (stderr, "from '%s:%d'\n", file ? file : "unknown", line);
|
||||
|
||||
@@ -5,6 +5,10 @@
|
||||
#
|
||||
# NOTE: we ignore `realloc' tags because they're just extra information
|
||||
#
|
||||
# Copyright (c) 2001 Chester Ramey
|
||||
# Permission is hereby granted to deal in this Software without restriction.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.
|
||||
#
|
||||
# Chet Ramey
|
||||
# chet@po.cwru.edu
|
||||
#
|
||||
|
||||
@@ -33,6 +33,8 @@ VPATH = .:@srcdir@
|
||||
topdir = @top_srcdir@
|
||||
BUILD_DIR = @BUILD_DIR@
|
||||
|
||||
datarootdir = @datarootdir@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
+21
-19
@@ -80,7 +80,7 @@ static int glean_key_from_name PARAMS((char *));
|
||||
static int find_boolean_var PARAMS((const char *));
|
||||
|
||||
static char *_rl_get_string_variable_value PARAMS((const char *));
|
||||
static int substring_member_of_array PARAMS((char *, const char **));
|
||||
static int substring_member_of_array PARAMS((const char *, const char * const *));
|
||||
|
||||
static int currently_reading_init_file;
|
||||
|
||||
@@ -370,7 +370,10 @@ rl_generic_bind (type, keyseq, data, map)
|
||||
|
||||
ic = uc;
|
||||
if (ic < 0 || ic >= KEYMAP_SIZE)
|
||||
return -1;
|
||||
{
|
||||
free (keys);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (META_CHAR (ic) && _rl_convert_meta_chars_to_ascii)
|
||||
{
|
||||
@@ -918,10 +921,10 @@ _rl_init_file_error (msg)
|
||||
const char *msg;
|
||||
{
|
||||
if (currently_reading_init_file)
|
||||
fprintf (stderr, "readline: %s: line %d: %s\n", current_readline_init_file,
|
||||
_rl_errmsg ("%s: line %d: %s\n", current_readline_init_file,
|
||||
current_readline_init_lineno, msg);
|
||||
else
|
||||
fprintf (stderr, "readline: %s\n", msg);
|
||||
_rl_errmsg ("%s", msg);
|
||||
}
|
||||
|
||||
/* **************************************************************** */
|
||||
@@ -933,11 +936,11 @@ _rl_init_file_error (msg)
|
||||
typedef int _rl_parser_func_t PARAMS((char *));
|
||||
|
||||
/* Things that mean `Control'. */
|
||||
const char *_rl_possible_control_prefixes[] = {
|
||||
const char * const _rl_possible_control_prefixes[] = {
|
||||
"Control-", "C-", "CTRL-", (const char *)NULL
|
||||
};
|
||||
|
||||
const char *_rl_possible_meta_prefixes[] = {
|
||||
const char * const _rl_possible_meta_prefixes[] = {
|
||||
"Meta", "M-", (const char *)NULL
|
||||
};
|
||||
|
||||
@@ -1096,8 +1099,8 @@ parser_include (args)
|
||||
}
|
||||
|
||||
/* Associate textual names with actual functions. */
|
||||
static struct {
|
||||
const char *name;
|
||||
static const struct {
|
||||
const char * const name;
|
||||
_rl_parser_func_t *function;
|
||||
} parser_directives [] = {
|
||||
{ "if", parser_if },
|
||||
@@ -1403,8 +1406,8 @@ rl_parse_and_bind (string)
|
||||
|
||||
#define V_SPECIAL 0x1
|
||||
|
||||
static struct {
|
||||
const char *name;
|
||||
static const struct {
|
||||
const char * const name;
|
||||
int *value;
|
||||
int flags;
|
||||
} boolean_varlist [] = {
|
||||
@@ -1491,8 +1494,8 @@ static int sv_editmode PARAMS((const char *));
|
||||
static int sv_isrchterm PARAMS((const char *));
|
||||
static int sv_keymap PARAMS((const char *));
|
||||
|
||||
static struct {
|
||||
const char *name;
|
||||
static const struct {
|
||||
const char * const name;
|
||||
int flags;
|
||||
_rl_sv_func_t *set_func;
|
||||
} string_varlist[] = {
|
||||
@@ -1534,7 +1537,6 @@ rl_variable_value (name)
|
||||
const char *name;
|
||||
{
|
||||
register int i;
|
||||
int v;
|
||||
|
||||
/* Check for simple variables first. */
|
||||
i = find_boolean_var (name);
|
||||
@@ -1699,11 +1701,11 @@ sv_isrchterm (value)
|
||||
For example, `Space' returns ' '. */
|
||||
|
||||
typedef struct {
|
||||
const char *name;
|
||||
const char * const name;
|
||||
int value;
|
||||
} assoc_list;
|
||||
|
||||
static assoc_list name_key_alist[] = {
|
||||
static const assoc_list name_key_alist[] = {
|
||||
{ "DEL", 0x7f },
|
||||
{ "ESC", '\033' },
|
||||
{ "Escape", '\033' },
|
||||
@@ -1732,8 +1734,8 @@ glean_key_from_name (name)
|
||||
}
|
||||
|
||||
/* Auxiliary functions to manage keymaps. */
|
||||
static struct {
|
||||
const char *name;
|
||||
static const struct {
|
||||
const char * const name;
|
||||
Keymap map;
|
||||
} keymap_names[] = {
|
||||
{ "emacs", emacs_standard_keymap },
|
||||
@@ -2296,8 +2298,8 @@ rl_dump_variables (count, key)
|
||||
/* Return non-zero if any members of ARRAY are a substring in STRING. */
|
||||
static int
|
||||
substring_member_of_array (string, array)
|
||||
char *string;
|
||||
const char **array;
|
||||
const char *string;
|
||||
const char * const *array;
|
||||
{
|
||||
while (*array)
|
||||
{
|
||||
|
||||
+61
-65
@@ -111,7 +111,7 @@ rl_callback_read_char ()
|
||||
|
||||
if (rl_linefunc == NULL)
|
||||
{
|
||||
fprintf (stderr, "readline: readline_callback_read_char() called with no handler!\r\n");
|
||||
_rl_errmsg ("readline_callback_read_char() called with no handler!");
|
||||
abort ();
|
||||
}
|
||||
|
||||
@@ -125,73 +125,73 @@ rl_callback_read_char ()
|
||||
return;
|
||||
}
|
||||
|
||||
if (RL_ISSTATE (RL_STATE_ISEARCH))
|
||||
do
|
||||
{
|
||||
eof = _rl_isearch_callback (_rl_iscxt);
|
||||
if (eof == 0 && (RL_ISSTATE (RL_STATE_ISEARCH) == 0) && RL_ISSTATE (RL_STATE_INPUTPENDING))
|
||||
rl_callback_read_char ();
|
||||
|
||||
return;
|
||||
}
|
||||
else if (RL_ISSTATE (RL_STATE_NSEARCH))
|
||||
{
|
||||
eof = _rl_nsearch_callback (_rl_nscxt);
|
||||
return;
|
||||
}
|
||||
else if (RL_ISSTATE (RL_STATE_NUMERICARG))
|
||||
{
|
||||
eof = _rl_arg_callback (_rl_argcxt);
|
||||
if (eof == 0 && (RL_ISSTATE (RL_STATE_NUMERICARG) == 0) && RL_ISSTATE (RL_STATE_INPUTPENDING))
|
||||
rl_callback_read_char ();
|
||||
/* XXX - this should handle _rl_last_command_was_kill better */
|
||||
else if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0)
|
||||
_rl_internal_char_cleanup ();
|
||||
|
||||
return;
|
||||
}
|
||||
else if (RL_ISSTATE (RL_STATE_MULTIKEY))
|
||||
{
|
||||
eof = _rl_dispatch_callback (_rl_kscxt); /* For now */
|
||||
while ((eof == -1 || eof == -2) && RL_ISSTATE (RL_STATE_MULTIKEY) && _rl_kscxt && (_rl_kscxt->flags & KSEQ_DISPATCHED))
|
||||
eof = _rl_dispatch_callback (_rl_kscxt);
|
||||
if (RL_ISSTATE (RL_STATE_MULTIKEY) == 0)
|
||||
if (RL_ISSTATE (RL_STATE_ISEARCH))
|
||||
{
|
||||
_rl_internal_char_cleanup ();
|
||||
_rl_want_redisplay = 1;
|
||||
eof = _rl_isearch_callback (_rl_iscxt);
|
||||
if (eof == 0 && (RL_ISSTATE (RL_STATE_ISEARCH) == 0) && RL_ISSTATE (RL_STATE_INPUTPENDING))
|
||||
rl_callback_read_char ();
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (_rl_callback_func)
|
||||
{
|
||||
/* This allows functions that simply need to read an additional character
|
||||
(like quoted-insert) to register a function to be called when input is
|
||||
available. _rl_callback_data is simply a pointer to a struct that has
|
||||
the argument count originally passed to the registering function and
|
||||
space for any additional parameters. */
|
||||
eof = (*_rl_callback_func) (_rl_callback_data);
|
||||
/* If the function `deregisters' itself, make sure the data is cleaned
|
||||
up. */
|
||||
if (_rl_callback_func == 0)
|
||||
else if (RL_ISSTATE (RL_STATE_NSEARCH))
|
||||
{
|
||||
if (_rl_callback_data)
|
||||
eof = _rl_nsearch_callback (_rl_nscxt);
|
||||
return;
|
||||
}
|
||||
else if (RL_ISSTATE (RL_STATE_NUMERICARG))
|
||||
{
|
||||
eof = _rl_arg_callback (_rl_argcxt);
|
||||
if (eof == 0 && (RL_ISSTATE (RL_STATE_NUMERICARG) == 0) && RL_ISSTATE (RL_STATE_INPUTPENDING))
|
||||
rl_callback_read_char ();
|
||||
/* XXX - this should handle _rl_last_command_was_kill better */
|
||||
else if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0)
|
||||
_rl_internal_char_cleanup ();
|
||||
|
||||
return;
|
||||
}
|
||||
else if (RL_ISSTATE (RL_STATE_MULTIKEY))
|
||||
{
|
||||
eof = _rl_dispatch_callback (_rl_kscxt); /* For now */
|
||||
while ((eof == -1 || eof == -2) && RL_ISSTATE (RL_STATE_MULTIKEY) && _rl_kscxt && (_rl_kscxt->flags & KSEQ_DISPATCHED))
|
||||
eof = _rl_dispatch_callback (_rl_kscxt);
|
||||
if (RL_ISSTATE (RL_STATE_MULTIKEY) == 0)
|
||||
{
|
||||
_rl_callback_data_dispose (_rl_callback_data);
|
||||
_rl_callback_data = 0;
|
||||
_rl_internal_char_cleanup ();
|
||||
_rl_want_redisplay = 1;
|
||||
}
|
||||
_rl_internal_char_cleanup ();
|
||||
}
|
||||
}
|
||||
else
|
||||
eof = readline_internal_char ();
|
||||
else if (_rl_callback_func)
|
||||
{
|
||||
/* This allows functions that simply need to read an additional
|
||||
character (like quoted-insert) to register a function to be
|
||||
called when input is available. _rl_callback_data is simply a
|
||||
pointer to a struct that has the argument count originally
|
||||
passed to the registering function and space for any additional
|
||||
parameters. */
|
||||
eof = (*_rl_callback_func) (_rl_callback_data);
|
||||
/* If the function `deregisters' itself, make sure the data is
|
||||
cleaned up. */
|
||||
if (_rl_callback_func == 0)
|
||||
{
|
||||
if (_rl_callback_data)
|
||||
{
|
||||
_rl_callback_data_dispose (_rl_callback_data);
|
||||
_rl_callback_data = 0;
|
||||
}
|
||||
_rl_internal_char_cleanup ();
|
||||
}
|
||||
}
|
||||
else
|
||||
eof = readline_internal_char ();
|
||||
|
||||
if (rl_done == 0 && _rl_want_redisplay)
|
||||
{
|
||||
(*rl_redisplay_function) ();
|
||||
_rl_want_redisplay = 0;
|
||||
}
|
||||
if (rl_done == 0 && _rl_want_redisplay)
|
||||
{
|
||||
(*rl_redisplay_function) ();
|
||||
_rl_want_redisplay = 0;
|
||||
}
|
||||
|
||||
/* We loop in case some function has pushed input back with rl_execute_next. */
|
||||
for (;;)
|
||||
{
|
||||
if (rl_done)
|
||||
{
|
||||
line = readline_internal_teardown (eof);
|
||||
@@ -213,11 +213,8 @@ rl_callback_read_char ()
|
||||
if (in_handler == 0 && rl_linefunc)
|
||||
_rl_callback_newline ();
|
||||
}
|
||||
if (rl_pending_input || _rl_pushed_input_available () || RL_ISSTATE (RL_STATE_MACROINPUT))
|
||||
eof = readline_internal_char ();
|
||||
else
|
||||
break;
|
||||
}
|
||||
while (rl_pending_input || _rl_pushed_input_available () || RL_ISSTATE (RL_STATE_MACROINPUT));
|
||||
}
|
||||
|
||||
/* Remove the handler, and make sure the terminal is in its normal state. */
|
||||
@@ -254,8 +251,7 @@ _rl_callback_data_alloc (count)
|
||||
void _rl_callback_data_dispose (arg)
|
||||
_rl_callback_generic_arg *arg;
|
||||
{
|
||||
if (arg)
|
||||
free (arg);
|
||||
xfree (arg);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
+31
-10
@@ -1,6 +1,6 @@
|
||||
/* complete.c -- filename completion for readline. */
|
||||
|
||||
/* Copyright (C) 1987-2005 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1987-2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU Readline Library, a library for
|
||||
reading lines of text with interactive input and history editing.
|
||||
@@ -325,6 +325,12 @@ int rl_completion_mark_symlink_dirs;
|
||||
/* If non-zero, inhibit completion (temporarily). */
|
||||
int rl_inhibit_completion;
|
||||
|
||||
/* Set to the last key used to invoke one of the completion functions */
|
||||
int rl_completion_invoking_key;
|
||||
|
||||
/* If non-zero, sort the completion matches. On by default. */
|
||||
int rl_sort_completion_matches = 1;
|
||||
|
||||
/* Variables local to this file. */
|
||||
|
||||
/* Local variable states what happened during the last completion attempt. */
|
||||
@@ -343,6 +349,8 @@ int
|
||||
rl_complete (ignore, invoking_key)
|
||||
int ignore, invoking_key;
|
||||
{
|
||||
rl_completion_invoking_key = invoking_key;
|
||||
|
||||
if (rl_inhibit_completion)
|
||||
return (_rl_insert_char (ignore, invoking_key));
|
||||
else if (rl_last_func == rl_complete && !completion_changed_buffer)
|
||||
@@ -360,6 +368,7 @@ int
|
||||
rl_possible_completions (ignore, invoking_key)
|
||||
int ignore, invoking_key;
|
||||
{
|
||||
rl_completion_invoking_key = invoking_key;
|
||||
return (rl_complete_internal ('?'));
|
||||
}
|
||||
|
||||
@@ -367,6 +376,7 @@ int
|
||||
rl_insert_completions (ignore, invoking_key)
|
||||
int ignore, invoking_key;
|
||||
{
|
||||
rl_completion_invoking_key = invoking_key;
|
||||
return (rl_complete_internal ('*'));
|
||||
}
|
||||
|
||||
@@ -406,6 +416,7 @@ set_completion_defaults (what_to_do)
|
||||
rl_filename_quoting_desired = 1;
|
||||
rl_completion_type = what_to_do;
|
||||
rl_completion_suppress_append = rl_completion_suppress_quote = 0;
|
||||
rl_completion_append_character = ' ';
|
||||
|
||||
/* The completion entry function may optionally change this. */
|
||||
rl_completion_mark_symlink_dirs = _rl_complete_mark_symlink_dirs;
|
||||
@@ -428,7 +439,7 @@ get_y_or_n (for_pager)
|
||||
return (1);
|
||||
if (c == 'n' || c == 'N' || c == RUBOUT)
|
||||
return (0);
|
||||
if (c == ABORT_CHAR)
|
||||
if (c == ABORT_CHAR || c < 0)
|
||||
_rl_abort_internal ();
|
||||
if (for_pager && (c == NEWLINE || c == RETURN))
|
||||
return (2);
|
||||
@@ -481,6 +492,13 @@ stat_char (filename)
|
||||
struct stat finfo;
|
||||
int character, r;
|
||||
|
||||
/* Short-circuit a //server on cygwin, since that will always behave as
|
||||
a directory. */
|
||||
#if __CYGWIN__
|
||||
if (filename[0] == '/' && filename[1] == '/' && strchr (filename+2, '/') == 0)
|
||||
return '/';
|
||||
#endif
|
||||
|
||||
#if defined (HAVE_LSTAT) && defined (S_ISLNK)
|
||||
r = lstat (filename, &finfo);
|
||||
#else
|
||||
@@ -992,7 +1010,7 @@ remove_duplicate_matches (matches)
|
||||
|
||||
/* Sort the array without matches[0], since we need it to
|
||||
stay in place no matter what. */
|
||||
if (i)
|
||||
if (i && rl_sort_completion_matches)
|
||||
qsort (matches+1, i-1, sizeof (char *), (QSFUNC *)_rl_qsort_string_compare);
|
||||
|
||||
/* Remember the lowest common denominator for it may be unique. */
|
||||
@@ -1104,7 +1122,8 @@ compute_lcd_of_matches (match_list, matches, text)
|
||||
#if defined (HANDLE_MULTIBYTE)
|
||||
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
||||
{
|
||||
mbstate_t ps_back = ps1;
|
||||
mbstate_t ps_back;
|
||||
ps_back = ps1;
|
||||
if (!_rl_compare_chars (match_list[i], si, &ps1, match_list[i+1], si, &ps2))
|
||||
break;
|
||||
else if ((v = _rl_get_char_len (&match_list[i][si], &ps_back)) > 1)
|
||||
@@ -1159,7 +1178,8 @@ compute_lcd_of_matches (match_list, matches, text)
|
||||
}
|
||||
|
||||
/* sort the list to get consistent answers. */
|
||||
qsort (match_list+1, matches, sizeof(char *), (QSFUNC *)_rl_qsort_string_compare);
|
||||
if (rl_sort_completion_matches)
|
||||
qsort (match_list+1, matches, sizeof(char *), (QSFUNC *)_rl_qsort_string_compare);
|
||||
|
||||
si = strlen (text);
|
||||
if (si <= low)
|
||||
@@ -1277,7 +1297,7 @@ rl_display_match_list (matches, len, max)
|
||||
0 < len <= limit implies count = 1. */
|
||||
|
||||
/* Sort the items if they are not already sorted. */
|
||||
if (rl_ignore_completion_duplicates == 0)
|
||||
if (rl_ignore_completion_duplicates == 0 && rl_sort_completion_matches)
|
||||
qsort (matches + 1, len, sizeof (char *), (QSFUNC *)_rl_qsort_string_compare);
|
||||
|
||||
rl_crlf ();
|
||||
@@ -1741,7 +1761,7 @@ rl_complete_internal (what_to_do)
|
||||
break;
|
||||
|
||||
default:
|
||||
fprintf (stderr, "\r\nreadline: bad value %d for what_to_do in rl_complete\n", what_to_do);
|
||||
_rl_ttymsg ("bad value %d for what_to_do in rl_complete", what_to_do);
|
||||
rl_ding ();
|
||||
FREE (saved_line_buffer);
|
||||
RL_UNSETSTATE(RL_STATE_COMPLETING);
|
||||
@@ -1896,7 +1916,6 @@ rl_filename_completion_function (text, state)
|
||||
static char *filename = (char *)NULL;
|
||||
static char *dirname = (char *)NULL;
|
||||
static char *users_dirname = (char *)NULL;
|
||||
static char *orig_filename = (char *)NULL;
|
||||
static int filename_len;
|
||||
char *temp;
|
||||
int dirlen;
|
||||
@@ -2109,8 +2128,8 @@ rl_filename_completion_function (text, state)
|
||||
hit the end of the match list, we restore the original unmatched text,
|
||||
ring the bell, and reset the counter to zero. */
|
||||
int
|
||||
rl_menu_complete (count, ignore)
|
||||
int count, ignore;
|
||||
rl_menu_complete (count, invoking_key)
|
||||
int count, invoking_key;
|
||||
{
|
||||
rl_compentry_func_t *our_func;
|
||||
int matching_filenames, found_quote;
|
||||
@@ -2135,6 +2154,8 @@ rl_menu_complete (count, ignore)
|
||||
match_list_index = match_list_size = 0;
|
||||
matches = (char **)NULL;
|
||||
|
||||
rl_completion_invoking_key = invoking_key;
|
||||
|
||||
/* Only the completion entry function can change these. */
|
||||
set_completion_defaults ('%');
|
||||
|
||||
|
||||
+235
-104
@@ -1,6 +1,6 @@
|
||||
/* display.c -- readline redisplay facility. */
|
||||
|
||||
/* Copyright (C) 1987-2005 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1987-2007 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU Readline Library, a library for
|
||||
reading lines of text with interactive input and history editing.
|
||||
@@ -59,34 +59,54 @@
|
||||
extern char *strchr (), *strrchr ();
|
||||
#endif /* !strchr && !__STDC__ */
|
||||
|
||||
#if defined (HACK_TERMCAP_MOTION)
|
||||
extern char *_rl_term_forward_char;
|
||||
#endif
|
||||
|
||||
static void update_line PARAMS((char *, char *, int, int, int, int));
|
||||
static void space_to_eol PARAMS((int));
|
||||
static void delete_chars PARAMS((int));
|
||||
static void insert_some_chars PARAMS((char *, int, int));
|
||||
static void cr PARAMS((void));
|
||||
|
||||
/* State of visible and invisible lines. */
|
||||
struct line_state
|
||||
{
|
||||
char *line;
|
||||
int *lbreaks;
|
||||
int lbsize;
|
||||
#if defined (HANDLE_MULTIBYTE)
|
||||
int *wrapped_line;
|
||||
int wbsize;
|
||||
#endif
|
||||
};
|
||||
|
||||
/* The line display buffers. One is the line currently displayed on
|
||||
the screen. The other is the line about to be displayed. */
|
||||
static struct line_state line_state_array[2];
|
||||
static struct line_state *line_state_visible = &line_state_array[0];
|
||||
static struct line_state *line_state_invisible = &line_state_array[1];
|
||||
|
||||
/* Backwards-compatible names. */
|
||||
#define inv_lbreaks (line_state_invisible->lbreaks)
|
||||
#define inv_lbsize (line_state_invisible->lbsize)
|
||||
#define vis_lbreaks (line_state_visible->lbreaks)
|
||||
#define vis_lbsize (line_state_visible->lbsize)
|
||||
|
||||
#define visible_line (line_state_visible->line)
|
||||
#define invisible_line (line_state_invisible->line)
|
||||
|
||||
#if defined (HANDLE_MULTIBYTE)
|
||||
static int _rl_col_width PARAMS((const char *, int, int));
|
||||
static int *_rl_wrapped_line;
|
||||
#else
|
||||
# define _rl_col_width(l, s, e) (((e) <= (s)) ? 0 : (e) - (s))
|
||||
#endif
|
||||
|
||||
static int *inv_lbreaks, *vis_lbreaks;
|
||||
static int inv_lbsize, vis_lbsize;
|
||||
|
||||
/* Heuristic used to decide whether it is faster to move from CUR to NEW
|
||||
by backing up or outputting a carriage return and moving forward. */
|
||||
by backing up or outputting a carriage return and moving forward. CUR
|
||||
and NEW are either both buffer positions or absolute screen positions. */
|
||||
#define CR_FASTER(new, cur) (((new) + 1) < ((cur) - (new)))
|
||||
|
||||
/* _rl_last_c_pos is an absolute cursor position in multibyte locales and a
|
||||
buffer index in others. This macro is used when deciding whether the
|
||||
current cursor position is in the middle of a prompt string containing
|
||||
invisible characters. */
|
||||
invisible characters. XXX - might need to take `modmark' into account. */
|
||||
#define PROMPT_ENDING_INDEX \
|
||||
((MB_CUR_MAX > 1 && rl_byte_oriented == 0) ? prompt_physical_chars : prompt_last_invisible+1)
|
||||
|
||||
@@ -143,6 +163,8 @@ int _rl_last_c_pos = 0;
|
||||
int _rl_last_v_pos = 0;
|
||||
|
||||
static int cpos_adjusted;
|
||||
static int cpos_buffer_position;
|
||||
static int prompt_multibyte_chars;
|
||||
|
||||
/* Number of lines currently on screen minus 1. */
|
||||
int _rl_vis_botlin = 0;
|
||||
@@ -152,11 +174,6 @@ int _rl_vis_botlin = 0;
|
||||
doing horizontal scrolling. It shifts in thirds of a screenwidth. */
|
||||
static int last_lmargin;
|
||||
|
||||
/* The line display buffers. One is the line currently displayed on
|
||||
the screen. The other is the line about to be displayed. */
|
||||
static char *visible_line = (char *)NULL;
|
||||
static char *invisible_line = (char *)NULL;
|
||||
|
||||
/* A buffer for `modeline' messages. */
|
||||
static char msg_buf[128];
|
||||
|
||||
@@ -170,6 +187,7 @@ static int line_size = 1024;
|
||||
include invisible characters. */
|
||||
|
||||
static char *local_prompt, *local_prompt_prefix;
|
||||
static int local_prompt_len;
|
||||
static int prompt_visible_length, prompt_prefix_length;
|
||||
|
||||
/* The number of invisible characters in the line currently being
|
||||
@@ -196,6 +214,10 @@ static int prompt_last_screen_line;
|
||||
|
||||
static int prompt_physical_chars;
|
||||
|
||||
/* set to a non-zero value by rl_redisplay if we are marking modified history
|
||||
lines and the current line is so marked. */
|
||||
static int modmark;
|
||||
|
||||
/* Variables to save and restore prompt and display information. */
|
||||
|
||||
/* These are getting numerous enough that it's time to create a struct. */
|
||||
@@ -205,6 +227,7 @@ static char *saved_local_prefix;
|
||||
static int saved_last_invisible;
|
||||
static int saved_visible_length;
|
||||
static int saved_prefix_length;
|
||||
static int saved_local_length;
|
||||
static int saved_invis_chars_first_line;
|
||||
static int saved_physical_chars;
|
||||
|
||||
@@ -282,6 +305,11 @@ expand_prompt (pmt, lp, lip, niflp, vlp)
|
||||
*r++ = *p++;
|
||||
if (!ignoring)
|
||||
{
|
||||
/* rl ends up being assigned to prompt_visible_length,
|
||||
which is the number of characters in the buffer that
|
||||
contribute to characters on the screen, which might
|
||||
not be the same as the number of physical characters
|
||||
on the screen in the presence of multibyte characters */
|
||||
rl += ind - pind;
|
||||
physchars += _rl_col_width (pmt, pind, ind);
|
||||
}
|
||||
@@ -366,6 +394,7 @@ rl_expand_prompt (prompt)
|
||||
FREE (local_prompt_prefix);
|
||||
|
||||
local_prompt = local_prompt_prefix = (char *)0;
|
||||
local_prompt_len = 0;
|
||||
prompt_last_invisible = prompt_invis_chars_first_line = 0;
|
||||
prompt_visible_length = prompt_physical_chars = 0;
|
||||
|
||||
@@ -381,6 +410,7 @@ rl_expand_prompt (prompt)
|
||||
&prompt_invis_chars_first_line,
|
||||
&prompt_physical_chars);
|
||||
local_prompt_prefix = (char *)0;
|
||||
local_prompt_len = local_prompt ? strlen (local_prompt) : 0;
|
||||
return (prompt_visible_length);
|
||||
}
|
||||
else
|
||||
@@ -399,6 +429,7 @@ rl_expand_prompt (prompt)
|
||||
&prompt_invis_chars_first_line,
|
||||
(int *)NULL);
|
||||
*t = c;
|
||||
local_prompt_len = local_prompt ? strlen (local_prompt) : 0;
|
||||
return (prompt_prefix_length);
|
||||
}
|
||||
}
|
||||
@@ -443,7 +474,11 @@ init_line_structures (minsize)
|
||||
inv_lbreaks = (int *)xmalloc (inv_lbsize * sizeof (int));
|
||||
vis_lbreaks = (int *)xmalloc (vis_lbsize * sizeof (int));
|
||||
#if defined (HANDLE_MULTIBYTE)
|
||||
_rl_wrapped_line = (int *)xmalloc (vis_lbsize * sizeof (int));
|
||||
line_state_visible->wbsize = vis_lbsize;
|
||||
line_state_visible->wrapped_line = (int *)xmalloc (line_state_visible->wbsize * sizeof (int));
|
||||
|
||||
line_state_invisible->wbsize = inv_lbsize;
|
||||
line_state_invisible->wrapped_line = (int *)xmalloc (line_state_invisible->wbsize * sizeof (int));
|
||||
#endif
|
||||
inv_lbreaks[0] = vis_lbreaks[0] = 0;
|
||||
}
|
||||
@@ -455,8 +490,8 @@ rl_redisplay ()
|
||||
{
|
||||
register int in, out, c, linenum, cursor_linenum;
|
||||
register char *line;
|
||||
int c_pos, inv_botlin, lb_botlin, lb_linenum, o_cpos;
|
||||
int newlines, lpos, temp, modmark, n0, num;
|
||||
int inv_botlin, lb_botlin, lb_linenum, o_cpos;
|
||||
int newlines, lpos, temp, n0, num;
|
||||
char *prompt_this_line;
|
||||
#if defined (HANDLE_MULTIBYTE)
|
||||
wchar_t wc;
|
||||
@@ -479,7 +514,9 @@ rl_redisplay ()
|
||||
}
|
||||
|
||||
/* Draw the line into the buffer. */
|
||||
c_pos = -1;
|
||||
cpos_buffer_position = -1;
|
||||
|
||||
prompt_multibyte_chars = prompt_visible_length - prompt_physical_chars;
|
||||
|
||||
line = invisible_line;
|
||||
out = inv_botlin = 0;
|
||||
@@ -506,24 +543,23 @@ rl_redisplay ()
|
||||
number of non-visible characters in the prompt string. */
|
||||
if (rl_display_prompt == rl_prompt || local_prompt)
|
||||
{
|
||||
int local_len = local_prompt ? strlen (local_prompt) : 0;
|
||||
if (local_prompt_prefix && forced_display)
|
||||
_rl_output_some_chars (local_prompt_prefix, strlen (local_prompt_prefix));
|
||||
|
||||
if (local_len > 0)
|
||||
if (local_prompt_len > 0)
|
||||
{
|
||||
temp = local_len + out + 2;
|
||||
temp = local_prompt_len + out + 2;
|
||||
if (temp >= line_size)
|
||||
{
|
||||
line_size = (temp + 1024) - (temp % 1024);
|
||||
visible_line = (char *)xrealloc (visible_line, line_size);
|
||||
line = invisible_line = (char *)xrealloc (invisible_line, line_size);
|
||||
}
|
||||
strncpy (line + out, local_prompt, local_len);
|
||||
out += local_len;
|
||||
strncpy (line + out, local_prompt, local_prompt_len);
|
||||
out += local_prompt_len;
|
||||
}
|
||||
line[out] = '\0';
|
||||
wrap_offset = local_len - prompt_visible_length;
|
||||
wrap_offset = local_prompt_len - prompt_visible_length;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -578,10 +614,14 @@ rl_redisplay ()
|
||||
{ \
|
||||
inv_lbsize *= 2; \
|
||||
inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \
|
||||
_rl_wrapped_line = (int *)xrealloc (_rl_wrapped_line, inv_lbsize * sizeof (int)); \
|
||||
} \
|
||||
inv_lbreaks[++newlines] = out; \
|
||||
_rl_wrapped_line[newlines] = _rl_wrapped_multicolumn; \
|
||||
if (newlines >= (line_state_invisible->wbsize - 1)) \
|
||||
{ \
|
||||
line_state_invisible->wbsize *= 2; \
|
||||
line_state_invisible->wrapped_line = (int *)xrealloc (line_state_invisible->wrapped_line, line_state_invisible->wbsize * sizeof(int)); \
|
||||
} \
|
||||
line_state_invisible->wrapped_line[newlines] = _rl_wrapped_multicolumn; \
|
||||
lpos = 0; \
|
||||
} \
|
||||
} while (0)
|
||||
@@ -611,7 +651,7 @@ rl_redisplay ()
|
||||
#endif
|
||||
|
||||
#if defined (HANDLE_MULTIBYTE)
|
||||
memset (_rl_wrapped_line, 0, vis_lbsize);
|
||||
memset (line_state_invisible->wrapped_line, 0, line_state_invisible->wbsize * sizeof (int));
|
||||
num = 0;
|
||||
#endif
|
||||
|
||||
@@ -624,6 +664,7 @@ rl_redisplay ()
|
||||
contents of the command line? */
|
||||
while (lpos >= _rl_screenwidth)
|
||||
{
|
||||
int z;
|
||||
/* fix from Darin Johnson <darin@acuson.com> for prompt string with
|
||||
invisible characters that is longer than the screen width. The
|
||||
prompt_invis_chars_first_line variable could be made into an array
|
||||
@@ -632,37 +673,48 @@ rl_redisplay ()
|
||||
prompts that exceed two physical lines?
|
||||
Additional logic fix from Edward Catmur <ed@catmur.co.uk> */
|
||||
#if defined (HANDLE_MULTIBYTE)
|
||||
n0 = num;
|
||||
temp = local_prompt ? strlen (local_prompt) : 0;
|
||||
while (num < temp)
|
||||
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
||||
{
|
||||
if (_rl_col_width (local_prompt, n0, num) > _rl_screenwidth)
|
||||
n0 = num;
|
||||
temp = local_prompt_len;
|
||||
while (num < temp)
|
||||
{
|
||||
num = _rl_find_prev_mbchar (local_prompt, num, MB_FIND_ANY);
|
||||
break;
|
||||
z = _rl_col_width (local_prompt, n0, num);
|
||||
if (z > _rl_screenwidth)
|
||||
{
|
||||
num = _rl_find_prev_mbchar (local_prompt, num, MB_FIND_ANY);
|
||||
break;
|
||||
}
|
||||
else if (z == _rl_screenwidth)
|
||||
break;
|
||||
num++;
|
||||
}
|
||||
num++;
|
||||
temp = num;
|
||||
}
|
||||
temp = num +
|
||||
#else
|
||||
temp = ((newlines + 1) * _rl_screenwidth) +
|
||||
else
|
||||
#endif /* !HANDLE_MULTIBYTE */
|
||||
((local_prompt_prefix == 0) ? ((newlines == 0) ? prompt_invis_chars_first_line
|
||||
: ((newlines == 1) ? wrap_offset : 0))
|
||||
: ((newlines == 0) ? wrap_offset :0));
|
||||
temp = ((newlines + 1) * _rl_screenwidth);
|
||||
|
||||
/* Now account for invisible characters in the current line. */
|
||||
/* XXX - this assumes that all of the invisible characters are before
|
||||
the line wrap. */
|
||||
temp += ((local_prompt_prefix == 0) ? ((newlines == 0) ? prompt_invis_chars_first_line
|
||||
: ((newlines == 1) ? wrap_offset : 0))
|
||||
: ((newlines == 0) ? wrap_offset :0));
|
||||
|
||||
inv_lbreaks[++newlines] = temp;
|
||||
#if defined (HANDLE_MULTIBYTE)
|
||||
lpos -= _rl_col_width (local_prompt, n0, num);
|
||||
#else
|
||||
lpos -= _rl_screenwidth;
|
||||
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
||||
lpos -= _rl_col_width (local_prompt, n0, num);
|
||||
else
|
||||
#endif
|
||||
lpos -= _rl_screenwidth;
|
||||
}
|
||||
|
||||
prompt_last_screen_line = newlines;
|
||||
|
||||
/* Draw the rest of the line (after the prompt) into invisible_line, keeping
|
||||
track of where the cursor is (c_pos), the number of the line containing
|
||||
track of where the cursor is (cpos_buffer_position), the number of the line containing
|
||||
the cursor (lb_linenum), the last line number (lb_botlin and inv_botlin).
|
||||
It maintains an array of line breaks for display (inv_lbreaks).
|
||||
This handles expanding tabs for display and displaying meta characters. */
|
||||
@@ -715,7 +767,7 @@ rl_redisplay ()
|
||||
|
||||
if (in == rl_point)
|
||||
{
|
||||
c_pos = out;
|
||||
cpos_buffer_position = out;
|
||||
lb_linenum = newlines;
|
||||
}
|
||||
|
||||
@@ -809,7 +861,7 @@ rl_redisplay ()
|
||||
}
|
||||
if (in == rl_point)
|
||||
{
|
||||
c_pos = out;
|
||||
cpos_buffer_position = out;
|
||||
lb_linenum = newlines;
|
||||
}
|
||||
for (i = in; i < in+wc_bytes; i++)
|
||||
@@ -840,9 +892,9 @@ rl_redisplay ()
|
||||
|
||||
}
|
||||
line[out] = '\0';
|
||||
if (c_pos < 0)
|
||||
if (cpos_buffer_position < 0)
|
||||
{
|
||||
c_pos = out;
|
||||
cpos_buffer_position = out;
|
||||
lb_linenum = newlines;
|
||||
}
|
||||
|
||||
@@ -851,7 +903,7 @@ rl_redisplay ()
|
||||
inv_lbreaks[newlines+1] = out;
|
||||
cursor_linenum = lb_linenum;
|
||||
|
||||
/* C_POS == position in buffer where cursor should be placed.
|
||||
/* CPOS_BUFFER_POSITION == position in buffer where cursor should be placed.
|
||||
CURSOR_LINENUM == line number where the cursor should be placed. */
|
||||
|
||||
/* PWP: now is when things get a bit hairy. The visible and invisible
|
||||
@@ -896,6 +948,8 @@ rl_redisplay ()
|
||||
/* For each line in the buffer, do the updating display. */
|
||||
for (linenum = 0; linenum <= inv_botlin; linenum++)
|
||||
{
|
||||
/* This can lead us astray if we execute a program that changes
|
||||
the locale from a non-multibyte to a multibyte one. */
|
||||
o_cpos = _rl_last_c_pos;
|
||||
cpos_adjusted = 0;
|
||||
update_line (VIS_LINE(linenum), INV_LINE(linenum), linenum,
|
||||
@@ -908,7 +962,11 @@ rl_redisplay ()
|
||||
change update_line itself. There is one case in which
|
||||
update_line adjusts _rl_last_c_pos itself (so it can pass
|
||||
_rl_move_cursor_relative accurate values); it communicates
|
||||
this back by setting cpos_adjusted */
|
||||
this back by setting cpos_adjusted. If we assume that
|
||||
_rl_last_c_pos is correct (an absolute cursor position) each
|
||||
time update_line is called, then we can assume in our
|
||||
calculations that o_cpos does not need to be adjusted by
|
||||
wrap_offset. */
|
||||
if (linenum == 0 && (MB_CUR_MAX > 1 && rl_byte_oriented == 0) &&
|
||||
cpos_adjusted == 0 &&
|
||||
_rl_last_c_pos != o_cpos &&
|
||||
@@ -989,19 +1047,22 @@ rl_redisplay ()
|
||||
if (_rl_term_cr)
|
||||
tputs (_rl_term_cr, 1, _rl_output_character_function);
|
||||
#endif
|
||||
if (modmark)
|
||||
_rl_output_some_chars ("*", 1);
|
||||
|
||||
_rl_output_some_chars (local_prompt, nleft);
|
||||
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
||||
_rl_last_c_pos = _rl_col_width (local_prompt, 0, nleft) - wrap_offset;
|
||||
_rl_last_c_pos = _rl_col_width (local_prompt, 0, nleft) - wrap_offset + modmark;
|
||||
else
|
||||
_rl_last_c_pos = nleft;
|
||||
_rl_last_c_pos = nleft + modmark;
|
||||
}
|
||||
|
||||
/* Where on that line? And where does that line start
|
||||
in the buffer? */
|
||||
pos = inv_lbreaks[cursor_linenum];
|
||||
/* nleft == number of characters in the line buffer between the
|
||||
start of the line and the cursor position. */
|
||||
nleft = c_pos - pos;
|
||||
start of the line and the desired cursor position. */
|
||||
nleft = cpos_buffer_position - pos;
|
||||
|
||||
/* NLEFT is now a number of characters in a buffer. When in a
|
||||
multibyte locale, however, _rl_last_c_pos is an absolute cursor
|
||||
@@ -1013,6 +1074,7 @@ rl_redisplay ()
|
||||
those characters here and call _rl_backspace() directly. */
|
||||
if (wrap_offset && cursor_linenum == 0 && nleft < _rl_last_c_pos)
|
||||
{
|
||||
/* TX == new physical cursor position in multibyte locale. */
|
||||
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
||||
tx = _rl_col_width (&visible_line[pos], 0, nleft) - visible_wrap_offset;
|
||||
else
|
||||
@@ -1046,11 +1108,11 @@ rl_redisplay ()
|
||||
will be LMARGIN. */
|
||||
|
||||
/* The number of characters that will be displayed before the cursor. */
|
||||
ndisp = c_pos - wrap_offset;
|
||||
ndisp = cpos_buffer_position - wrap_offset;
|
||||
nleft = prompt_visible_length + wrap_offset;
|
||||
/* Where the new cursor position will be on the screen. This can be
|
||||
longer than SCREENWIDTH; if it is, lmargin will be adjusted. */
|
||||
phys_c_pos = c_pos - (last_lmargin ? last_lmargin : wrap_offset);
|
||||
phys_c_pos = cpos_buffer_position - (last_lmargin ? last_lmargin : wrap_offset);
|
||||
t = _rl_screenwidth / 3;
|
||||
|
||||
/* If the number of characters had already exceeded the screenwidth,
|
||||
@@ -1061,7 +1123,7 @@ rl_redisplay ()
|
||||
two-thirds of the way across the screen. */
|
||||
if (phys_c_pos > _rl_screenwidth - 2)
|
||||
{
|
||||
lmargin = c_pos - (2 * t);
|
||||
lmargin = cpos_buffer_position - (2 * t);
|
||||
if (lmargin < 0)
|
||||
lmargin = 0;
|
||||
/* If the left margin would be in the middle of a prompt with
|
||||
@@ -1075,7 +1137,7 @@ rl_redisplay ()
|
||||
{
|
||||
/* If we are moving back towards the beginning of the line and
|
||||
the last margin is no longer correct, compute a new one. */
|
||||
lmargin = ((c_pos - 1) / t) * t; /* XXX */
|
||||
lmargin = ((cpos_buffer_position - 1) / t) * t; /* XXX */
|
||||
if (wrap_offset && lmargin > 0 && lmargin < nleft)
|
||||
lmargin = nleft;
|
||||
}
|
||||
@@ -1120,7 +1182,7 @@ rl_redisplay ()
|
||||
if (visible_first_line_len > _rl_screenwidth)
|
||||
visible_first_line_len = _rl_screenwidth;
|
||||
|
||||
_rl_move_cursor_relative (c_pos - lmargin, &invisible_line[lmargin]);
|
||||
_rl_move_cursor_relative (cpos_buffer_position - lmargin, &invisible_line[lmargin]);
|
||||
last_lmargin = lmargin;
|
||||
}
|
||||
}
|
||||
@@ -1128,17 +1190,10 @@ rl_redisplay ()
|
||||
|
||||
/* Swap visible and non-visible lines. */
|
||||
{
|
||||
char *vtemp = visible_line;
|
||||
int *itemp = vis_lbreaks, ntemp = vis_lbsize;
|
||||
struct line_state *vtemp = line_state_visible;
|
||||
|
||||
visible_line = invisible_line;
|
||||
invisible_line = vtemp;
|
||||
|
||||
vis_lbreaks = inv_lbreaks;
|
||||
inv_lbreaks = itemp;
|
||||
|
||||
vis_lbsize = inv_lbsize;
|
||||
inv_lbsize = ntemp;
|
||||
line_state_visible = line_state_invisible;
|
||||
line_state_invisible = vtemp;
|
||||
|
||||
rl_display_fixed = 0;
|
||||
/* If we are displaying on a single line, and last_lmargin is > 0, we
|
||||
@@ -1173,7 +1228,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
|
||||
int current_line, omax, nmax, inv_botlin;
|
||||
{
|
||||
register char *ofd, *ols, *oe, *nfd, *nls, *ne;
|
||||
int temp, lendiff, wsatend, od, nd;
|
||||
int temp, lendiff, wsatend, od, nd, twidth;
|
||||
int current_invis_chars;
|
||||
int col_lendiff, col_temp;
|
||||
#if defined (HANDLE_MULTIBYTE)
|
||||
@@ -1204,8 +1259,8 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
|
||||
/* This fixes only double-column characters, but if the wrapped
|
||||
character comsumes more than three columns, spaces will be
|
||||
inserted in the string buffer. */
|
||||
if (_rl_wrapped_line[current_line] > 0)
|
||||
_rl_clear_to_eol (_rl_wrapped_line[current_line]);
|
||||
if (current_line < line_state_visible->wbsize && line_state_visible->wrapped_line[current_line] > 0)
|
||||
_rl_clear_to_eol (line_state_visible->wrapped_line[current_line]);
|
||||
|
||||
memset (&ps, 0, sizeof (mbstate_t));
|
||||
ret = mbrtowc (&wc, new, MB_CUR_MAX, &ps);
|
||||
@@ -1269,7 +1324,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
|
||||
/* See if the old line is a subset of the new line, so that the
|
||||
only change is adding characters. */
|
||||
temp = (omax < nmax) ? omax : nmax;
|
||||
if (memcmp (old, new, temp) == 0)
|
||||
if (memcmp (old, new, temp) == 0) /* adding at the end */
|
||||
{
|
||||
ofd = old + temp;
|
||||
nfd = new + temp;
|
||||
@@ -1411,30 +1466,44 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
|
||||
sequences (like drawing the `unbold' sequence without a corresponding
|
||||
`bold') that manifests itself on certain terminals. */
|
||||
|
||||
lendiff = local_prompt ? strlen (local_prompt) : 0;
|
||||
lendiff = local_prompt_len;
|
||||
od = ofd - old; /* index of first difference in visible line */
|
||||
if (current_line == 0 && !_rl_horizontal_scroll_mode &&
|
||||
_rl_term_cr && lendiff > prompt_visible_length && _rl_last_c_pos > 0 &&
|
||||
od >= lendiff && _rl_last_c_pos <= PROMPT_ENDING_INDEX)
|
||||
od >= lendiff && _rl_last_c_pos < PROMPT_ENDING_INDEX)
|
||||
{
|
||||
#if defined (__MSDOS__)
|
||||
putc ('\r', rl_outstream);
|
||||
#else
|
||||
tputs (_rl_term_cr, 1, _rl_output_character_function);
|
||||
#endif
|
||||
if (modmark)
|
||||
_rl_output_some_chars ("*", 1);
|
||||
_rl_output_some_chars (local_prompt, lendiff);
|
||||
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
||||
{
|
||||
/* We take wrap_offset into account here so we can pass correct
|
||||
information to _rl_move_cursor_relative. */
|
||||
_rl_last_c_pos = _rl_col_width (local_prompt, 0, lendiff) - wrap_offset;
|
||||
_rl_last_c_pos = _rl_col_width (local_prompt, 0, lendiff) - wrap_offset + modmark;
|
||||
cpos_adjusted = 1;
|
||||
}
|
||||
else
|
||||
_rl_last_c_pos = lendiff;
|
||||
_rl_last_c_pos = lendiff + modmark;
|
||||
}
|
||||
|
||||
/* When this function returns, _rl_last_c_pos is correct, and an absolute
|
||||
cursor postion in multibyte mode, but a buffer index when not in a
|
||||
multibyte locale. */
|
||||
_rl_move_cursor_relative (od, old);
|
||||
#if 1
|
||||
#if defined (HANDLE_MULTIBYTE)
|
||||
/* We need to indicate that the cursor position is correct in the presence of
|
||||
invisible characters in the prompt string. Let's see if setting this when
|
||||
we make sure we're at the end of the drawn prompt string works. */
|
||||
if (current_line == 0 && MB_CUR_MAX > 1 && rl_byte_oriented == 0 && _rl_last_c_pos == prompt_physical_chars)
|
||||
cpos_adjusted = 1;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* if (len (new) > len (old))
|
||||
lendiff == difference in buffer
|
||||
@@ -1514,15 +1583,15 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
|
||||
if ((temp - lendiff) > 0)
|
||||
{
|
||||
_rl_output_some_chars (nfd + lendiff, temp - lendiff);
|
||||
#if 1
|
||||
/* XXX -- this bears closer inspection. Fixes a redisplay bug
|
||||
reported against bash-3.0-alpha by Andreas Schwab involving
|
||||
multibyte characters and prompt strings with invisible
|
||||
characters, but was previously disabled. */
|
||||
_rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-col_lendiff);
|
||||
#else
|
||||
_rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-lendiff);
|
||||
#endif
|
||||
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
||||
twidth = _rl_col_width (nfd+lendiff, 0, temp-col_lendiff);
|
||||
else
|
||||
twidth = temp - lendiff;
|
||||
_rl_last_c_pos += twidth;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1555,8 +1624,22 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
|
||||
temp = nls - nfd;
|
||||
if (temp > 0)
|
||||
{
|
||||
/* If nfd begins at the prompt, or before the invisible
|
||||
characters in the prompt, we need to adjust _rl_last_c_pos
|
||||
in a multibyte locale to account for the wrap offset and
|
||||
set cpos_adjusted accordingly. */
|
||||
_rl_output_some_chars (nfd, temp);
|
||||
_rl_last_c_pos += _rl_col_width (nfd, 0, temp);;
|
||||
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
||||
{
|
||||
_rl_last_c_pos += _rl_col_width (nfd, 0, temp);
|
||||
if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible))
|
||||
{
|
||||
_rl_last_c_pos -= wrap_offset;
|
||||
cpos_adjusted = 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
_rl_last_c_pos += temp;
|
||||
}
|
||||
}
|
||||
/* Otherwise, print over the existing material. */
|
||||
@@ -1564,8 +1647,20 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
|
||||
{
|
||||
if (temp > 0)
|
||||
{
|
||||
/* If nfd begins at the prompt, or before the invisible
|
||||
characters in the prompt, we need to adjust _rl_last_c_pos
|
||||
in a multibyte locale to account for the wrap offset and
|
||||
set cpos_adjusted accordingly. */
|
||||
_rl_output_some_chars (nfd, temp);
|
||||
_rl_last_c_pos += col_temp; /* XXX */
|
||||
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
||||
{
|
||||
if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible))
|
||||
{
|
||||
_rl_last_c_pos -= wrap_offset;
|
||||
cpos_adjusted = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
lendiff = (oe - old) - (ne - new);
|
||||
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
||||
@@ -1701,8 +1796,17 @@ _rl_move_cursor_relative (new, data)
|
||||
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
||||
{
|
||||
dpos = _rl_col_width (data, 0, new);
|
||||
if (dpos > woff)
|
||||
dpos -= woff;
|
||||
/* Use NEW when comparing against the last invisible character in the
|
||||
prompt string, since they're both buffer indices and DPOS is a
|
||||
desired display position. */
|
||||
if (new > prompt_last_invisible) /* XXX - don't use woff here */
|
||||
{
|
||||
dpos -= woff;
|
||||
/* Since this will be assigned to _rl_last_c_pos at the end (more
|
||||
precisely, _rl_last_c_pos == dpos when this function returns),
|
||||
let the caller know. */
|
||||
cpos_adjusted = 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
@@ -1721,7 +1825,7 @@ _rl_move_cursor_relative (new, data)
|
||||
else
|
||||
#endif
|
||||
i = _rl_last_c_pos - woff;
|
||||
if (new == 0 || CR_FASTER (new, _rl_last_c_pos) ||
|
||||
if (dpos == 0 || CR_FASTER (dpos, _rl_last_c_pos) ||
|
||||
(_rl_term_autowrap && i == _rl_screenwidth))
|
||||
{
|
||||
#if defined (__MSDOS__)
|
||||
@@ -1743,19 +1847,27 @@ _rl_move_cursor_relative (new, data)
|
||||
sequence telling the terminal to move forward one character.
|
||||
That kind of control is for people who don't know what the
|
||||
data is underneath the cursor. */
|
||||
#if defined (HACK_TERMCAP_MOTION)
|
||||
if (_rl_term_forward_char)
|
||||
{
|
||||
for (i = cpos; i < dpos; i++)
|
||||
tputs (_rl_term_forward_char, 1, _rl_output_character_function);
|
||||
}
|
||||
else
|
||||
#endif /* HACK_TERMCAP_MOTION */
|
||||
|
||||
/* However, we need a handle on where the current display position is
|
||||
in the buffer for the immediately preceding comment to be true.
|
||||
In multibyte locales, we don't currently have that info available.
|
||||
Without it, we don't know where the data we have to display begins
|
||||
in the buffer and we have to go back to the beginning of the screen
|
||||
line. In this case, we can use the terminal sequence to move forward
|
||||
if it's available. */
|
||||
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
||||
{
|
||||
tputs (_rl_term_cr, 1, _rl_output_character_function);
|
||||
for (i = 0; i < new; i++)
|
||||
putc (data[i], rl_outstream);
|
||||
if (_rl_term_forward_char)
|
||||
{
|
||||
for (i = cpos; i < dpos; i++)
|
||||
tputs (_rl_term_forward_char, 1, _rl_output_character_function);
|
||||
}
|
||||
else
|
||||
{
|
||||
tputs (_rl_term_cr, 1, _rl_output_character_function);
|
||||
for (i = 0; i < new; i++)
|
||||
putc (data[i], rl_outstream);
|
||||
}
|
||||
}
|
||||
else
|
||||
for (i = cpos; i < new; i++)
|
||||
@@ -1904,6 +2016,7 @@ rl_message (va_alist)
|
||||
&prompt_invis_chars_first_line,
|
||||
&prompt_physical_chars);
|
||||
local_prompt_prefix = (char *)NULL;
|
||||
local_prompt_len = local_prompt ? strlen (local_prompt) : 0;
|
||||
(*rl_redisplay_function) ();
|
||||
|
||||
return 0;
|
||||
@@ -1927,6 +2040,7 @@ rl_message (format, arg1, arg2)
|
||||
&prompt_invis_chars_first_line,
|
||||
&prompt_physical_chars);
|
||||
local_prompt_prefix = (char *)NULL;
|
||||
local_prompt_len = local_prompt ? strlen (local_prompt) : 0;
|
||||
(*rl_redisplay_function) ();
|
||||
|
||||
return 0;
|
||||
@@ -1963,12 +2077,14 @@ rl_save_prompt ()
|
||||
saved_local_prompt = local_prompt;
|
||||
saved_local_prefix = local_prompt_prefix;
|
||||
saved_prefix_length = prompt_prefix_length;
|
||||
saved_local_length = local_prompt_len;
|
||||
saved_last_invisible = prompt_last_invisible;
|
||||
saved_visible_length = prompt_visible_length;
|
||||
saved_invis_chars_first_line = prompt_invis_chars_first_line;
|
||||
saved_physical_chars = prompt_physical_chars;
|
||||
|
||||
local_prompt = local_prompt_prefix = (char *)0;
|
||||
local_prompt_len = 0;
|
||||
prompt_last_invisible = prompt_visible_length = prompt_prefix_length = 0;
|
||||
prompt_invis_chars_first_line = prompt_physical_chars = 0;
|
||||
}
|
||||
@@ -1981,6 +2097,7 @@ rl_restore_prompt ()
|
||||
|
||||
local_prompt = saved_local_prompt;
|
||||
local_prompt_prefix = saved_local_prefix;
|
||||
local_prompt_len = saved_local_length;
|
||||
prompt_prefix_length = saved_prefix_length;
|
||||
prompt_last_invisible = saved_last_invisible;
|
||||
prompt_visible_length = saved_visible_length;
|
||||
@@ -1989,6 +2106,7 @@ rl_restore_prompt ()
|
||||
|
||||
/* can test saved_local_prompt to see if prompt info has been saved. */
|
||||
saved_local_prompt = saved_local_prefix = (char *)0;
|
||||
saved_local_length = 0;
|
||||
saved_last_invisible = saved_visible_length = saved_prefix_length = 0;
|
||||
saved_invis_chars_first_line = saved_physical_chars = 0;
|
||||
}
|
||||
@@ -2094,7 +2212,7 @@ insert_some_chars (string, count, col)
|
||||
/* DEBUGGING */
|
||||
if (MB_CUR_MAX == 1 || rl_byte_oriented)
|
||||
if (count != col)
|
||||
fprintf(stderr, "readline: debug: insert_some_chars: count (%d) != col (%d)\n", count, col);
|
||||
_rl_ttymsg ("debug: insert_some_chars: count (%d) != col (%d)", count, col);
|
||||
|
||||
/* If IC is defined, then we do not have to "enter" insert mode. */
|
||||
if (_rl_term_IC)
|
||||
@@ -2177,7 +2295,8 @@ _rl_update_final ()
|
||||
char *last_line;
|
||||
|
||||
last_line = &visible_line[vis_lbreaks[_rl_vis_botlin]];
|
||||
_rl_move_cursor_relative (_rl_screenwidth - 1, last_line);
|
||||
cpos_buffer_position = -1; /* don't know where we are in buffer */
|
||||
_rl_move_cursor_relative (_rl_screenwidth - 1, last_line); /* XXX */
|
||||
_rl_clear_to_eol (0);
|
||||
putc (last_line[_rl_screenwidth - 1], rl_outstream);
|
||||
}
|
||||
@@ -2220,6 +2339,7 @@ redraw_prompt (t)
|
||||
&prompt_invis_chars_first_line,
|
||||
&prompt_physical_chars);
|
||||
local_prompt_prefix = (char *)NULL;
|
||||
local_prompt_len = local_prompt ? strlen (local_prompt) : 0;
|
||||
|
||||
rl_forced_update_display ();
|
||||
|
||||
@@ -2233,10 +2353,14 @@ _rl_redisplay_after_sigwinch ()
|
||||
{
|
||||
char *t;
|
||||
|
||||
/* Clear the current line and put the cursor at column 0. Make sure
|
||||
the right thing happens if we have wrapped to a new screen line. */
|
||||
/* Clear the last line (assuming that the screen size change will result in
|
||||
either more or fewer characters on that line only) and put the cursor at
|
||||
column 0. Make sure the right thing happens if we have wrapped to a new
|
||||
screen line. */
|
||||
if (_rl_term_cr)
|
||||
{
|
||||
_rl_move_vert (_rl_vis_botlin);
|
||||
|
||||
#if defined (__MSDOS__)
|
||||
putc ('\r', rl_outstream);
|
||||
#else
|
||||
@@ -2322,11 +2446,18 @@ _rl_col_width (str, start, end)
|
||||
int start, end;
|
||||
{
|
||||
wchar_t wc;
|
||||
mbstate_t ps = {0};
|
||||
mbstate_t ps;
|
||||
int tmp, point, width, max;
|
||||
|
||||
if (end <= start)
|
||||
return 0;
|
||||
if (MB_CUR_MAX == 1 || rl_byte_oriented)
|
||||
{
|
||||
_rl_ttymsg ("_rl_col_width: called with MB_CUR_MAX == 1");
|
||||
return (end - start);
|
||||
}
|
||||
|
||||
memset (&ps, 0, sizeof (mbstate_t));
|
||||
|
||||
point = 0;
|
||||
max = end;
|
||||
|
||||
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on February, 9 2006 by texi2html 1.64 -->
|
||||
<!-- Created on February, 27 2007 by texi2html 1.64 -->
|
||||
<!--
|
||||
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
|
||||
Karl Berry <karl@freefriends.org>
|
||||
@@ -314,7 +314,7 @@ of the following modifiers, each preceded by a <SAMP>`:'</SAMP>.
|
||||
<P>
|
||||
|
||||
<DT><CODE>t</CODE>
|
||||
<DD>Remove all leading pathname components, leaving the tail.
|
||||
<DD>Remove all leading pathname components, leaving the tail.
|
||||
<P>
|
||||
|
||||
<DT><CODE>r</CODE>
|
||||
@@ -2100,7 +2100,7 @@ to permit their use in free software.
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="history.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1>About this document</H1>
|
||||
This document was generated by <I>Chet Ramey</I> on <I>February, 9 2006</I>
|
||||
This document was generated by <I>Chet Ramey</I> on <I>February, 27 2007</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
<P></P>
|
||||
@@ -2262,7 +2262,7 @@ the following structure:
|
||||
<BR>
|
||||
<FONT SIZE="-1">
|
||||
This document was generated
|
||||
by <I>Chet Ramey</I> on <I>February, 9 2006</I>
|
||||
by <I>Chet Ramey</I> on <I>February, 27 2007</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
This is history.info, produced by makeinfo version 4.7 from
|
||||
This is history.info, produced by makeinfo version 4.8 from
|
||||
./history.texi.
|
||||
|
||||
This document describes the GNU History library (version 5.2, 9
|
||||
February 2006), a programming tool that provides a consistent user
|
||||
This document describes the GNU History library (version 5.2, 27
|
||||
February 2007), a programming tool that provides a consistent user
|
||||
interface for recalling lines of previously typed input.
|
||||
|
||||
Copyright (C) 1988-2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 1988-2006 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
@@ -13,7 +13,7 @@ preserved on all copies.
|
||||
|
||||
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
|
||||
Version 1.2 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
|
||||
@@ -207,7 +207,7 @@ more of the following modifiers, each preceded by a `:'.
|
||||
Remove a trailing pathname component, leaving only the head.
|
||||
|
||||
`t'
|
||||
Remove all leading pathname components, leaving the tail.
|
||||
Remove all leading pathname components, leaving the tail.
|
||||
|
||||
`r'
|
||||
Remove a trailing suffix of the form `.SUFFIX', leaving the
|
||||
@@ -1325,28 +1325,28 @@ Appendix C Function and Variable Index
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Top1280
|
||||
Node: Using History Interactively1905
|
||||
Node: History Interaction2413
|
||||
Node: Event Designators3837
|
||||
Node: Word Designators4772
|
||||
Node: Modifiers6411
|
||||
Node: Programming with GNU History7638
|
||||
Node: Introduction to History8370
|
||||
Node: History Storage10060
|
||||
Node: History Functions11195
|
||||
Node: Initializing History and State Management12184
|
||||
Node: History List Management12996
|
||||
Node: Information About the History List15028
|
||||
Node: Moving Around the History List16525
|
||||
Node: Searching the History List17526
|
||||
Node: Managing the History File19458
|
||||
Node: History Expansion21278
|
||||
Node: History Variables23186
|
||||
Node: History Programming Example25992
|
||||
Node: Copying This Manual28669
|
||||
Node: GNU Free Documentation License28929
|
||||
Node: Concept Index51335
|
||||
Node: Function and Variable Index52175
|
||||
Node: Top1281
|
||||
Node: Using History Interactively1906
|
||||
Node: History Interaction2414
|
||||
Node: Event Designators3838
|
||||
Node: Word Designators4773
|
||||
Node: Modifiers6412
|
||||
Node: Programming with GNU History7637
|
||||
Node: Introduction to History8369
|
||||
Node: History Storage10059
|
||||
Node: History Functions11194
|
||||
Node: Initializing History and State Management12183
|
||||
Node: History List Management12995
|
||||
Node: Information About the History List15027
|
||||
Node: Moving Around the History List16524
|
||||
Node: Searching the History List17525
|
||||
Node: Managing the History File19457
|
||||
Node: History Expansion21277
|
||||
Node: History Variables23185
|
||||
Node: History Programming Example25991
|
||||
Node: Copying This Manual28668
|
||||
Node: GNU Free Documentation License28928
|
||||
Node: Concept Index51334
|
||||
Node: Function and Variable Index52174
|
||||
|
||||
End Tag Table
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
This is TeX, Version 3.14159 (Web2C 7.4.5) (format=tex 2005.3.22) 9 FEB 2006 09:50
|
||||
This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2006.11.28) 27 FEB 2007 09:16
|
||||
**/usr/homes/chet/src/bash/src/lib/readline/doc/history.texi
|
||||
(/usr/homes/chet/src/bash/src/lib/readline/doc/history.texi (./texinfo.tex
|
||||
Loading texinfo [version 2003-02-03.16]: Basics,
|
||||
@@ -106,7 +106,7 @@ cross references,
|
||||
\auxfile=\write2
|
||||
\savesfregister=\count46
|
||||
\footnoteno=\count47
|
||||
(/sw/share/texmf/tex/generic/misc/epsf.tex
|
||||
(/sw/share/texmf-dist/tex/generic/epsf/epsf.tex
|
||||
\epsffilein=\read0
|
||||
\epsfframemargin=\dimen39
|
||||
\epsfframethickness=\dimen40
|
||||
@@ -119,18 +119,19 @@ cross references,
|
||||
\epsfnoopenhelp=\toks24
|
||||
)
|
||||
\noepsfhelp=\toks25
|
||||
localization,
|
||||
|
||||
localization,
|
||||
\nolanghelp=\toks26
|
||||
\defaultparindent=\dimen47
|
||||
|
||||
and turning on texinfo input format.) (./history.aux)
|
||||
and turning on texinfo input format.) (./history.aux)
|
||||
@cpindfile=@write3
|
||||
@fnindfile=@write4
|
||||
@vrindfile=@write5
|
||||
@tpindfile=@write6
|
||||
@kyindfile=@write7
|
||||
@pgindfile=@write8
|
||||
(./version.texi) [1
|
||||
|
||||
(./version.texi) [1
|
||||
\openout2 = `history.aux'.
|
||||
|
||||
\openout3 = `history.cp'.
|
||||
@@ -145,25 +146,24 @@ and turning on texinfo input format.) (./history.aux)
|
||||
|
||||
\openout8 = `history.pg'.
|
||||
|
||||
]
|
||||
[2] (./history.toc) [-1] [-2] (./hsuser.texi Chapter 1
|
||||
] [2] (./history.toc) [-1] [-2] (./hsuser.texi Chapter 1
|
||||
\openout0 = `history.toc'.
|
||||
|
||||
@btindfile=@write9
|
||||
[1
|
||||
|
||||
[1
|
||||
\openout9 = `history.bt'.
|
||||
|
||||
] [2]) (./hstech.texi
|
||||
Chapter 2 [3] [4] [5] [6] [7] [8] [9] [10] [11]) Appendix A [12] (./fdl.texi
|
||||
[13] [14] [15] [16] [17] [18]) Appendix B [19] [20] (./history.cps) Appendix C
|
||||
[21] [22] (./history.vrs) [23] [24] )
|
||||
] [2]) (./hstech.texi Chapter 2 [3] [4] [5] [6] [7] [8] [9] [10] [11])
|
||||
Appendix A [12] (./fdl.texi [13] [14] [15] [16] [17] [18]) Appendix B [19]
|
||||
[20] (./history.cps) Appendix C [21] [22] (./history.vrs) [23] [24] )
|
||||
Here is how much of TeX's memory you used:
|
||||
1409 strings out of 98002
|
||||
16451 string characters out of 1221987
|
||||
45504 words of memory out of 1000001
|
||||
1409 strings out of 97980
|
||||
16466 string characters out of 1221004
|
||||
45506 words of memory out of 1000000
|
||||
2271 multiletter control sequences out of 10000+50000
|
||||
31953 words of font info for 111 fonts, out of 500000 for 1000
|
||||
31953 words of font info for 111 fonts, out of 500000 for 2000
|
||||
19 hyphenation exceptions out of 1000
|
||||
15i,6n,17p,283b,649s stack positions out of 1500i,500n,5000p,200000b,5000s
|
||||
|
||||
Output written on history.dvi (28 pages, 79860 bytes).
|
||||
Output written on history.dvi (28 pages, 81828 bytes).
|
||||
|
||||
+479
-310
@@ -1,17 +1,18 @@
|
||||
%!PS-Adobe-2.0
|
||||
%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
|
||||
%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software
|
||||
%%Title: history.dvi
|
||||
%%Pages: 28
|
||||
%%PageOrder: Ascend
|
||||
%%BoundingBox: 0 0 596 842
|
||||
%%BoundingBox: 0 0 595 842
|
||||
%%DocumentFonts: CMBX12 CMR10 CMTT10 CMSY10 CMBXTI10 CMTI10 CMCSC10
|
||||
%%+ CMSL10 CMSLTT10 CMBX10 CMSS10 CMTT9 CMR9 CMTI9
|
||||
%%DocumentPaperSizes: a4
|
||||
%%EndComments
|
||||
%DVIPSWebPage: (www.radicaleye.com)
|
||||
%DVIPSCommandLine: dvips -D 300 -o history.ps history.dvi
|
||||
%DVIPSParameters: dpi=300, compressed
|
||||
%DVIPSSource: TeX output 2006.02.09:0950
|
||||
%%BeginProcSet: texc.pro
|
||||
%DVIPSParameters: dpi=300
|
||||
%DVIPSSource: TeX output 2007.02.27:0916
|
||||
%%BeginProcSet: tex.pro 0 0
|
||||
%!
|
||||
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
|
||||
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
|
||||
@@ -30,22 +31,10 @@ df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
|
||||
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
|
||||
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
|
||||
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
|
||||
1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
|
||||
1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
|
||||
0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
|
||||
sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
|
||||
rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
|
||||
gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
|
||||
/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
|
||||
/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
|
||||
A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
|
||||
get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
|
||||
ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
|
||||
fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
|
||||
{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
|
||||
chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
|
||||
1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
|
||||
forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
|
||||
1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
|
||||
/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
|
||||
setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
|
||||
restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
|
||||
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
|
||||
}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
|
||||
bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
|
||||
@@ -69,202 +58,7 @@ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
|
||||
rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
|
||||
|
||||
%%EndProcSet
|
||||
%%BeginProcSet: f7b6d320.enc
|
||||
% Thomas Esser, Dec 2002. public domain
|
||||
%
|
||||
% Encoding for:
|
||||
% cmb10 cmbx10 cmbx12 cmbx5 cmbx6 cmbx7 cmbx8 cmbx9 cmbxsl10
|
||||
% cmdunh10 cmr10 cmr12 cmr17cmr6 cmr7 cmr8 cmr9 cmsl10 cmsl12 cmsl8
|
||||
% cmsl9 cmss10cmss12 cmss17 cmss8 cmss9 cmssbx10 cmssdc10 cmssi10
|
||||
% cmssi12 cmssi17 cmssi8cmssi9 cmssq8 cmssqi8 cmvtt10
|
||||
%
|
||||
/TeXf7b6d320Encoding [
|
||||
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
|
||||
/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve
|
||||
/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
|
||||
/suppress /exclam /quotedblright /numbersign /dollar /percent /ampersand
|
||||
/quoteright /parenleft /parenright /asterisk /plus /comma /hyphen
|
||||
/period /slash /zero /one /two /three /four /five /six /seven /eight
|
||||
/nine /colon /semicolon /exclamdown /equal /questiondown /question /at
|
||||
/A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X
|
||||
/Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
|
||||
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u
|
||||
/v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space
|
||||
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef
|
||||
/.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute
|
||||
/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
|
||||
/OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
] def
|
||||
|
||||
%%EndProcSet
|
||||
%%BeginProcSet: 09fbbfac.enc
|
||||
% Thomas Esser, Dec 2002. public domain
|
||||
%
|
||||
% Encoding for:
|
||||
% cmsltt10 cmtt10 cmtt12 cmtt8 cmtt9
|
||||
/TeX09fbbfacEncoding [
|
||||
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi
|
||||
/Omega /arrowup /arrowdown /quotesingle /exclamdown /questiondown
|
||||
/dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla
|
||||
/germandbls /ae /oe /oslash /AE /OE /Oslash /visiblespace /exclam
|
||||
/quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft
|
||||
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
|
||||
/two /three /four /five /six /seven /eight /nine /colon /semicolon /less
|
||||
/equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N
|
||||
/O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright
|
||||
/asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l
|
||||
/m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright
|
||||
/asciitilde /dieresis /visiblespace /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda /Xi /Pi
|
||||
/Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /arrowup /arrowdown
|
||||
/quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute
|
||||
/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
|
||||
/OE /Oslash /visiblespace /dieresis /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
] def
|
||||
|
||||
%%EndProcSet
|
||||
%%BeginProcSet: bbad153f.enc
|
||||
% Thomas Esser, Dec 2002. public domain
|
||||
%
|
||||
% Encoding for:
|
||||
% cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9
|
||||
%
|
||||
/TeXbbad153fEncoding [
|
||||
/minus /periodcentered /multiply /asteriskmath /divide /diamondmath
|
||||
/plusminus /minusplus /circleplus /circleminus /circlemultiply
|
||||
/circledivide /circledot /circlecopyrt /openbullet /bullet
|
||||
/equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal
|
||||
/greaterequal /precedesequal /followsequal /similar /approxequal
|
||||
/propersubset /propersuperset /lessmuch /greatermuch /precedes /follows
|
||||
/arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast
|
||||
/arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup
|
||||
/arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional
|
||||
/prime /infinity /element /owner /triangle /triangleinv /negationslash
|
||||
/mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur
|
||||
/latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K
|
||||
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection
|
||||
/unionmulti /logicaland /logicalor /turnstileleft /turnstileright
|
||||
/floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright
|
||||
/angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv
|
||||
/backslash /wreathproduct /radical /coproduct /nabla /integral
|
||||
/unionsq /intersectionsq /subsetsqequal /supersetsqequal /section
|
||||
/dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/minus /periodcentered /multiply /asteriskmath /divide /diamondmath
|
||||
/plusminus /minusplus /circleplus /circleminus /.notdef /.notdef
|
||||
/circlemultiply /circledivide /circledot /circlecopyrt /openbullet
|
||||
/bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset
|
||||
/lessequal /greaterequal /precedesequal /followsequal /similar
|
||||
/approxequal /propersubset /propersuperset /lessmuch /greatermuch
|
||||
/precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
] def
|
||||
|
||||
%%EndProcSet
|
||||
%%BeginProcSet: 74afc74c.enc
|
||||
% Thomas Esser, Dec 2002. public domain
|
||||
%
|
||||
% Encoding for:
|
||||
% cmbxti10 cmff10 cmfi10 cmfib8 cmti10 cmti12 cmti7 cmti8cmti9 cmu10
|
||||
%
|
||||
/TeX74afc74cEncoding [
|
||||
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
|
||||
/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve
|
||||
/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
|
||||
/suppress /exclam /quotedblright /numbersign /sterling /percent
|
||||
/ampersand /quoteright /parenleft /parenright /asterisk /plus /comma
|
||||
/hyphen /period /slash /zero /one /two /three /four /five /six /seven
|
||||
/eight /nine /colon /semicolon /exclamdown /equal /questiondown /question
|
||||
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W
|
||||
/X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
|
||||
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u
|
||||
/v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space
|
||||
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef
|
||||
/.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute
|
||||
/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
|
||||
/OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
] def
|
||||
|
||||
%%EndProcSet
|
||||
%%BeginProcSet: 0ef0afca.enc
|
||||
% Thomas Esser, Dec 2002. public domain
|
||||
%
|
||||
% Encoding for:
|
||||
% cmr5
|
||||
%
|
||||
/TeX0ef0afcaEncoding [
|
||||
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
|
||||
/arrowup /arrowdown /quotesingle /exclamdown /questiondown /dotlessi
|
||||
/dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls
|
||||
/ae /oe /oslash /AE /OE /Oslash /suppress /exclam /quotedblright
|
||||
/numbersign /dollar /percent /ampersand /quoteright /parenleft
|
||||
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
|
||||
/two /three /four /five /six /seven /eight /nine /colon /semicolon
|
||||
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
|
||||
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /quotedblleft
|
||||
/bracketright /circumflex /dotaccent /quoteleft /a /b /c /d /e /f /g /h
|
||||
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /endash /emdash
|
||||
/hungarumlaut /tilde /dieresis /suppress /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda
|
||||
/Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /arrowup
|
||||
/arrowdown /quotesingle /exclamdown /questiondown /dotlessi /dotlessj
|
||||
/grave /acute /caron /breve /macron /ring /cedilla /germandbls /ae /oe
|
||||
/oslash /AE /OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
|
||||
] def
|
||||
|
||||
%%EndProcSet
|
||||
%%BeginProcSet: texps.pro
|
||||
%%BeginProcSet: texps.pro 0 0
|
||||
%!
|
||||
TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
|
||||
index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
|
||||
@@ -301,10 +95,9 @@ end readonly def
|
||||
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 {1 index exch /.notdef put} for
|
||||
dup 0 /.notdef put
|
||||
dup 46 /period put
|
||||
readonly def
|
||||
/FontBBox{-35 -250 1148 750}readonly def
|
||||
/UniqueID 5000827 def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
|
||||
@@ -368,10 +161,42 @@ end readonly def
|
||||
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 {1 index exch /.notdef put} for
|
||||
dup 0 /.notdef put
|
||||
dup 44 /comma put
|
||||
dup 48 /zero put
|
||||
dup 49 /one put
|
||||
dup 51 /three put
|
||||
dup 54 /six put
|
||||
dup 55 /seven put
|
||||
dup 56 /eight put
|
||||
dup 57 /nine put
|
||||
dup 68 /D put
|
||||
dup 70 /F put
|
||||
dup 71 /G put
|
||||
dup 72 /H put
|
||||
dup 76 /L put
|
||||
dup 78 /N put
|
||||
dup 83 /S put
|
||||
dup 85 /U put
|
||||
dup 97 /a put
|
||||
dup 99 /c put
|
||||
dup 100 /d put
|
||||
dup 101 /e put
|
||||
dup 103 /g put
|
||||
dup 104 /h put
|
||||
dup 105 /i put
|
||||
dup 109 /m put
|
||||
dup 110 /n put
|
||||
dup 111 /o put
|
||||
dup 112 /p put
|
||||
dup 114 /r put
|
||||
dup 115 /s put
|
||||
dup 116 /t put
|
||||
dup 117 /u put
|
||||
dup 118 /v put
|
||||
dup 120 /x put
|
||||
dup 121 /y put
|
||||
readonly def
|
||||
/FontBBox{-39 -250 1036 750}readonly def
|
||||
/UniqueID 5000792 def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
|
||||
@@ -608,10 +433,28 @@ end readonly def
|
||||
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 {1 index exch /.notdef put} for
|
||||
dup 0 /.notdef put
|
||||
dup 49 /one put
|
||||
dup 50 /two put
|
||||
dup 97 /a put
|
||||
dup 100 /d put
|
||||
dup 101 /e put
|
||||
dup 102 /f put
|
||||
dup 103 /g put
|
||||
dup 104 /h put
|
||||
dup 105 /i put
|
||||
dup 108 /l put
|
||||
dup 109 /m put
|
||||
dup 110 /n put
|
||||
dup 111 /o put
|
||||
dup 114 /r put
|
||||
dup 115 /s put
|
||||
dup 116 /t put
|
||||
dup 117 /u put
|
||||
dup 119 /w put
|
||||
dup 120 /x put
|
||||
dup 121 /y put
|
||||
readonly def
|
||||
/FontBBox{-20 -233 617 696}readonly def
|
||||
/UniqueID 5000800 def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
D9D66F633B846A97B686A97E45A3D0AA0528A405DF15F03DB1C3DA8B850431F8
|
||||
@@ -772,10 +615,84 @@ end readonly def
|
||||
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 {1 index exch /.notdef put} for
|
||||
dup 0 /.notdef put
|
||||
dup 33 /exclam put
|
||||
dup 34 /quotedbl put
|
||||
dup 35 /numbersign put
|
||||
dup 36 /dollar put
|
||||
dup 37 /percent put
|
||||
dup 38 /ampersand put
|
||||
dup 39 /quoteright put
|
||||
dup 40 /parenleft put
|
||||
dup 41 /parenright put
|
||||
dup 42 /asterisk put
|
||||
dup 43 /plus put
|
||||
dup 44 /comma put
|
||||
dup 45 /hyphen put
|
||||
dup 46 /period put
|
||||
dup 47 /slash put
|
||||
dup 48 /zero put
|
||||
dup 49 /one put
|
||||
dup 50 /two put
|
||||
dup 52 /four put
|
||||
dup 54 /six put
|
||||
dup 58 /colon put
|
||||
dup 59 /semicolon put
|
||||
dup 60 /less put
|
||||
dup 61 /equal put
|
||||
dup 62 /greater put
|
||||
dup 65 /A put
|
||||
dup 66 /B put
|
||||
dup 67 /C put
|
||||
dup 68 /D put
|
||||
dup 69 /E put
|
||||
dup 70 /F put
|
||||
dup 71 /G put
|
||||
dup 72 /H put
|
||||
dup 73 /I put
|
||||
dup 76 /L put
|
||||
dup 78 /N put
|
||||
dup 80 /P put
|
||||
dup 82 /R put
|
||||
dup 83 /S put
|
||||
dup 84 /T put
|
||||
dup 85 /U put
|
||||
dup 86 /V put
|
||||
dup 89 /Y put
|
||||
dup 91 /bracketleft put
|
||||
dup 92 /backslash put
|
||||
dup 93 /bracketright put
|
||||
dup 95 /underscore put
|
||||
dup 96 /quoteleft put
|
||||
dup 97 /a put
|
||||
dup 98 /b put
|
||||
dup 99 /c put
|
||||
dup 100 /d put
|
||||
dup 101 /e put
|
||||
dup 102 /f put
|
||||
dup 103 /g put
|
||||
dup 104 /h put
|
||||
dup 105 /i put
|
||||
dup 107 /k put
|
||||
dup 108 /l put
|
||||
dup 109 /m put
|
||||
dup 110 /n put
|
||||
dup 111 /o put
|
||||
dup 112 /p put
|
||||
dup 113 /q put
|
||||
dup 114 /r put
|
||||
dup 115 /s put
|
||||
dup 116 /t put
|
||||
dup 117 /u put
|
||||
dup 118 /v put
|
||||
dup 119 /w put
|
||||
dup 120 /x put
|
||||
dup 121 /y put
|
||||
dup 122 /z put
|
||||
dup 123 /braceleft put
|
||||
dup 124 /bar put
|
||||
dup 125 /braceright put
|
||||
readonly def
|
||||
/FontBBox{-6 -233 542 698}readonly def
|
||||
/UniqueID 5000831 def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
|
||||
@@ -1165,10 +1082,10 @@ end readonly def
|
||||
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 {1 index exch /.notdef put} for
|
||||
dup 0 /.notdef put
|
||||
dup 40 /parenleft put
|
||||
dup 41 /parenright put
|
||||
readonly def
|
||||
/FontBBox{-61 -250 999 759}readonly def
|
||||
/UniqueID 5000803 def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
|
||||
@@ -1238,10 +1155,35 @@ end readonly def
|
||||
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 {1 index exch /.notdef put} for
|
||||
dup 0 /.notdef put
|
||||
dup 12 /fi put
|
||||
dup 13 /fl put
|
||||
dup 97 /a put
|
||||
dup 98 /b put
|
||||
dup 99 /c put
|
||||
dup 100 /d put
|
||||
dup 101 /e put
|
||||
dup 102 /f put
|
||||
dup 103 /g put
|
||||
dup 104 /h put
|
||||
dup 105 /i put
|
||||
dup 107 /k put
|
||||
dup 108 /l put
|
||||
dup 109 /m put
|
||||
dup 110 /n put
|
||||
dup 111 /o put
|
||||
dup 112 /p put
|
||||
dup 113 /q put
|
||||
dup 114 /r put
|
||||
dup 115 /s put
|
||||
dup 116 /t put
|
||||
dup 117 /u put
|
||||
dup 118 /v put
|
||||
dup 119 /w put
|
||||
dup 120 /x put
|
||||
dup 121 /y put
|
||||
dup 122 /z put
|
||||
readonly def
|
||||
/FontBBox{-301 -250 1164 946}readonly def
|
||||
/UniqueID 5000768 def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
|
||||
@@ -1470,10 +1412,81 @@ end readonly def
|
||||
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 {1 index exch /.notdef put} for
|
||||
dup 0 /.notdef put
|
||||
dup 33 /exclam put
|
||||
dup 34 /quotedbl put
|
||||
dup 35 /numbersign put
|
||||
dup 36 /dollar put
|
||||
dup 37 /percent put
|
||||
dup 38 /ampersand put
|
||||
dup 40 /parenleft put
|
||||
dup 41 /parenright put
|
||||
dup 42 /asterisk put
|
||||
dup 43 /plus put
|
||||
dup 44 /comma put
|
||||
dup 45 /hyphen put
|
||||
dup 46 /period put
|
||||
dup 47 /slash put
|
||||
dup 48 /zero put
|
||||
dup 49 /one put
|
||||
dup 50 /two put
|
||||
dup 58 /colon put
|
||||
dup 59 /semicolon put
|
||||
dup 60 /less put
|
||||
dup 61 /equal put
|
||||
dup 62 /greater put
|
||||
dup 63 /question put
|
||||
dup 65 /A put
|
||||
dup 68 /D put
|
||||
dup 69 /E put
|
||||
dup 70 /F put
|
||||
dup 71 /G put
|
||||
dup 72 /H put
|
||||
dup 73 /I put
|
||||
dup 76 /L put
|
||||
dup 78 /N put
|
||||
dup 79 /O put
|
||||
dup 80 /P put
|
||||
dup 82 /R put
|
||||
dup 83 /S put
|
||||
dup 84 /T put
|
||||
dup 85 /U put
|
||||
dup 89 /Y put
|
||||
dup 91 /bracketleft put
|
||||
dup 92 /backslash put
|
||||
dup 93 /bracketright put
|
||||
dup 94 /asciicircum put
|
||||
dup 95 /underscore put
|
||||
dup 97 /a put
|
||||
dup 98 /b put
|
||||
dup 99 /c put
|
||||
dup 100 /d put
|
||||
dup 101 /e put
|
||||
dup 102 /f put
|
||||
dup 103 /g put
|
||||
dup 104 /h put
|
||||
dup 105 /i put
|
||||
dup 107 /k put
|
||||
dup 108 /l put
|
||||
dup 109 /m put
|
||||
dup 110 /n put
|
||||
dup 111 /o put
|
||||
dup 112 /p put
|
||||
dup 113 /q put
|
||||
dup 114 /r put
|
||||
dup 115 /s put
|
||||
dup 116 /t put
|
||||
dup 117 /u put
|
||||
dup 118 /v put
|
||||
dup 119 /w put
|
||||
dup 120 /x put
|
||||
dup 121 /y put
|
||||
dup 122 /z put
|
||||
dup 123 /braceleft put
|
||||
dup 124 /bar put
|
||||
dup 125 /braceright put
|
||||
dup 126 /asciitilde put
|
||||
readonly def
|
||||
/FontBBox{-4 -235 731 800}readonly def
|
||||
/UniqueID 5000832 def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
|
||||
@@ -1878,10 +1891,61 @@ end readonly def
|
||||
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 {1 index exch /.notdef put} for
|
||||
dup 0 /.notdef put
|
||||
dup 12 /fi put
|
||||
dup 44 /comma put
|
||||
dup 46 /period put
|
||||
dup 49 /one put
|
||||
dup 50 /two put
|
||||
dup 51 /three put
|
||||
dup 52 /four put
|
||||
dup 53 /five put
|
||||
dup 54 /six put
|
||||
dup 55 /seven put
|
||||
dup 58 /colon put
|
||||
dup 65 /A put
|
||||
dup 66 /B put
|
||||
dup 67 /C put
|
||||
dup 68 /D put
|
||||
dup 69 /E put
|
||||
dup 70 /F put
|
||||
dup 71 /G put
|
||||
dup 72 /H put
|
||||
dup 73 /I put
|
||||
dup 76 /L put
|
||||
dup 77 /M put
|
||||
dup 78 /N put
|
||||
dup 80 /P put
|
||||
dup 82 /R put
|
||||
dup 83 /S put
|
||||
dup 84 /T put
|
||||
dup 85 /U put
|
||||
dup 86 /V put
|
||||
dup 87 /W put
|
||||
dup 97 /a put
|
||||
dup 98 /b put
|
||||
dup 99 /c put
|
||||
dup 100 /d put
|
||||
dup 101 /e put
|
||||
dup 102 /f put
|
||||
dup 103 /g put
|
||||
dup 104 /h put
|
||||
dup 105 /i put
|
||||
dup 108 /l put
|
||||
dup 109 /m put
|
||||
dup 110 /n put
|
||||
dup 111 /o put
|
||||
dup 112 /p put
|
||||
dup 114 /r put
|
||||
dup 115 /s put
|
||||
dup 116 /t put
|
||||
dup 117 /u put
|
||||
dup 118 /v put
|
||||
dup 119 /w put
|
||||
dup 120 /x put
|
||||
dup 121 /y put
|
||||
dup 122 /z put
|
||||
readonly def
|
||||
/FontBBox{-53 -251 1139 750}readonly def
|
||||
/UniqueID 5000769 def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
|
||||
@@ -2191,10 +2255,37 @@ end readonly def
|
||||
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 {1 index exch /.notdef put} for
|
||||
dup 0 /.notdef put
|
||||
dup 11 /ff put
|
||||
dup 12 /fi put
|
||||
dup 42 /asterisk put
|
||||
dup 49 /one put
|
||||
dup 50 /two put
|
||||
dup 91 /bracketleft put
|
||||
dup 93 /bracketright put
|
||||
dup 97 /a put
|
||||
dup 99 /c put
|
||||
dup 100 /d put
|
||||
dup 101 /e put
|
||||
dup 102 /f put
|
||||
dup 103 /g put
|
||||
dup 104 /h put
|
||||
dup 105 /i put
|
||||
dup 108 /l put
|
||||
dup 109 /m put
|
||||
dup 110 /n put
|
||||
dup 111 /o put
|
||||
dup 112 /p put
|
||||
dup 113 /q put
|
||||
dup 114 /r put
|
||||
dup 115 /s put
|
||||
dup 116 /t put
|
||||
dup 117 /u put
|
||||
dup 118 /v put
|
||||
dup 119 /w put
|
||||
dup 120 /x put
|
||||
dup 121 /y put
|
||||
readonly def
|
||||
/FontBBox{-62 -250 1123 750}readonly def
|
||||
/UniqueID 5000798 def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
|
||||
@@ -2426,10 +2517,24 @@ end readonly def
|
||||
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 {1 index exch /.notdef put} for
|
||||
dup 0 /.notdef put
|
||||
dup 97 /a put
|
||||
dup 99 /c put
|
||||
dup 100 /d put
|
||||
dup 102 /f put
|
||||
dup 103 /g put
|
||||
dup 104 /h put
|
||||
dup 105 /i put
|
||||
dup 106 /j put
|
||||
dup 108 /l put
|
||||
dup 109 /m put
|
||||
dup 110 /n put
|
||||
dup 112 /p put
|
||||
dup 115 /s put
|
||||
dup 116 /t put
|
||||
dup 117 /u put
|
||||
dup 120 /x put
|
||||
readonly def
|
||||
/FontBBox{14 -250 1077 750}readonly def
|
||||
/UniqueID 5000772 def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
|
||||
@@ -2570,10 +2675,9 @@ end readonly def
|
||||
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 {1 index exch /.notdef put} for
|
||||
dup 0 /.notdef put
|
||||
dup 46 /period put
|
||||
readonly def
|
||||
/FontBBox{-163 -250 1146 969}readonly def
|
||||
/UniqueID 5000828 def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
|
||||
@@ -2637,10 +2741,9 @@ end readonly def
|
||||
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 {1 index exch /.notdef put} for
|
||||
dup 0 /.notdef put
|
||||
dup 46 /period put
|
||||
readonly def
|
||||
/FontBBox{-29 -250 1274 754}readonly def
|
||||
/UniqueID 5000771 def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
|
||||
@@ -2704,10 +2807,9 @@ end readonly def
|
||||
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 {1 index exch /.notdef put} for
|
||||
dup 0 /.notdef put
|
||||
dup 13 /circlecopyrt put
|
||||
readonly def
|
||||
/FontBBox{-29 -960 1116 775}readonly def
|
||||
/UniqueID 5000820 def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
|
||||
@@ -2761,10 +2863,89 @@ end readonly def
|
||||
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 {1 index exch /.notdef put} for
|
||||
dup 0 /.notdef put
|
||||
dup 11 /ff put
|
||||
dup 12 /fi put
|
||||
dup 13 /fl put
|
||||
dup 14 /ffi put
|
||||
dup 34 /quotedblright put
|
||||
dup 39 /quoteright put
|
||||
dup 40 /parenleft put
|
||||
dup 41 /parenright put
|
||||
dup 44 /comma put
|
||||
dup 45 /hyphen put
|
||||
dup 46 /period put
|
||||
dup 47 /slash put
|
||||
dup 48 /zero put
|
||||
dup 49 /one put
|
||||
dup 50 /two put
|
||||
dup 51 /three put
|
||||
dup 52 /four put
|
||||
dup 53 /five put
|
||||
dup 54 /six put
|
||||
dup 55 /seven put
|
||||
dup 56 /eight put
|
||||
dup 57 /nine put
|
||||
dup 58 /colon put
|
||||
dup 59 /semicolon put
|
||||
dup 65 /A put
|
||||
dup 66 /B put
|
||||
dup 67 /C put
|
||||
dup 68 /D put
|
||||
dup 69 /E put
|
||||
dup 70 /F put
|
||||
dup 71 /G put
|
||||
dup 72 /H put
|
||||
dup 73 /I put
|
||||
dup 74 /J put
|
||||
dup 75 /K put
|
||||
dup 76 /L put
|
||||
dup 77 /M put
|
||||
dup 78 /N put
|
||||
dup 79 /O put
|
||||
dup 80 /P put
|
||||
dup 81 /Q put
|
||||
dup 82 /R put
|
||||
dup 83 /S put
|
||||
dup 84 /T put
|
||||
dup 85 /U put
|
||||
dup 86 /V put
|
||||
dup 87 /W put
|
||||
dup 88 /X put
|
||||
dup 89 /Y put
|
||||
dup 90 /Z put
|
||||
dup 91 /bracketleft put
|
||||
dup 92 /quotedblleft put
|
||||
dup 93 /bracketright put
|
||||
dup 96 /quoteleft put
|
||||
dup 97 /a put
|
||||
dup 98 /b put
|
||||
dup 99 /c put
|
||||
dup 100 /d put
|
||||
dup 101 /e put
|
||||
dup 102 /f put
|
||||
dup 103 /g put
|
||||
dup 104 /h put
|
||||
dup 105 /i put
|
||||
dup 106 /j put
|
||||
dup 107 /k put
|
||||
dup 108 /l put
|
||||
dup 109 /m put
|
||||
dup 110 /n put
|
||||
dup 111 /o put
|
||||
dup 112 /p put
|
||||
dup 113 /q put
|
||||
dup 114 /r put
|
||||
dup 115 /s put
|
||||
dup 116 /t put
|
||||
dup 117 /u put
|
||||
dup 118 /v put
|
||||
dup 119 /w put
|
||||
dup 120 /x put
|
||||
dup 121 /y put
|
||||
dup 122 /z put
|
||||
dup 124 /emdash put
|
||||
readonly def
|
||||
/FontBBox{-251 -250 1009 969}readonly def
|
||||
/UniqueID 5000793 def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
|
||||
@@ -3246,66 +3427,54 @@ E332FCFDCE37333888533833BFEE6525BB9BEE05
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
cleartomark
|
||||
%%EndFont
|
||||
TeXDict begin 39158280 55380996 1000 300 300 (history.dvi)
|
||||
@start /Fa 209[12 46[{ TeX74afc74cEncoding ReEncodeFont }1
|
||||
37.3599 /CMTI9 rf /Fb 134[20 20 1[20 21 15 15 15 1[21
|
||||
19 21 32 3[11 21 19 1[17 21 17 1[19 11[29 1[21 4[29 1[24
|
||||
3[29 30 25 1[29 10[19 19 19 19 2[19 1[19 19 3[11 44[{
|
||||
TeXf7b6d320Encoding ReEncodeFont }34 37.3599 /CMR9 rf
|
||||
/Fc 134[20 3[20 20 20 20 2[20 20 20 20 2[20 20 2[20 3[20
|
||||
97[{ TeX09fbbfacEncoding ReEncodeFont }13 37.3599 /CMSLTT10
|
||||
rf /Fd 130[20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
||||
20 20 20 20 20 1[20 20 20 20 20 20 20 20 20 20 20 1[20
|
||||
20 20 1[20 2[20 20 20 20 20 1[20 1[20 1[20 2[20 20 20
|
||||
20 20 20 20 20 20 2[20 20 20 20 20 3[20 1[20 1[20 20
|
||||
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 33[{
|
||||
TeX09fbbfacEncoding ReEncodeFont }76 37.3599 /CMTT9
|
||||
rf /Fe 214[18 18 40[{ TeXf7b6d320Encoding ReEncodeFont }2
|
||||
45.4545 /CMSS10 rf /Ff 133[25 30 30 41 30 32 22 23 24
|
||||
30 32 29 32 48 16 30 1[16 32 29 18 26 32 25 32 28 83[32
|
||||
32 12[{ TeXf7b6d320Encoding ReEncodeFont }27 49.8132
|
||||
/CMBX10 rf /Fg 137[26 26 26 26 26 2[26 26 26 26 2[26
|
||||
26 1[26 26 26 26 26 26 1[26 5[26 4[26 26 26 2[26 26 4[26
|
||||
26 2[26 3[26 22[26 42[{ TeX09fbbfacEncoding ReEncodeFont }29
|
||||
49.8132 /CMTT10 rf /Fh 134[24 24 24 1[24 24 24 24 2[24
|
||||
24 1[24 2[24 1[24 24 24 24 49[24 24 49[{
|
||||
TeX09fbbfacEncoding ReEncodeFont }17 45.4545 /CMSLTT10
|
||||
rf /Fi 133[27 32 32 44 32 34 24 24 25 1[34 31 34 51 17
|
||||
2[17 34 31 19 28 34 27 34 30 9[63 1[47 1[34 4[48 58 37
|
||||
2[23 48 1[39 40 47 2[46 6[17 2[31 31 31 31 31 31 31 2[17
|
||||
33[34 12[{ TeXf7b6d320Encoding ReEncodeFont }45 54.5455
|
||||
/CMBX12 rf /Fj 134[24 24 33 24 25 18 18 18 24 25 23 25
|
||||
38 13 2[13 25 23 14 20 25 20 1[23 3[13 1[13 40[23 23
|
||||
6[23 29[25 27 11[{ TeXf7b6d320Encoding ReEncodeFont }29
|
||||
TeXDict begin 39139632 55387786 1000 300 300 (history.dvi)
|
||||
@start /Fa 209[12 46[{}1 37.3599 /CMTI9 rf /Fb 134[20
|
||||
20 1[20 21 15 15 15 1[21 19 21 32 3[11 21 19 1[17 21
|
||||
17 1[19 11[29 1[21 4[29 1[24 3[29 30 25 1[29 10[19 19
|
||||
19 19 2[19 1[19 19 3[11 44[{}34 37.3599 /CMR9 rf /Fc
|
||||
134[20 3[20 20 20 20 2[20 20 20 20 2[20 20 2[20 3[20
|
||||
97[{}13 37.3599 /CMSLTT10 rf /Fd 130[20 20 20 20 20 20
|
||||
20 20 20 20 20 20 20 20 20 20 20 20 20 1[20 20 20 20
|
||||
20 20 20 20 20 20 20 1[20 20 20 1[20 2[20 20 20 20 20
|
||||
1[20 1[20 1[20 2[20 20 20 20 20 20 20 20 20 2[20 20 20
|
||||
20 20 3[20 1[20 1[20 20 20 20 20 20 20 20 20 20 20 20
|
||||
20 20 20 20 20 20 33[{}76 37.3599 /CMTT9 rf /Fe 214[18
|
||||
18 40[{}2 45.4545 /CMSS10 rf /Ff 133[25 30 30 41 30 32
|
||||
22 23 24 30 32 29 32 48 16 30 1[16 32 29 18 26 32 25
|
||||
32 28 83[32 32 12[{}27 49.8132 /CMBX10 rf /Fg 137[26
|
||||
26 26 26 26 2[26 26 26 26 2[26 26 1[26 26 26 26 26 26
|
||||
1[26 5[26 4[26 26 26 2[26 26 4[26 26 2[26 3[26 22[26
|
||||
42[{}29 49.8132 /CMTT10 rf /Fh 134[24 24 24 1[24 24 24
|
||||
24 2[24 24 1[24 2[24 1[24 24 24 24 49[24 24 49[{}17 45.4545
|
||||
/CMSLTT10 rf /Fi 133[27 32 32 44 32 34 24 24 25 1[34
|
||||
31 34 51 17 2[17 34 31 19 28 34 27 34 30 9[63 1[47 1[34
|
||||
4[48 58 37 2[23 48 1[39 40 47 2[46 6[17 2[31 31 31 31
|
||||
31 31 31 2[17 33[34 12[{}45 54.5455 /CMBX12 rf /Fj 134[24
|
||||
24 33 24 25 18 18 18 24 25 23 25 38 13 2[13 25 23 14
|
||||
20 25 20 1[23 3[13 1[13 40[23 23 6[23 29[25 27 11[{}29
|
||||
45.4545 /CMSL10 rf /Fk 135[28 2[28 27 21 2[25 1[28 34
|
||||
23 1[19 14 28 29 24 1[28 27 1[28 97[{ TeX0ef0afcaEncoding ReEncodeFont }
|
||||
16 45.4545 /CMCSC10 rf /Fl 209[14 46[{
|
||||
TeX74afc74cEncoding ReEncodeFont }1 45.4545 /CMTI10
|
||||
rf /Fm 209[21 46[{ TeX74afc74cEncoding ReEncodeFont }1
|
||||
23 1[19 14 28 29 24 1[28 27 1[28 97[{}16 45.4545 /CMCSC10
|
||||
rf /Fl 209[14 46[{}1 45.4545 /CMTI10 rf /Fm 209[21 46[{}1
|
||||
59.7758 /CMBXTI10 rf /Fn 134[43 43 58 43 45 31 32 33
|
||||
1[45 40 45 67 22 2[22 45 40 25 37 45 36 45 39 10[61 62
|
||||
56 3[55 1[63 77 3[30 63 63 51 2[58 57 61 14[40 40 49[{
|
||||
TeXf7b6d320Encoding ReEncodeFont }37 71.731 /CMBX12
|
||||
rf /Fo 242[45 13[{ TeXbbad153fEncoding ReEncodeFont }1
|
||||
45.4545 /CMSY10 rf /Fp 134[35 35 49 35 37 26 27 27 1[37
|
||||
34 37 56 19 2[19 37 34 21 31 37 30 37 33 9[69 51 52 47
|
||||
37 50 1[46 1[53 64 40 2[25 53 53 42 44 52 49 48 51 11[34
|
||||
34 34 34 34 2[19 1[19 44[{ TeXf7b6d320Encoding ReEncodeFont }48
|
||||
59.7758 /CMBX12 rf /Fq 129[24 24 24 24 24 24 24 24 24
|
||||
24 24 24 24 24 24 24 24 24 24 24 1[24 24 24 24 24 24
|
||||
24 24 24 1[24 24 24 24 24 1[24 3[24 24 24 24 1[24 24
|
||||
24 1[24 2[24 24 24 24 24 24 2[24 1[24 24 24 24 24 24
|
||||
7[24 24 24 24 24 24 24 24 24 24 24 1[24 24 24 24 24 24
|
||||
33[{ TeX09fbbfacEncoding ReEncodeFont }73 45.4545 /CMTT10
|
||||
rf /Fr 131[45 1[20 24 24 33 24 25 18 18 18 24 25 23 25
|
||||
38 13 24 14 13 25 23 14 20 25 20 25 23 13 2[13 23 13
|
||||
28 34 34 47 34 34 33 25 33 35 31 35 34 42 28 35 23 16
|
||||
34 36 30 31 35 33 32 34 5[13 13 23 23 23 23 23 23 23
|
||||
23 23 23 23 13 15 13 2[18 18 13 4[23 19[38 25 25 27 11[{
|
||||
TeXf7b6d320Encoding ReEncodeFont }81 45.4545 /CMR10
|
||||
56 3[55 1[63 77 3[30 63 63 51 2[58 57 61 14[40 40 49[{}37
|
||||
71.731 /CMBX12 rf /Fo 242[45 13[{}1 45.4545 /CMSY10 rf
|
||||
/Fp 134[35 35 49 35 37 26 27 27 1[37 34 37 56 19 2[19
|
||||
37 34 21 31 37 30 37 33 9[69 51 52 47 37 50 1[46 1[53
|
||||
64 40 2[25 53 53 42 44 52 49 48 51 11[34 34 34 34 34
|
||||
2[19 1[19 44[{}48 59.7758 /CMBX12 rf /Fq 129[24 24 24
|
||||
24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 1[24
|
||||
24 24 24 24 24 24 24 24 1[24 24 24 24 24 1[24 3[24 24
|
||||
24 24 1[24 24 24 1[24 2[24 24 24 24 24 24 2[24 1[24 24
|
||||
24 24 24 24 7[24 24 24 24 24 24 24 24 24 24 24 1[24 24
|
||||
24 24 24 24 33[{}73 45.4545 /CMTT10 rf /Fr 131[45 1[20
|
||||
24 24 33 24 25 18 18 18 24 25 23 25 38 13 24 14 13 25
|
||||
23 14 20 25 20 25 23 13 2[13 23 13 28 34 34 47 34 34
|
||||
33 25 33 35 31 35 34 42 28 35 23 16 34 36 30 31 35 33
|
||||
32 34 5[13 13 23 23 23 23 23 23 23 23 23 23 23 13 15
|
||||
13 2[18 18 13 4[23 19[38 25 25 27 11[{}81 45.4545 /CMR10
|
||||
rf /Fs 134[51 4[38 38 40 2[48 5[27 6[54 47 11[74 6[76
|
||||
1[58 3[76 76 71[{ TeXf7b6d320Encoding ReEncodeFont }13
|
||||
86.0772 /CMBX12 rf end
|
||||
1[58 3[76 76 71[{}13 86.0772 /CMBX12 rf end
|
||||
%%EndProlog
|
||||
%%BeginSetup
|
||||
%%Feature: *Resolution 300dpi
|
||||
@@ -3317,18 +3486,18 @@ TeXDict begin
|
||||
TeXDict begin 1 0 bop 75 659 a Fs(GNU)33 b(History)e(Library)p
|
||||
75 709 1800 17 v 960 757 a Fr(Edition)14 b(5.2,)g(for)h
|
||||
Fq(History)f(Library)g Fr(V)l(ersion)h(5.2.)1590 811
|
||||
y(F)l(ebruary)g(2006)75 2467 y Fp(Chet)22 b(Ramey)-6
|
||||
y(F)l(ebruary)g(2007)75 2467 y Fp(Chet)22 b(Ramey)-6
|
||||
b(,)23 b(Case)e(W)-6 b(estern)23 b(Reserv)n(e)f(Univ)n(ersit)n(y)75
|
||||
2534 y(Brian)g(F)-6 b(o)n(x,)23 b(F)-6 b(ree)23 b(Soft)n(w)n(are)f(F)-6
|
||||
b(oundation)p 75 2570 1800 9 v eop end
|
||||
%%Page: 2 2
|
||||
TeXDict begin 2 1 bop 75 1512 a Fr(This)18 b(do)q(cumen)o(t)g(describ)q
|
||||
(es)h(the)f(GNU)g(History)f(library)g(\(v)o(ersion)h(5.2,)f(9)h(F)l
|
||||
(ebruary)g(2006\),)f(a)h(pro-)75 1567 y(gramming)10 b(to)q(ol)g(that)g
|
||||
TeXDict begin 2 1 bop 75 1512 a Fr(This)16 b(do)q(cumen)o(t)h(describ)q
|
||||
(es)g(the)g(GNU)f(History)f(library)h(\(v)o(ersion)f(5.2,)h(27)f(F)l
|
||||
(ebruary)i(2007\),)e(a)h(pro-)75 1567 y(gramming)10 b(to)q(ol)g(that)g
|
||||
(pro)o(vides)h(a)g(consisten)o(t)f(user)i(in)o(terface)e(for)h
|
||||
(recalling)f(lines)g(of)h(previously)g(t)o(yp)q(ed)75
|
||||
1621 y(input.)75 1689 y(Cop)o(yrigh)o(t)301 1688 y(c)289
|
||||
1689 y Fo(\015)k Fr(1988-2004)e(F)l(ree)i(Soft)o(w)o(are)f(F)l
|
||||
1689 y Fo(\015)k Fr(1988-2006)e(F)l(ree)i(Soft)o(w)o(are)f(F)l
|
||||
(oundation,)g(Inc.)75 1756 y(P)o(ermission)h(is)g(gran)o(ted)h(to)f
|
||||
(mak)o(e)h(and)g(distribute)g(v)o(erbatim)e(copies)i(of)g(this)g(man)o
|
||||
(ual)f(pro)o(vided)h(the)75 1811 y(cop)o(yrigh)o(t)e(notice)h(and)g
|
||||
@@ -3336,7 +3505,7 @@ TeXDict begin 2 1 bop 75 1512 a Fr(This)18 b(do)q(cumen)o(t)g(describ)q
|
||||
(copies.)195 1878 y(P)o(ermission)i(is)h(gran)o(ted)g(to)g(cop)o(y)l(,)
|
||||
h(distribute)f(and/or)g(mo)q(dify)g(this)g(do)q(cumen)o(t)h(under)195
|
||||
1933 y(the)h(terms)f(of)h(the)g(GNU)g(F)l(ree)g(Do)q(cumen)o(tation)f
|
||||
(License,)i(V)l(ersion)f(1.1)f(or)g(an)o(y)h(later)195
|
||||
(License,)i(V)l(ersion)f(1.2)f(or)g(an)o(y)h(later)195
|
||||
1988 y(v)o(ersion)13 b(published)h(b)o(y)g(the)g(F)l(ree)f(Soft)o(w)o
|
||||
(are)g(F)l(oundation;)g(with)g(no)g(In)o(v)m(arian)o(t)h(Sections,)195
|
||||
2042 y(with)h(the)g(F)l(ron)o(t-Co)o(v)o(er)e(texts)i(b)q(eing)h(\\A)f
|
||||
@@ -4451,8 +4620,8 @@ y(publisher)d(of)f(that)g(section)g(if)g(kno)o(wn,)g(or)g(else)g(a)h
|
||||
(v)m(arian)o(t)f(Sections)h(in)g(the)h(license)f(notice)g(of)g(the)g
|
||||
(com)o(bined)165 1859 y(w)o(ork.)165 1925 y(In)21 b(the)g(com)o
|
||||
(bination,)f(y)o(ou)h(m)o(ust)f(com)o(bine)g(an)o(y)g(sections)h(En)o
|
||||
(titled)e(\\History")g(in)h(the)h(v)m(ari-)165 1980 y(ous)16
|
||||
b(original)e(do)q(cumen)o(ts,)i(forming)f(one)i(section)e(En)o(titled)g
|
||||
(titled)e(\\History")g(in)i(the)f(v)m(ari-)165 1980 y(ous)c(original)e
|
||||
(do)q(cumen)o(ts,)i(forming)f(one)i(section)e(En)o(titled)g
|
||||
(\\History";)g(lik)o(ewise)f(com)o(bine)i(an)o(y)165
|
||||
2034 y(sections)f(En)o(titled)g(\\Ac)o(kno)o(wledgemen)o(ts",)g(and)h
|
||||
(an)o(y)f(sections)h(En)o(titled)e(\\Dedications".)21
|
||||
@@ -4543,7 +4712,7 @@ b(Ho)o(w)o(ev)o(er,)12 b(parties)h(who)h(ha)o(v)o(e)g(receiv)o(ed)g
|
||||
b(License)i(from)e(time)g(to)h(time.)21 b(Suc)o(h)c(new)f(v)o(ersions)g
|
||||
(will)e(b)q(e)j(similar)d(in)i(spirit)165 2212 y(to)h(the)g(presen)o(t)
|
||||
g(v)o(ersion,)g(but)g(ma)o(y)f(di\013er)h(in)g(detail)f(to)h(address)g
|
||||
(new)g(problems)g(or)g(concerns.)165 2266 y(See)f Fq
|
||||
(new)g(problems)g(or)g(concerns.)165 2267 y(See)f Fq
|
||||
(http://www.gnu.org/copyle)o(ft/)p Fr(.)165 2331 y(Eac)o(h)f(v)o
|
||||
(ersion)e(of)i(the)g(License)g(is)f(giv)o(en)g(a)h(distinguishing)e(v)o
|
||||
(ersion)h(n)o(um)o(b)q(er.)20 b(If)15 b(the)g(Do)q(cumen)o(t)165
|
||||
|
||||
@@ -14,7 +14,7 @@ This document describes the GNU History library
|
||||
a programming tool that provides a consistent user interface for
|
||||
recalling lines of previously typed input.
|
||||
|
||||
Copyright @copyright{} 1988-2004 Free Software Foundation, Inc.
|
||||
Copyright @copyright{} 1988-2006 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
this manual provided the copyright notice and this permission notice
|
||||
@@ -22,7 +22,7 @@ are preserved on all copies.
|
||||
|
||||
@quotation
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.1 or
|
||||
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, 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
@ignore
|
||||
This file documents the user interface to the GNU History library.
|
||||
|
||||
Copyright (C) 1988-2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1988-2006 Free Software Foundation, Inc.
|
||||
Authored by Brian Fox and Chet Ramey.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this manual
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
@ignore
|
||||
This file documents the user interface to the GNU History library.
|
||||
|
||||
Copyright (C) 1988-2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1988-2007 Free Software Foundation, Inc.
|
||||
Authored by Brian Fox and Chet Ramey.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this manual
|
||||
@@ -97,7 +97,11 @@ to contain no more than @env{$HISTFILESIZE}
|
||||
lines. If @env{HISTFILESIZE} is not set, no truncation is performed.
|
||||
|
||||
If the @env{HISTTIMEFORMAT} is set, the time stamp information
|
||||
associated with each history entry is written to the history file.
|
||||
associated with each history entry is written to the history file,
|
||||
marked with the history comment character.
|
||||
When the history file is read, lines beginning with the history
|
||||
comment character followed immediately by a digit are interpreted
|
||||
as timestamps for the previous history line.
|
||||
|
||||
The builtin command @code{fc} may be used to list or edit and re-execute
|
||||
a portion of the history list.
|
||||
@@ -133,7 +137,7 @@ history list and history file.
|
||||
@item fc
|
||||
@btindex fc
|
||||
@example
|
||||
@code{fc [-e @var{ename}] [-nlr] [@var{first}] [@var{last}]}
|
||||
@code{fc [-e @var{ename}] [-lnr] [@var{first}] [@var{last}]}
|
||||
@code{fc -s [@var{pat}=@var{rep}] [@var{command}]}
|
||||
@end example
|
||||
|
||||
@@ -277,7 +281,10 @@ them, so that they are available for subsequent recall.
|
||||
This is most useful in conjunction with Readline.
|
||||
|
||||
The shell allows control of the various characters used by the
|
||||
history expansion mechanism with the @code{histchars} variable.
|
||||
history expansion mechanism with the @code{histchars} variable,
|
||||
as explained above (@pxref{Bash Variables}). The shell uses
|
||||
the history comment character to mark history timestamps when
|
||||
writing the history file.
|
||||
@end ifset
|
||||
|
||||
@menu
|
||||
@@ -412,7 +419,7 @@ of the following modifiers, each preceded by a @samp{:}.
|
||||
Remove a trailing pathname component, leaving only the head.
|
||||
|
||||
@item t
|
||||
Remove all leading pathname components, leaving the tail.
|
||||
Remove all leading pathname components, leaving the tail.
|
||||
|
||||
@item r
|
||||
Remove a trailing suffix of the form @samp{.@var{suffix}}, leaving
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
.\"
|
||||
.\" Last Change: Thu Feb 9 09:49:51 EST 2006
|
||||
.\"
|
||||
.TH READLINE 3 "2006 Feb 9" "GNU Readline 5.2"
|
||||
.TH READLINE 3 "2006 Apr 26" "GNU Readline 5.2"
|
||||
.\"
|
||||
.\" File Name macro. This used to be `.PN', for Path Name,
|
||||
.\" but Sun doesn't seem to like that very much.
|
||||
@@ -170,6 +170,8 @@ 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:
|
||||
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
|
||||
whitespace between the name and the colon.
|
||||
.PP
|
||||
When using the form \fBkeyname\fP:\^\fIfunction-name\fP or \fImacro\fP,
|
||||
.I keyname
|
||||
|
||||
Binary file not shown.
+383
-336
File diff suppressed because it is too large
Load Diff
+149
-118
@@ -1,12 +1,12 @@
|
||||
This is readline.info, produced by makeinfo version 4.7 from
|
||||
This is readline.info, produced by makeinfo version 4.8 from
|
||||
./rlman.texi.
|
||||
|
||||
This manual describes the GNU Readline Library (version 5.2, 9
|
||||
February 2006), a library which aids in the consistency of user
|
||||
This manual describes the GNU Readline Library (version 5.2, 27
|
||||
February 2007), a library which aids in the consistency of user
|
||||
interface across discrete programs which provide a command line
|
||||
interface.
|
||||
|
||||
Copyright (C) 1988-2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 1988-2006 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
@@ -14,7 +14,7 @@ preserved on all copies.
|
||||
|
||||
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
|
||||
Version 1.2 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
|
||||
@@ -444,9 +444,10 @@ Variable Settings
|
||||
attempts word completion. The default is `off'.
|
||||
|
||||
`history-preserve-point'
|
||||
If set to `on', the history code attempts to place point at
|
||||
the same location on each history line retrieved with
|
||||
`previous-history' or `next-history'. The default is `off'.
|
||||
If set to `on', the history code attempts to place the point
|
||||
(the current cursor position) at the same location on each
|
||||
history line retrieved with `previous-history' or
|
||||
`next-history'. The default is `off'.
|
||||
|
||||
`horizontal-scroll-mode'
|
||||
This variable can be set to either `on' or `off'. Setting it
|
||||
@@ -544,9 +545,10 @@ Key Bindings
|
||||
|
||||
Once you know the name of the command, simply place on a line in
|
||||
the init file the name of the key you wish to bind the command to,
|
||||
a colon, and then the name of the command. The name of the key
|
||||
can be expressed in different ways, depending on what you find most
|
||||
comfortable.
|
||||
a colon, and then the name of the command. There can be no space
|
||||
between the key name and the colon - that will be interpreted as
|
||||
part of the key name. The name of the key can be expressed in
|
||||
different ways, depending on what you find most comfortable.
|
||||
|
||||
In addition to command names, readline allows keys to be bound to
|
||||
a string that is inserted when the key is pressed (a MACRO).
|
||||
@@ -1281,7 +1283,7 @@ the standard `vi' movement keys, move to previous history lines with
|
||||
aiding in the consistency of user interface across discrete programs
|
||||
that need to provide a command line interface.
|
||||
|
||||
Copyright (C) 1988-2005 Free Software Foundation, Inc.
|
||||
Copyright (C) 1988-2006 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
|
||||
@@ -1600,6 +1602,11 @@ These variables are available to function writers.
|
||||
`rl_set_prompt()' function (*note Redisplay::) may be used to
|
||||
modify the prompt string after calling `readline()'.
|
||||
|
||||
-- Variable: char * rl_display_prompt
|
||||
The string displayed as the prompt. This is usually identical to
|
||||
RL_PROMPT, but may be changed temporarily by functions that use
|
||||
the prompt string as a message area, such as incremental search.
|
||||
|
||||
-- Variable: int rl_already_prompted
|
||||
If an application wishes to display the prompt itself, rather than
|
||||
have Readline do it the first time `readline()' is called, it
|
||||
@@ -2034,8 +2041,8 @@ associate a new function name with an arbitrary function.
|
||||
-- Function: const char ** rl_funmap_names (void)
|
||||
Return a NULL terminated array of known function names. The array
|
||||
is sorted. The array itself is allocated, but not the strings
|
||||
inside. You should `free()' the array when you are done, but not
|
||||
the pointers.
|
||||
inside. You should free the array, but not the pointers, using
|
||||
`free' or `rl_free' when you are done.
|
||||
|
||||
-- Function: int rl_add_funmap_entry (const char *name,
|
||||
rl_command_func_t *function)
|
||||
@@ -2296,6 +2303,10 @@ File: readline.info, Node: Utility Functions, Next: Miscellaneous Functions,
|
||||
2.4.10 Utility Functions
|
||||
------------------------
|
||||
|
||||
-- Function: void rl_free (void *mem)
|
||||
Deallocate the memory pointed to by MEM. MEM must have been
|
||||
allocated by `malloc'.
|
||||
|
||||
-- Function: void rl_replace_line (const char *text, int clear_undo)
|
||||
Replace the contents of `rl_line_buffer' with TEXT. The point and
|
||||
mark are preserved, if possible. If CLEAR_UNDO is non-zero, the
|
||||
@@ -2998,6 +3009,14 @@ File: readline.info, Node: Completion Variables, Next: A Short Completion Exam
|
||||
even if the application's completion function returns no matches.
|
||||
It should be set only by an application's completion function.
|
||||
|
||||
-- Variable: int rl_sort_completion_matches
|
||||
If an application sets this variable to 0, Readline will not sort
|
||||
the list of completions (which implies that it cannot remove any
|
||||
duplicate completions). The default value is 1, which means that
|
||||
Readline will sort the completions and, depending on the value of
|
||||
`rl_ignore_completion_duplicates', will attempt to remove duplicate
|
||||
matches.
|
||||
|
||||
-- Variable: int rl_completion_type
|
||||
Set to a character describing the type of completion Readline is
|
||||
currently attempting; see the description of
|
||||
@@ -3006,6 +3025,12 @@ File: readline.info, Node: Completion Variables, Next: A Short Completion Exam
|
||||
any application-specific completion function is called, allowing
|
||||
such functions to present the same interface as `rl_complete()'.
|
||||
|
||||
-- Variable: int rl_completion_invoking_key
|
||||
Set to the final character in the key sequence that invoked one of
|
||||
the completion functions that call `rl_complete_internal()'. This
|
||||
is set to the appropriate value before any application-specific
|
||||
completion function is called.
|
||||
|
||||
-- Variable: int rl_inhibit_completion
|
||||
If this variable is non-zero, completion is inhibited. The
|
||||
completion character will be inserted as any other bound to
|
||||
@@ -3940,12 +3965,12 @@ Function and Variable Index
|
||||
| ||||