annotate man/lispref/maps.texi @ 4407:4ee73bbe4f8e

Always use boyer_moore in ASCII or Latin-1 buffers with ASCII search strings. 2007-12-26 Aidan Kehoe <kehoea@parhasard.net> * casetab.c: Extend and correct some case table documentation. * search.c (search_buffer): Correct a bug where only the first entry for a character in the case equivalence table was examined in determining if the Boyer-Moore search algorithm is appropriate. If there are case mappings outside of the charset and row of the characters specified in the search string, those case mappings can be safely ignored (and Boyer-Moore search can be used) if we know from the buffer statistics that the corresponding characters cannot occur. * search.c (boyer_moore): Assert that we haven't been passed a string with varying characters sets or rows within character sets. That's what simple_search is for. In the very rare event that a character in the search string has a canonical case mapping that is not in the same character set and row, don't try to search for the canonical character, search for some other character that is in the the desired character set and row. Assert that the case table isn't corrupt. Do not search for any character case mappings that cannot possibly occur in the buffer, given the buffer metadata about its contents.
author Aidan Kehoe <kehoea@parhasard.net>
date Wed, 26 Dec 2007 17:30:16 +0100
parents 576fb035e263
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 @c -*-texinfo-*-
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 @c This is part of the XEmacs Lisp Reference Manual.
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 0
diff changeset
3 @c Copyright (C) 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 @c See the file lispref.texi for copying conditions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 @setfilename ../../info/maps.info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 @node Standard Keymaps, Standard Hooks, Standard Buffer-Local Variables, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 @appendix Standard Keymaps
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 The following symbols are used as the names for various keymaps.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 Some of these exist when XEmacs is first started, others are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 loaded only when their respective mode is used. This is not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 an exhaustive list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 Almost all of these maps are used as local maps. Indeed, of the modes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 that presently exist, only Vip mode and Terminal mode ever change the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 global keymap.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 @item bookmark-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 @vindex bookmark-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 A keymap containing bindings to bookmark functions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 @item Buffer-menu-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 @vindex Buffer-menu-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 A keymap used by Buffer Menu mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 @item c++-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 @vindex c++-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 A keymap used by C++ mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 @item c-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 @vindex c-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 A keymap used by C mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 A sparse keymap used by C mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 @item command-history-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 @vindex command-history-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 A keymap used by Command History mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 @item ctl-x-4-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 @vindex ctl-x-4-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 A keymap for subcommands of the prefix @kbd{C-x 4}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 @item ctl-x-5-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 @vindex ctl-x-5-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 A keymap for subcommands of the prefix @kbd{C-x 5}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 @item ctl-x-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 @vindex ctl-x-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 A keymap for @kbd{C-x} commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 @item debugger-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 @vindex debugger-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 A keymap used by Debugger mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 @item dired-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 @vindex dired-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 A keymap for @code{dired-mode} buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 @item edit-abbrevs-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 @vindex edit-abbrevs-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 A keymap used in @code{edit-abbrevs}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 @item edit-tab-stops-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 @vindex edit-tab-stops-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 A keymap used in @code{edit-tab-stops}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 @item electric-buffer-menu-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 @vindex electric-buffer-menu-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 A keymap used by Electric Buffer Menu mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72 @item electric-history-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 @vindex electric-history-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74 A keymap used by Electric Command History mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76 @item emacs-lisp-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 @vindex emacs-lisp-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 A keymap used by Emacs Lisp mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 @item help-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 @vindex help-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 A keymap for characters following the Help key.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 @item Helper-help-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 @vindex Helper-help-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86 A keymap used by the help utility package.@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 It has the same keymap in its value cell and in its function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 cell.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 @item Info-edit-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 @vindex Info-edit-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92 A keymap used by the @kbd{e} command of Info.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 @item Info-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 @vindex Info-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 A keymap containing Info commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 @item isearch-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 @vindex isearch-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 A keymap that defines the characters you can type within incremental
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101 search.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103 @item itimer-edit-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 @vindex itimer-edit-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 A keymap used when in Itimer Edit mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 @item lisp-interaction-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108 @vindex lisp-interaction-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 A keymap used by Lisp mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111 @item lisp-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 @vindex lisp-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113 A keymap used by Lisp mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115 @vindex minibuffer-local-completion-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 A keymap for minibuffer input with completion.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118 @item minibuffer-local-isearch-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 @vindex minibuffer-local-isearch-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120 A keymap for editing isearch strings in the minibuffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 @item minibuffer-local-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123 @vindex minibuffer-local-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124 Default keymap to use when reading from the minibuffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126 @item minibuffer-local-must-match-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 @vindex minibuffer-local-must-match-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128 A keymap for minibuffer input with completion, for exact match.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130 @item mode-specific-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 @vindex mode-specific-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 The keymap for characters following @kbd{C-c}. Note, this is in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133 global map. This map is not actually mode specific: its name was chosen
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134 to be informative for the user in @kbd{C-h b} (@code{display-bindings}),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135 where it describes the main use of the @kbd{C-c} prefix key.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137 @item modeline-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138 @vindex modeline-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 The keymap consulted for mouse-clicks on the modeline of a window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 @item objc-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142 @vindex objc-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
143 A keymap used in Objective C mode as a local map.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145 @item occur-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146 @vindex occur-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147 A local keymap used by Occur mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149 @item overriding-local-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 @vindex overriding-local-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151 A keymap that overrides all other local keymaps.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153 @item query-replace-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154 @vindex query-replace-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155 A local keymap used for responses in @code{query-replace} and related
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156 commands; also for @code{y-or-n-p} and @code{map-y-or-n-p}. The functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 that use this map do not support prefix keys; they look up one event at a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158 time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160 @item read-expression-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161 @vindex read-expression-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162 The minibuffer keymap used for reading Lisp expressions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
164 @item read-shell-command-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165 @vindex read-shell-command-map
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 0
diff changeset
166 The minibuffer keymap used by @code{shell-command} and related commands.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168 @item shared-lisp-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169 @vindex shared-lisp-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170 A keymap for commands shared by all sorts of Lisp modes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 @item text-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 @vindex text-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 A keymap used by Text mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 @item toolbar-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177 @vindex toolbar-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178 The keymap consulted for mouse-clicks over a toolbar.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 @item view-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181 @vindex view-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 A keymap used by View mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183 @end table