Commit | Line | Data |
---|---|---|
bd5635a1 RP |
1 | /* emacs_keymap.c -- the keymap for emacs_mode in readline (). */ |
2 | ||
3 | /* Copyright (C) 1988,1989 Free Software Foundation, Inc. | |
4 | ||
5 | This file is part of GNU Readline, a library for reading lines | |
6 | of text with interactive input and history editing. | |
7 | ||
8 | Readline is free software; you can redistribute it and/or modify it | |
9 | under the terms of the GNU General Public License as published by the | |
10 | Free Software Foundation; either version 1, or (at your option) any | |
11 | later version. | |
12 | ||
13 | Readline is distributed in the hope that it will be useful, but | |
14 | WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
16 | General Public License for more details. | |
17 | ||
18 | You should have received a copy of the GNU General Public License | |
19 | along with Readline; see the file COPYING. If not, write to the Free | |
20 | Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |
21 | ||
22 | #ifndef BUFSIZ | |
23 | #include <stdio.h> | |
24 | #endif /* BUFSIZ */ | |
25 | ||
26 | #include "readline.h" | |
27 | ||
28 | /* An array of function pointers, one for each possible key. | |
29 | If the type byte is ISKMAP, then the pointer is the address of | |
30 | a keymap. */ | |
31 | ||
32 | KEYMAP_ENTRY_ARRAY emacs_standard_keymap = { | |
33 | ||
34 | /* Control keys. */ | |
35 | { ISFUNC, (Function *)0x0 }, /* Control-@ */ | |
36 | { ISFUNC, rl_beg_of_line }, /* Control-a */ | |
37 | { ISFUNC, rl_backward }, /* Control-b */ | |
38 | { ISFUNC, (Function *)0x0 }, /* Control-c */ | |
39 | { ISFUNC, rl_delete }, /* Control-d */ | |
40 | { ISFUNC, rl_end_of_line }, /* Control-e */ | |
41 | { ISFUNC, rl_forward }, /* Control-f */ | |
42 | { ISFUNC, rl_abort }, /* Control-g */ | |
870ca253 | 43 | { ISFUNC, rl_rubout }, /* Control-h */ |
bd5635a1 RP |
44 | { ISFUNC, rl_complete }, /* Control-i */ |
45 | { ISFUNC, rl_newline }, /* Control-j */ | |
46 | { ISFUNC, rl_kill_line }, /* Control-k */ | |
47 | { ISFUNC, rl_clear_screen }, /* Control-l */ | |
48 | { ISFUNC, rl_newline }, /* Control-m */ | |
49 | { ISFUNC, rl_get_next_history }, /* Control-n */ | |
50 | { ISFUNC, (Function *)0x0 }, /* Control-o */ | |
51 | { ISFUNC, rl_get_previous_history }, /* Control-p */ | |
52 | { ISFUNC, rl_quoted_insert }, /* Control-q */ | |
53 | { ISFUNC, rl_reverse_search_history }, /* Control-r */ | |
54 | { ISFUNC, rl_forward_search_history }, /* Control-s */ | |
55 | { ISFUNC, rl_transpose_chars }, /* Control-t */ | |
56 | { ISFUNC, rl_unix_line_discard }, /* Control-u */ | |
57 | { ISFUNC, rl_quoted_insert }, /* Control-v */ | |
58 | { ISFUNC, rl_unix_word_rubout }, /* Control-w */ | |
59 | { ISKMAP, (Function *)emacs_ctlx_keymap }, /* Control-x */ | |
60 | { ISFUNC, rl_yank }, /* Control-y */ | |
61 | { ISFUNC, (Function *)0x0 }, /* Control-z */ | |
62 | { ISKMAP, (Function *)emacs_meta_keymap }, /* Control-[ */ | |
63 | { ISFUNC, (Function *)0x0 }, /* Control-\ */ | |
64 | { ISFUNC, (Function *)0x0 }, /* Control-] */ | |
65 | { ISFUNC, (Function *)0x0 }, /* Control-^ */ | |
66 | { ISFUNC, rl_undo_command }, /* Control-_ */ | |
67 | ||
68 | /* The start of printing characters. */ | |
69 | { ISFUNC, rl_insert }, /* SPACE */ | |
70 | { ISFUNC, rl_insert }, /* ! */ | |
71 | { ISFUNC, rl_insert }, /* " */ | |
72 | { ISFUNC, rl_insert }, /* # */ | |
73 | { ISFUNC, rl_insert }, /* $ */ | |
74 | { ISFUNC, rl_insert }, /* % */ | |
75 | { ISFUNC, rl_insert }, /* & */ | |
76 | { ISFUNC, rl_insert }, /* ' */ | |
77 | { ISFUNC, rl_insert }, /* ( */ | |
78 | { ISFUNC, rl_insert }, /* ) */ | |
79 | { ISFUNC, rl_insert }, /* * */ | |
80 | { ISFUNC, rl_insert }, /* + */ | |
81 | { ISFUNC, rl_insert }, /* , */ | |
82 | { ISFUNC, rl_insert }, /* - */ | |
83 | { ISFUNC, rl_insert }, /* . */ | |
84 | { ISFUNC, rl_insert }, /* / */ | |
85 | ||
86 | /* Regular digits. */ | |
87 | { ISFUNC, rl_insert }, /* 0 */ | |
88 | { ISFUNC, rl_insert }, /* 1 */ | |
89 | { ISFUNC, rl_insert }, /* 2 */ | |
90 | { ISFUNC, rl_insert }, /* 3 */ | |
91 | { ISFUNC, rl_insert }, /* 4 */ | |
92 | { ISFUNC, rl_insert }, /* 5 */ | |
93 | { ISFUNC, rl_insert }, /* 6 */ | |
94 | { ISFUNC, rl_insert }, /* 7 */ | |
95 | { ISFUNC, rl_insert }, /* 8 */ | |
96 | { ISFUNC, rl_insert }, /* 9 */ | |
97 | ||
98 | /* A little more punctuation. */ | |
99 | { ISFUNC, rl_insert }, /* : */ | |
100 | { ISFUNC, rl_insert }, /* ; */ | |
101 | { ISFUNC, rl_insert }, /* < */ | |
102 | { ISFUNC, rl_insert }, /* = */ | |
103 | { ISFUNC, rl_insert }, /* > */ | |
104 | { ISFUNC, rl_insert }, /* ? */ | |
105 | { ISFUNC, rl_insert }, /* @ */ | |
106 | ||
107 | /* Uppercase alphabet. */ | |
108 | { ISFUNC, rl_insert }, /* A */ | |
109 | { ISFUNC, rl_insert }, /* B */ | |
110 | { ISFUNC, rl_insert }, /* C */ | |
111 | { ISFUNC, rl_insert }, /* D */ | |
112 | { ISFUNC, rl_insert }, /* E */ | |
113 | { ISFUNC, rl_insert }, /* F */ | |
114 | { ISFUNC, rl_insert }, /* G */ | |
115 | { ISFUNC, rl_insert }, /* H */ | |
116 | { ISFUNC, rl_insert }, /* I */ | |
117 | { ISFUNC, rl_insert }, /* J */ | |
118 | { ISFUNC, rl_insert }, /* K */ | |
119 | { ISFUNC, rl_insert }, /* L */ | |
120 | { ISFUNC, rl_insert }, /* M */ | |
121 | { ISFUNC, rl_insert }, /* N */ | |
122 | { ISFUNC, rl_insert }, /* O */ | |
123 | { ISFUNC, rl_insert }, /* P */ | |
124 | { ISFUNC, rl_insert }, /* Q */ | |
125 | { ISFUNC, rl_insert }, /* R */ | |
126 | { ISFUNC, rl_insert }, /* S */ | |
127 | { ISFUNC, rl_insert }, /* T */ | |
128 | { ISFUNC, rl_insert }, /* U */ | |
129 | { ISFUNC, rl_insert }, /* V */ | |
130 | { ISFUNC, rl_insert }, /* W */ | |
131 | { ISFUNC, rl_insert }, /* X */ | |
132 | { ISFUNC, rl_insert }, /* Y */ | |
133 | { ISFUNC, rl_insert }, /* Z */ | |
134 | ||
135 | /* Some more punctuation. */ | |
136 | { ISFUNC, rl_insert }, /* [ */ | |
137 | { ISFUNC, rl_insert }, /* \ */ | |
138 | { ISFUNC, rl_insert }, /* ] */ | |
139 | { ISFUNC, rl_insert }, /* ^ */ | |
140 | { ISFUNC, rl_insert }, /* _ */ | |
141 | { ISFUNC, rl_insert }, /* ` */ | |
142 | ||
143 | /* Lowercase alphabet. */ | |
144 | { ISFUNC, rl_insert }, /* a */ | |
145 | { ISFUNC, rl_insert }, /* b */ | |
146 | { ISFUNC, rl_insert }, /* c */ | |
147 | { ISFUNC, rl_insert }, /* d */ | |
148 | { ISFUNC, rl_insert }, /* e */ | |
149 | { ISFUNC, rl_insert }, /* f */ | |
150 | { ISFUNC, rl_insert }, /* g */ | |
151 | { ISFUNC, rl_insert }, /* h */ | |
152 | { ISFUNC, rl_insert }, /* i */ | |
153 | { ISFUNC, rl_insert }, /* j */ | |
154 | { ISFUNC, rl_insert }, /* k */ | |
155 | { ISFUNC, rl_insert }, /* l */ | |
156 | { ISFUNC, rl_insert }, /* m */ | |
157 | { ISFUNC, rl_insert }, /* n */ | |
158 | { ISFUNC, rl_insert }, /* o */ | |
159 | { ISFUNC, rl_insert }, /* p */ | |
160 | { ISFUNC, rl_insert }, /* q */ | |
161 | { ISFUNC, rl_insert }, /* r */ | |
162 | { ISFUNC, rl_insert }, /* s */ | |
163 | { ISFUNC, rl_insert }, /* t */ | |
164 | { ISFUNC, rl_insert }, /* u */ | |
165 | { ISFUNC, rl_insert }, /* v */ | |
166 | { ISFUNC, rl_insert }, /* w */ | |
167 | { ISFUNC, rl_insert }, /* x */ | |
168 | { ISFUNC, rl_insert }, /* y */ | |
169 | { ISFUNC, rl_insert }, /* z */ | |
170 | ||
171 | /* Final punctuation. */ | |
172 | { ISFUNC, rl_insert }, /* { */ | |
173 | { ISFUNC, rl_insert }, /* | */ | |
174 | { ISFUNC, rl_insert }, /* } */ | |
175 | { ISFUNC, rl_insert }, /* ~ */ | |
176 | { ISFUNC, rl_rubout } /* RUBOUT */ | |
177 | }; | |
178 | ||
179 | KEYMAP_ENTRY_ARRAY emacs_meta_keymap = { | |
180 | ||
181 | /* Meta keys. Just like above, but the high bit is set. */ | |
182 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-@ */ | |
183 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-a */ | |
184 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-b */ | |
185 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-c */ | |
186 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-d */ | |
187 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-e */ | |
188 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-f */ | |
189 | { ISFUNC, rl_abort }, /* Meta-Control-g */ | |
190 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-h */ | |
870ca253 | 191 | { ISFUNC, rl_tab_insert }, /* Meta-Control-i */ |
bd5635a1 RP |
192 | { ISFUNC, rl_vi_editing_mode }, /* Meta-Control-j */ |
193 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-k */ | |
194 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-l */ | |
195 | { ISFUNC, rl_vi_editing_mode }, /* Meta-Control-m */ | |
196 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-n */ | |
197 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-o */ | |
198 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-p */ | |
199 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-q */ | |
200 | { ISFUNC, rl_revert_line }, /* Meta-Control-r */ | |
201 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-s */ | |
202 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-t */ | |
203 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-u */ | |
204 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-v */ | |
205 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-w */ | |
206 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-x */ | |
207 | { ISFUNC, rl_yank_nth_arg }, /* Meta-Control-y */ | |
208 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-z */ | |
209 | ||
210 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-[ */ | |
211 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-\ */ | |
212 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-] */ | |
213 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-^ */ | |
214 | { ISFUNC, (Function *)0x0 }, /* Meta-Control-_ */ | |
215 | ||
216 | /* The start of printing characters. */ | |
217 | { ISFUNC, (Function *)0x0 }, /* Meta-SPACE */ | |
218 | { ISFUNC, (Function *)0x0 }, /* Meta-! */ | |
219 | { ISFUNC, (Function *)0x0 }, /* Meta-" */ | |
220 | { ISFUNC, (Function *)0x0 }, /* Meta-# */ | |
221 | { ISFUNC, (Function *)0x0 }, /* Meta-$ */ | |
222 | { ISFUNC, (Function *)0x0 }, /* Meta-% */ | |
223 | { ISFUNC, (Function *)0x0 }, /* Meta-& */ | |
224 | { ISFUNC, (Function *)0x0 }, /* Meta-' */ | |
225 | { ISFUNC, (Function *)0x0 }, /* Meta-( */ | |
226 | { ISFUNC, (Function *)0x0 }, /* Meta-) */ | |
227 | { ISFUNC, (Function *)0x0 }, /* Meta-* */ | |
228 | { ISFUNC, (Function *)0x0 }, /* Meta-+ */ | |
229 | { ISFUNC, (Function *)0x0 }, /* Meta-, */ | |
230 | { ISFUNC, rl_digit_argument }, /* Meta-- */ | |
231 | { ISFUNC, (Function *)0x0 }, /* Meta-. */ | |
232 | { ISFUNC, (Function *)0x0 }, /* Meta-/ */ | |
233 | ||
234 | /* Regular digits. */ | |
235 | { ISFUNC, rl_digit_argument }, /* Meta-0 */ | |
236 | { ISFUNC, rl_digit_argument }, /* Meta-1 */ | |
237 | { ISFUNC, rl_digit_argument }, /* Meta-2 */ | |
238 | { ISFUNC, rl_digit_argument }, /* Meta-3 */ | |
239 | { ISFUNC, rl_digit_argument }, /* Meta-4 */ | |
240 | { ISFUNC, rl_digit_argument }, /* Meta-5 */ | |
241 | { ISFUNC, rl_digit_argument }, /* Meta-6 */ | |
242 | { ISFUNC, rl_digit_argument }, /* Meta-7 */ | |
243 | { ISFUNC, rl_digit_argument }, /* Meta-8 */ | |
244 | { ISFUNC, rl_digit_argument }, /* Meta-9 */ | |
245 | ||
246 | /* A little more punctuation. */ | |
247 | { ISFUNC, (Function *)0x0 }, /* Meta-: */ | |
248 | { ISFUNC, (Function *)0x0 }, /* Meta-; */ | |
249 | { ISFUNC, rl_beginning_of_history }, /* Meta-< */ | |
250 | { ISFUNC, (Function *)0x0 }, /* Meta-= */ | |
251 | { ISFUNC, rl_end_of_history }, /* Meta-> */ | |
252 | { ISFUNC, rl_possible_completions }, /* Meta-? */ | |
253 | { ISFUNC, (Function *)0x0 }, /* Meta-@ */ | |
254 | ||
255 | /* Uppercase alphabet. */ | |
256 | { ISFUNC, rl_do_lowercase_version }, /* Meta-A */ | |
257 | { ISFUNC, rl_do_lowercase_version }, /* Meta-B */ | |
258 | { ISFUNC, rl_do_lowercase_version }, /* Meta-C */ | |
259 | { ISFUNC, rl_do_lowercase_version }, /* Meta-D */ | |
260 | { ISFUNC, rl_do_lowercase_version }, /* Meta-E */ | |
261 | { ISFUNC, rl_do_lowercase_version }, /* Meta-F */ | |
262 | { ISFUNC, rl_do_lowercase_version }, /* Meta-G */ | |
263 | { ISFUNC, rl_do_lowercase_version }, /* Meta-H */ | |
264 | { ISFUNC, rl_do_lowercase_version }, /* Meta-I */ | |
265 | { ISFUNC, rl_do_lowercase_version }, /* Meta-J */ | |
266 | { ISFUNC, rl_do_lowercase_version }, /* Meta-K */ | |
267 | { ISFUNC, rl_do_lowercase_version }, /* Meta-L */ | |
268 | { ISFUNC, rl_do_lowercase_version }, /* Meta-M */ | |
269 | { ISFUNC, rl_do_lowercase_version }, /* Meta-N */ | |
270 | { ISFUNC, rl_do_lowercase_version }, /* Meta-O */ | |
271 | { ISFUNC, rl_do_lowercase_version }, /* Meta-P */ | |
272 | { ISFUNC, rl_do_lowercase_version }, /* Meta-Q */ | |
273 | { ISFUNC, rl_do_lowercase_version }, /* Meta-R */ | |
274 | { ISFUNC, rl_do_lowercase_version }, /* Meta-S */ | |
275 | { ISFUNC, rl_do_lowercase_version }, /* Meta-T */ | |
276 | { ISFUNC, rl_do_lowercase_version }, /* Meta-U */ | |
277 | { ISFUNC, rl_do_lowercase_version }, /* Meta-V */ | |
278 | { ISFUNC, rl_do_lowercase_version }, /* Meta-W */ | |
279 | { ISFUNC, rl_do_lowercase_version }, /* Meta-X */ | |
280 | { ISFUNC, rl_do_lowercase_version }, /* Meta-Y */ | |
281 | { ISFUNC, rl_do_lowercase_version }, /* Meta-Z */ | |
282 | ||
283 | /* Some more punctuation. */ | |
870ca253 | 284 | { ISFUNC, rl_arrow_keys }, /* Meta-[ */ |
bd5635a1 RP |
285 | { ISFUNC, (Function *)0x0 }, /* Meta-\ */ |
286 | { ISFUNC, (Function *)0x0 }, /* Meta-] */ | |
287 | { ISFUNC, (Function *)0x0 }, /* Meta-^ */ | |
288 | { ISFUNC, (Function *)0x0 }, /* Meta-_ */ | |
289 | { ISFUNC, (Function *)0x0 }, /* Meta-` */ | |
290 | ||
291 | /* Lowercase alphabet. */ | |
292 | { ISFUNC, (Function *)0x0 }, /* Meta-a */ | |
293 | { ISFUNC, rl_backward_word }, /* Meta-b */ | |
294 | { ISFUNC, rl_capitalize_word }, /* Meta-c */ | |
295 | { ISFUNC, rl_kill_word }, /* Meta-d */ | |
296 | { ISFUNC, (Function *)0x0 }, /* Meta-e */ | |
297 | { ISFUNC, rl_forward_word }, /* Meta-f */ | |
298 | { ISFUNC, (Function *)0x0 }, /* Meta-g */ | |
299 | { ISFUNC, (Function *)0x0 }, /* Meta-h */ | |
300 | { ISFUNC, (Function *)0x0 }, /* Meta-i */ | |
301 | { ISFUNC, (Function *)0x0 }, /* Meta-j */ | |
302 | { ISFUNC, (Function *)0x0 }, /* Meta-k */ | |
303 | { ISFUNC, rl_downcase_word }, /* Meta-l */ | |
304 | { ISFUNC, (Function *)0x0 }, /* Meta-m */ | |
305 | { ISFUNC, (Function *)0x0 }, /* Meta-n */ | |
870ca253 | 306 | { ISFUNC, rl_arrow_keys }, /* Meta-o */ |
bd5635a1 RP |
307 | { ISFUNC, (Function *)0x0 }, /* Meta-p */ |
308 | { ISFUNC, (Function *)0x0 }, /* Meta-q */ | |
309 | { ISFUNC, rl_revert_line }, /* Meta-r */ | |
310 | { ISFUNC, (Function *)0x0 }, /* Meta-s */ | |
311 | { ISFUNC, rl_transpose_words }, /* Meta-t */ | |
312 | { ISFUNC, rl_upcase_word }, /* Meta-u */ | |
313 | { ISFUNC, (Function *)0x0 }, /* Meta-v */ | |
314 | { ISFUNC, (Function *)0x0 }, /* Meta-w */ | |
315 | { ISFUNC, (Function *)0x0 }, /* Meta-x */ | |
316 | { ISFUNC, rl_yank_pop }, /* Meta-y */ | |
317 | { ISFUNC, (Function *)0x0 }, /* Meta-z */ | |
318 | ||
319 | /* Final punctuation. */ | |
320 | { ISFUNC, (Function *)0x0 }, /* Meta-{ */ | |
321 | { ISFUNC, (Function *)0x0 }, /* Meta-| */ | |
322 | { ISFUNC, (Function *)0x0 }, /* Meta-} */ | |
323 | { ISFUNC, (Function *)0x0 }, /* Meta-~ */ | |
324 | { ISFUNC, rl_backward_kill_word } /* Meta-rubout */ | |
325 | }; | |
326 | ||
327 | KEYMAP_ENTRY_ARRAY emacs_ctlx_keymap = { | |
328 | ||
329 | /* Control keys. */ | |
330 | { ISFUNC, (Function *)0x0 }, /* Control-@ */ | |
331 | { ISFUNC, (Function *)0x0 }, /* Control-a */ | |
332 | { ISFUNC, (Function *)0x0 }, /* Control-b */ | |
333 | { ISFUNC, (Function *)0x0 }, /* Control-c */ | |
334 | { ISFUNC, (Function *)0x0 }, /* Control-d */ | |
335 | { ISFUNC, (Function *)0x0 }, /* Control-e */ | |
336 | { ISFUNC, (Function *)0x0 }, /* Control-f */ | |
337 | { ISFUNC, rl_abort }, /* Control-g */ | |
338 | { ISFUNC, (Function *)0x0 }, /* Control-h */ | |
339 | { ISFUNC, (Function *)0x0 }, /* Control-i */ | |
340 | { ISFUNC, (Function *)0x0 }, /* Control-j */ | |
341 | { ISFUNC, (Function *)0x0 }, /* Control-k */ | |
342 | { ISFUNC, (Function *)0x0 }, /* Control-l */ | |
343 | { ISFUNC, (Function *)0x0 }, /* Control-m */ | |
344 | { ISFUNC, (Function *)0x0 }, /* Control-n */ | |
345 | { ISFUNC, (Function *)0x0 }, /* Control-o */ | |
346 | { ISFUNC, (Function *)0x0 }, /* Control-p */ | |
347 | { ISFUNC, (Function *)0x0 }, /* Control-q */ | |
348 | { ISFUNC, rl_re_read_init_file }, /* Control-r */ | |
349 | { ISFUNC, (Function *)0x0 }, /* Control-s */ | |
350 | { ISFUNC, (Function *)0x0 }, /* Control-t */ | |
351 | { ISFUNC, rl_undo_command }, /* Control-u */ | |
352 | { ISFUNC, (Function *)0x0 }, /* Control-v */ | |
353 | { ISFUNC, (Function *)0x0 }, /* Control-w */ | |
354 | { ISFUNC, (Function *)0x0 }, /* Control-x */ | |
355 | { ISFUNC, (Function *)0x0 }, /* Control-y */ | |
356 | { ISFUNC, (Function *)0x0 }, /* Control-z */ | |
357 | { ISFUNC, (Function *)0x0 }, /* Control-[ */ | |
358 | { ISFUNC, (Function *)0x0 }, /* Control-\ */ | |
359 | { ISFUNC, (Function *)0x0 }, /* Control-] */ | |
360 | { ISFUNC, (Function *)0x0 }, /* Control-^ */ | |
361 | { ISFUNC, (Function *)0x0 }, /* Control-_ */ | |
362 | ||
363 | /* The start of printing characters. */ | |
364 | { ISFUNC, (Function *)0x0 }, /* SPACE */ | |
365 | { ISFUNC, (Function *)0x0 }, /* ! */ | |
366 | { ISFUNC, (Function *)0x0 }, /* " */ | |
367 | { ISFUNC, (Function *)0x0 }, /* # */ | |
368 | { ISFUNC, (Function *)0x0 }, /* $ */ | |
369 | { ISFUNC, (Function *)0x0 }, /* % */ | |
370 | { ISFUNC, (Function *)0x0 }, /* & */ | |
371 | { ISFUNC, (Function *)0x0 }, /* ' */ | |
372 | { ISFUNC, rl_start_kbd_macro }, /* ( */ | |
373 | { ISFUNC, rl_end_kbd_macro }, /* ) */ | |
374 | { ISFUNC, (Function *)0x0 }, /* * */ | |
375 | { ISFUNC, (Function *)0x0 }, /* + */ | |
376 | { ISFUNC, (Function *)0x0 }, /* , */ | |
377 | { ISFUNC, (Function *)0x0 }, /* - */ | |
378 | { ISFUNC, (Function *)0x0 }, /* . */ | |
379 | { ISFUNC, (Function *)0x0 }, /* / */ | |
380 | ||
381 | /* Regular digits. */ | |
382 | { ISFUNC, (Function *)0x0 }, /* 0 */ | |
383 | { ISFUNC, (Function *)0x0 }, /* 1 */ | |
384 | { ISFUNC, (Function *)0x0 }, /* 2 */ | |
385 | { ISFUNC, (Function *)0x0 }, /* 3 */ | |
386 | { ISFUNC, (Function *)0x0 }, /* 4 */ | |
387 | { ISFUNC, (Function *)0x0 }, /* 5 */ | |
388 | { ISFUNC, (Function *)0x0 }, /* 6 */ | |
389 | { ISFUNC, (Function *)0x0 }, /* 7 */ | |
390 | { ISFUNC, (Function *)0x0 }, /* 8 */ | |
391 | { ISFUNC, (Function *)0x0 }, /* 9 */ | |
392 | ||
393 | /* A little more punctuation. */ | |
394 | { ISFUNC, (Function *)0x0 }, /* : */ | |
395 | { ISFUNC, (Function *)0x0 }, /* ; */ | |
396 | { ISFUNC, (Function *)0x0 }, /* < */ | |
397 | { ISFUNC, (Function *)0x0 }, /* = */ | |
398 | { ISFUNC, (Function *)0x0 }, /* > */ | |
399 | { ISFUNC, (Function *)0x0 }, /* ? */ | |
400 | { ISFUNC, (Function *)0x0 }, /* @ */ | |
401 | ||
402 | /* Uppercase alphabet. */ | |
403 | { ISFUNC, rl_do_lowercase_version }, /* A */ | |
404 | { ISFUNC, rl_do_lowercase_version }, /* B */ | |
405 | { ISFUNC, rl_do_lowercase_version }, /* C */ | |
406 | { ISFUNC, rl_do_lowercase_version }, /* D */ | |
407 | { ISFUNC, rl_do_lowercase_version }, /* E */ | |
408 | { ISFUNC, rl_do_lowercase_version }, /* F */ | |
409 | { ISFUNC, rl_do_lowercase_version }, /* G */ | |
410 | { ISFUNC, rl_do_lowercase_version }, /* H */ | |
411 | { ISFUNC, rl_do_lowercase_version }, /* I */ | |
412 | { ISFUNC, rl_do_lowercase_version }, /* J */ | |
413 | { ISFUNC, rl_do_lowercase_version }, /* K */ | |
414 | { ISFUNC, rl_do_lowercase_version }, /* L */ | |
415 | { ISFUNC, rl_do_lowercase_version }, /* M */ | |
416 | { ISFUNC, rl_do_lowercase_version }, /* N */ | |
417 | { ISFUNC, rl_do_lowercase_version }, /* O */ | |
418 | { ISFUNC, rl_do_lowercase_version }, /* P */ | |
419 | { ISFUNC, rl_do_lowercase_version }, /* Q */ | |
420 | { ISFUNC, rl_do_lowercase_version }, /* R */ | |
421 | { ISFUNC, rl_do_lowercase_version }, /* S */ | |
422 | { ISFUNC, rl_do_lowercase_version }, /* T */ | |
423 | { ISFUNC, rl_do_lowercase_version }, /* U */ | |
424 | { ISFUNC, rl_do_lowercase_version }, /* V */ | |
425 | { ISFUNC, rl_do_lowercase_version }, /* W */ | |
426 | { ISFUNC, rl_do_lowercase_version }, /* X */ | |
427 | { ISFUNC, rl_do_lowercase_version }, /* Y */ | |
428 | { ISFUNC, rl_do_lowercase_version }, /* Z */ | |
429 | ||
430 | /* Some more punctuation. */ | |
431 | { ISFUNC, (Function *)0x0 }, /* [ */ | |
432 | { ISFUNC, (Function *)0x0 }, /* \ */ | |
433 | { ISFUNC, (Function *)0x0 }, /* ] */ | |
434 | { ISFUNC, (Function *)0x0 }, /* ^ */ | |
435 | { ISFUNC, (Function *)0x0 }, /* _ */ | |
436 | { ISFUNC, (Function *)0x0 }, /* ` */ | |
437 | ||
438 | /* Lowercase alphabet. */ | |
439 | { ISFUNC, (Function *)0x0 }, /* a */ | |
440 | { ISFUNC, (Function *)0x0 }, /* b */ | |
441 | { ISFUNC, (Function *)0x0 }, /* c */ | |
442 | { ISFUNC, (Function *)0x0 }, /* d */ | |
443 | { ISFUNC, rl_call_last_kbd_macro }, /* e */ | |
444 | { ISFUNC, (Function *)0x0 }, /* f */ | |
445 | { ISFUNC, (Function *)0x0 }, /* g */ | |
446 | { ISFUNC, (Function *)0x0 }, /* h */ | |
447 | { ISFUNC, (Function *)0x0 }, /* i */ | |
448 | { ISFUNC, (Function *)0x0 }, /* j */ | |
449 | { ISFUNC, (Function *)0x0 }, /* k */ | |
450 | { ISFUNC, (Function *)0x0 }, /* l */ | |
451 | { ISFUNC, (Function *)0x0 }, /* m */ | |
452 | { ISFUNC, (Function *)0x0 }, /* n */ | |
453 | { ISFUNC, (Function *)0x0 }, /* o */ | |
454 | { ISFUNC, (Function *)0x0 }, /* p */ | |
455 | { ISFUNC, (Function *)0x0 }, /* q */ | |
456 | { ISFUNC, (Function *)0x0 }, /* r */ | |
457 | { ISFUNC, (Function *)0x0 }, /* s */ | |
458 | { ISFUNC, (Function *)0x0 }, /* t */ | |
459 | { ISFUNC, (Function *)0x0 }, /* u */ | |
460 | { ISFUNC, (Function *)0x0 }, /* v */ | |
461 | { ISFUNC, (Function *)0x0 }, /* w */ | |
462 | { ISFUNC, (Function *)0x0 }, /* x */ | |
463 | { ISFUNC, (Function *)0x0 }, /* y */ | |
464 | { ISFUNC, (Function *)0x0 }, /* z */ | |
465 | ||
466 | /* Final punctuation. */ | |
467 | { ISFUNC, (Function *)0x0 }, /* { */ | |
468 | { ISFUNC, (Function *)0x0 }, /* | */ | |
469 | { ISFUNC, (Function *)0x0 }, /* } */ | |
470 | { ISFUNC, (Function *)0x0 }, /* ~ */ | |
471 | { ISFUNC, rl_backward_kill_line } /* RUBOUT */ | |
472 | }; |