1 /* emacs_keymap.c -- the keymap for emacs_mode in readline (). */
2 
3 /* Copyright (C) 1987-2009 Free Software Foundation, Inc.
4 
5    This file is part of the GNU Readline Library (Readline), a library
6    for reading lines of text with interactive input and history editing.
7 
8    Readline is free software: you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation, either version 3 of the License, or
11    (at your option) any later version.
12 
13    Readline is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17 
18    You should have received a copy of the GNU General Public License
19    along with Readline.  If not, see <http://www.gnu.org/licenses/>.
20 */
21 
22 #if !defined (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, rl_set_mark },			/* Control-@ */
36   { ISFUNC, rl_beg_of_line },			/* Control-a */
37   { ISFUNC, rl_backward_char },			/* Control-b */
38   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-c */
39   { ISFUNC, rl_delete },			/* Control-d */
40   { ISFUNC, rl_end_of_line },			/* Control-e */
41   { ISFUNC, rl_forward_char },			/* Control-f */
42   { ISFUNC, rl_abort },				/* Control-g */
43   { ISFUNC, rl_rubout },			/* Control-h */
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, (rl_command_func_t *)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, (rl_command_func_t *)emacs_ctlx_keymap },	/* Control-x */
60   { ISFUNC, rl_yank },				/* Control-y */
61   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-z */
62   { ISKMAP, (rl_command_func_t *)emacs_meta_keymap }, /* Control-[ */
63   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-\ */
64   { ISFUNC, rl_char_search },			/* Control-] */
65   { ISFUNC, (rl_command_func_t *)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 #if KEYMAP_SIZE > 128
179   /* Pure 8-bit characters (128 - 159).
180      These might be used in some
181      character sets. */
182   { ISFUNC, rl_insert },		/* ? */
183   { ISFUNC, rl_insert },		/* ? */
184   { ISFUNC, rl_insert },		/* ? */
185   { ISFUNC, rl_insert },		/* ? */
186   { ISFUNC, rl_insert },		/* ? */
187   { ISFUNC, rl_insert },		/* ? */
188   { ISFUNC, rl_insert },		/* ? */
189   { ISFUNC, rl_insert },		/* ? */
190   { ISFUNC, rl_insert },		/* ? */
191   { ISFUNC, rl_insert },		/* ? */
192   { ISFUNC, rl_insert },		/* ? */
193   { ISFUNC, rl_insert },		/* ? */
194   { ISFUNC, rl_insert },		/* ? */
195   { ISFUNC, rl_insert },		/* ? */
196   { ISFUNC, rl_insert },		/* ? */
197   { ISFUNC, rl_insert },		/* ? */
198   { ISFUNC, rl_insert },		/* ? */
199   { ISFUNC, rl_insert },		/* ? */
200   { ISFUNC, rl_insert },		/* ? */
201   { ISFUNC, rl_insert },		/* ? */
202   { ISFUNC, rl_insert },		/* ? */
203   { ISFUNC, rl_insert },		/* ? */
204   { ISFUNC, rl_insert },		/* ? */
205   { ISFUNC, rl_insert },		/* ? */
206   { ISFUNC, rl_insert },		/* ? */
207   { ISFUNC, rl_insert },		/* ? */
208   { ISFUNC, rl_insert },		/* ? */
209   { ISFUNC, rl_insert },		/* ? */
210   { ISFUNC, rl_insert },		/* ? */
211   { ISFUNC, rl_insert },		/* ? */
212   { ISFUNC, rl_insert },		/* ? */
213   { ISFUNC, rl_insert },		/* ? */
214 
215   /* ISO Latin-1 characters (160 - 255) */
216   { ISFUNC, rl_insert },	/* No-break space */
217   { ISFUNC, rl_insert },	/* Inverted exclamation mark */
218   { ISFUNC, rl_insert },	/* Cent sign */
219   { ISFUNC, rl_insert },	/* Pound sign */
220   { ISFUNC, rl_insert },	/* Currency sign */
221   { ISFUNC, rl_insert },	/* Yen sign */
222   { ISFUNC, rl_insert },	/* Broken bar */
223   { ISFUNC, rl_insert },	/* Section sign */
224   { ISFUNC, rl_insert },	/* Diaeresis */
225   { ISFUNC, rl_insert },	/* Copyright sign */
226   { ISFUNC, rl_insert },	/* Feminine ordinal indicator */
227   { ISFUNC, rl_insert },	/* Left pointing double angle quotation mark */
228   { ISFUNC, rl_insert },	/* Not sign */
229   { ISFUNC, rl_insert },	/* Soft hyphen */
230   { ISFUNC, rl_insert },	/* Registered sign */
231   { ISFUNC, rl_insert },	/* Macron */
232   { ISFUNC, rl_insert },	/* Degree sign */
233   { ISFUNC, rl_insert },	/* Plus-minus sign */
234   { ISFUNC, rl_insert },	/* Superscript two */
235   { ISFUNC, rl_insert },	/* Superscript three */
236   { ISFUNC, rl_insert },	/* Acute accent */
237   { ISFUNC, rl_insert },	/* Micro sign */
238   { ISFUNC, rl_insert },	/* Pilcrow sign */
239   { ISFUNC, rl_insert },	/* Middle dot */
240   { ISFUNC, rl_insert },	/* Cedilla */
241   { ISFUNC, rl_insert },	/* Superscript one */
242   { ISFUNC, rl_insert },	/* Masculine ordinal indicator */
243   { ISFUNC, rl_insert },	/* Right pointing double angle quotation mark */
244   { ISFUNC, rl_insert },	/* Vulgar fraction one quarter */
245   { ISFUNC, rl_insert },	/* Vulgar fraction one half */
246   { ISFUNC, rl_insert },	/* Vulgar fraction three quarters */
247   { ISFUNC, rl_insert },	/* Inverted questionk mark */
248   { ISFUNC, rl_insert },	/* Latin capital letter a with grave */
249   { ISFUNC, rl_insert },	/* Latin capital letter a with acute */
250   { ISFUNC, rl_insert },	/* Latin capital letter a with circumflex */
251   { ISFUNC, rl_insert },	/* Latin capital letter a with tilde */
252   { ISFUNC, rl_insert },	/* Latin capital letter a with diaeresis */
253   { ISFUNC, rl_insert },	/* Latin capital letter a with ring above */
254   { ISFUNC, rl_insert },	/* Latin capital letter ae */
255   { ISFUNC, rl_insert },	/* Latin capital letter c with cedilla */
256   { ISFUNC, rl_insert },	/* Latin capital letter e with grave */
257   { ISFUNC, rl_insert },	/* Latin capital letter e with acute */
258   { ISFUNC, rl_insert },	/* Latin capital letter e with circumflex */
259   { ISFUNC, rl_insert },	/* Latin capital letter e with diaeresis */
260   { ISFUNC, rl_insert },	/* Latin capital letter i with grave */
261   { ISFUNC, rl_insert },	/* Latin capital letter i with acute */
262   { ISFUNC, rl_insert },	/* Latin capital letter i with circumflex */
263   { ISFUNC, rl_insert },	/* Latin capital letter i with diaeresis */
264   { ISFUNC, rl_insert },	/* Latin capital letter eth (Icelandic) */
265   { ISFUNC, rl_insert },	/* Latin capital letter n with tilde */
266   { ISFUNC, rl_insert },	/* Latin capital letter o with grave */
267   { ISFUNC, rl_insert },	/* Latin capital letter o with acute */
268   { ISFUNC, rl_insert },	/* Latin capital letter o with circumflex */
269   { ISFUNC, rl_insert },	/* Latin capital letter o with tilde */
270   { ISFUNC, rl_insert },	/* Latin capital letter o with diaeresis */
271   { ISFUNC, rl_insert },	/* Multiplication sign */
272   { ISFUNC, rl_insert },	/* Latin capital letter o with stroke */
273   { ISFUNC, rl_insert },	/* Latin capital letter u with grave */
274   { ISFUNC, rl_insert },	/* Latin capital letter u with acute */
275   { ISFUNC, rl_insert },	/* Latin capital letter u with circumflex */
276   { ISFUNC, rl_insert },	/* Latin capital letter u with diaeresis */
277   { ISFUNC, rl_insert },	/* Latin capital letter Y with acute */
278   { ISFUNC, rl_insert },	/* Latin capital letter thorn (Icelandic) */
279   { ISFUNC, rl_insert },	/* Latin small letter sharp s (German) */
280 #ifndef __MINGW32__
281   { ISFUNC, rl_insert },	/* Latin small letter a with grave */
282 #else
283   /* Temporary - this is a bug in readline 5.1 that should be fixed in
284      readline 5.2.  */
285   { ISFUNC, 0 },		/* Must leave this unbound for the arrow keys to work.  */
286 #endif
287   { ISFUNC, rl_insert },	/* Latin small letter a with acute */
288   { ISFUNC, rl_insert },	/* Latin small letter a with circumflex */
289   { ISFUNC, rl_insert },	/* Latin small letter a with tilde */
290   { ISFUNC, rl_insert },	/* Latin small letter a with diaeresis */
291   { ISFUNC, rl_insert },	/* Latin small letter a with ring above */
292   { ISFUNC, rl_insert },	/* Latin small letter ae */
293   { ISFUNC, rl_insert },	/* Latin small letter c with cedilla */
294   { ISFUNC, rl_insert },	/* Latin small letter e with grave */
295   { ISFUNC, rl_insert },	/* Latin small letter e with acute */
296   { ISFUNC, rl_insert },	/* Latin small letter e with circumflex */
297   { ISFUNC, rl_insert },	/* Latin small letter e with diaeresis */
298   { ISFUNC, rl_insert },	/* Latin small letter i with grave */
299   { ISFUNC, rl_insert },	/* Latin small letter i with acute */
300   { ISFUNC, rl_insert },	/* Latin small letter i with circumflex */
301   { ISFUNC, rl_insert },	/* Latin small letter i with diaeresis */
302   { ISFUNC, rl_insert },	/* Latin small letter eth (Icelandic) */
303   { ISFUNC, rl_insert },	/* Latin small letter n with tilde */
304   { ISFUNC, rl_insert },	/* Latin small letter o with grave */
305   { ISFUNC, rl_insert },	/* Latin small letter o with acute */
306   { ISFUNC, rl_insert },	/* Latin small letter o with circumflex */
307   { ISFUNC, rl_insert },	/* Latin small letter o with tilde */
308   { ISFUNC, rl_insert },	/* Latin small letter o with diaeresis */
309   { ISFUNC, rl_insert },	/* Division sign */
310   { ISFUNC, rl_insert },	/* Latin small letter o with stroke */
311   { ISFUNC, rl_insert },	/* Latin small letter u with grave */
312   { ISFUNC, rl_insert },	/* Latin small letter u with acute */
313   { ISFUNC, rl_insert },	/* Latin small letter u with circumflex */
314   { ISFUNC, rl_insert },	/* Latin small letter u with diaeresis */
315   { ISFUNC, rl_insert },	/* Latin small letter y with acute */
316   { ISFUNC, rl_insert },	/* Latin small letter thorn (Icelandic) */
317   { ISFUNC, rl_insert }		/* Latin small letter y with diaeresis */
318 #endif /* KEYMAP_SIZE > 128 */
319 };
320 
321 KEYMAP_ENTRY_ARRAY emacs_meta_keymap = {
322 
323   /* Meta keys.  Just like above, but the high bit is set. */
324   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-@ */
325   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-a */
326   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-b */
327   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-c */
328   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-d */
329   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-e */
330   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-f */
331   { ISFUNC, rl_abort },			/* Meta-Control-g */
332   { ISFUNC, rl_backward_kill_word },	/* Meta-Control-h */
333   { ISFUNC, rl_tab_insert },		/* Meta-Control-i */
334   { ISFUNC, rl_vi_editing_mode },	/* Meta-Control-j */
335   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-k */
336   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-l */
337   { ISFUNC, rl_vi_editing_mode }, 	/* Meta-Control-m */
338   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-n */
339   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-o */
340   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-p */
341   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-q */
342   { ISFUNC, rl_revert_line },		/* Meta-Control-r */
343   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-s */
344   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-t */
345   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-u */
346   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-v */
347   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-w */
348   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-x */
349   { ISFUNC, rl_yank_nth_arg },		/* Meta-Control-y */
350   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-z */
351 
352   { ISFUNC, rl_complete },		/* Meta-Control-[ */
353   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-\ */
354   { ISFUNC, rl_backward_char_search },	/* Meta-Control-] */
355   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-^ */
356   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-Control-_ */
357 
358   /* The start of printing characters. */
359   { ISFUNC, rl_set_mark },		/* Meta-SPACE */
360   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-! */
361   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-" */
362   { ISFUNC, rl_insert_comment },	/* Meta-# */
363   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-$ */
364   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-% */
365   { ISFUNC, rl_tilde_expand },		/* Meta-& */
366   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-' */
367   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-( */
368   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-) */
369   { ISFUNC, rl_insert_completions },	/* Meta-* */
370   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-+ */
371   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-, */
372   { ISFUNC, rl_digit_argument }, 	/* Meta-- */
373   { ISFUNC, rl_yank_last_arg},		/* Meta-. */
374   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-/ */
375 
376   /* Regular digits. */
377   { ISFUNC, rl_digit_argument }, 	/* Meta-0 */
378   { ISFUNC, rl_digit_argument }, 	/* Meta-1 */
379   { ISFUNC, rl_digit_argument }, 	/* Meta-2 */
380   { ISFUNC, rl_digit_argument }, 	/* Meta-3 */
381   { ISFUNC, rl_digit_argument }, 	/* Meta-4 */
382   { ISFUNC, rl_digit_argument }, 	/* Meta-5 */
383   { ISFUNC, rl_digit_argument }, 	/* Meta-6 */
384   { ISFUNC, rl_digit_argument }, 	/* Meta-7 */
385   { ISFUNC, rl_digit_argument }, 	/* Meta-8 */
386   { ISFUNC, rl_digit_argument }, 	/* Meta-9 */
387 
388   /* A little more punctuation. */
389   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-: */
390   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-; */
391   { ISFUNC, rl_beginning_of_history },	/* Meta-< */
392   { ISFUNC, rl_possible_completions },	/* Meta-= */
393   { ISFUNC, rl_end_of_history },	/* Meta-> */
394   { ISFUNC, rl_possible_completions },	/* Meta-? */
395   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-@ */
396 
397   /* Uppercase alphabet. */
398   { ISFUNC, rl_do_lowercase_version },	/* Meta-A */
399   { ISFUNC, rl_do_lowercase_version },	/* Meta-B */
400   { ISFUNC, rl_do_lowercase_version },	/* Meta-C */
401   { ISFUNC, rl_do_lowercase_version },	/* Meta-D */
402   { ISFUNC, rl_do_lowercase_version },	/* Meta-E */
403   { ISFUNC, rl_do_lowercase_version },	/* Meta-F */
404   { ISFUNC, rl_do_lowercase_version },	/* Meta-G */
405   { ISFUNC, rl_do_lowercase_version },	/* Meta-H */
406   { ISFUNC, rl_do_lowercase_version },	/* Meta-I */
407   { ISFUNC, rl_do_lowercase_version },	/* Meta-J */
408   { ISFUNC, rl_do_lowercase_version },	/* Meta-K */
409   { ISFUNC, rl_do_lowercase_version },	/* Meta-L */
410   { ISFUNC, rl_do_lowercase_version },	/* Meta-M */
411   { ISFUNC, rl_do_lowercase_version },	/* Meta-N */
412   { ISFUNC, rl_do_lowercase_version },	/* Meta-O */
413   { ISFUNC, rl_do_lowercase_version },	/* Meta-P */
414   { ISFUNC, rl_do_lowercase_version },	/* Meta-Q */
415   { ISFUNC, rl_do_lowercase_version },	/* Meta-R */
416   { ISFUNC, rl_do_lowercase_version },	/* Meta-S */
417   { ISFUNC, rl_do_lowercase_version },	/* Meta-T */
418   { ISFUNC, rl_do_lowercase_version },	/* Meta-U */
419   { ISFUNC, rl_do_lowercase_version },	/* Meta-V */
420   { ISFUNC, rl_do_lowercase_version },	/* Meta-W */
421   { ISFUNC, rl_do_lowercase_version },	/* Meta-X */
422   { ISFUNC, rl_do_lowercase_version },	/* Meta-Y */
423   { ISFUNC, rl_do_lowercase_version },	/* Meta-Z */
424 
425   /* Some more punctuation. */
426   { ISFUNC, (rl_command_func_t *)0x0 },		/* Meta-[ */	/* was rl_arrow_keys */
427   { ISFUNC, rl_delete_horizontal_space },	/* Meta-\ */
428   { ISFUNC, (rl_command_func_t *)0x0 },		/* Meta-] */
429   { ISFUNC, (rl_command_func_t *)0x0 },		/* Meta-^ */
430   { ISFUNC, rl_yank_last_arg },			/* Meta-_ */
431   { ISFUNC, (rl_command_func_t *)0x0 },		/* Meta-` */
432 
433   /* Lowercase alphabet. */
434   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-a */
435   { ISFUNC, rl_backward_word },		/* Meta-b */
436   { ISFUNC, rl_capitalize_word }, 	/* Meta-c */
437   { ISFUNC, rl_kill_word },		/* Meta-d */
438   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-e */
439   { ISFUNC, rl_forward_word },		/* Meta-f */
440   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-g */
441   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-h */
442   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-i */
443   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-j */
444   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-k */
445   { ISFUNC, rl_downcase_word },		/* Meta-l */
446   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-m */
447   { ISFUNC, rl_noninc_forward_search },	/* Meta-n */
448   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-o */	/* was rl_arrow_keys */
449   { ISFUNC, rl_noninc_reverse_search },	/* Meta-p */
450   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-q */
451   { ISFUNC, rl_revert_line },		/* Meta-r */
452   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-s */
453   { ISFUNC, rl_transpose_words }, 	/* Meta-t */
454   { ISFUNC, rl_upcase_word },		/* Meta-u */
455   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-v */
456   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-w */
457   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-x */
458   { ISFUNC, rl_yank_pop },		/* Meta-y */
459   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-z */
460 
461   /* Final punctuation. */
462   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-{ */
463   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-| */
464   { ISFUNC, (rl_command_func_t *)0x0 },	/* Meta-} */
465   { ISFUNC, rl_tilde_expand },		/* Meta-~ */
466   { ISFUNC, rl_backward_kill_word },	/* Meta-rubout */
467 
468 #if KEYMAP_SIZE > 128
469   /* Undefined keys. */
470   { ISFUNC, (rl_command_func_t *)0x0 },
471   { ISFUNC, (rl_command_func_t *)0x0 },
472   { ISFUNC, (rl_command_func_t *)0x0 },
473   { ISFUNC, (rl_command_func_t *)0x0 },
474   { ISFUNC, (rl_command_func_t *)0x0 },
475   { ISFUNC, (rl_command_func_t *)0x0 },
476   { ISFUNC, (rl_command_func_t *)0x0 },
477   { ISFUNC, (rl_command_func_t *)0x0 },
478   { ISFUNC, (rl_command_func_t *)0x0 },
479   { ISFUNC, (rl_command_func_t *)0x0 },
480   { ISFUNC, (rl_command_func_t *)0x0 },
481   { ISFUNC, (rl_command_func_t *)0x0 },
482   { ISFUNC, (rl_command_func_t *)0x0 },
483   { ISFUNC, (rl_command_func_t *)0x0 },
484   { ISFUNC, (rl_command_func_t *)0x0 },
485   { ISFUNC, (rl_command_func_t *)0x0 },
486   { ISFUNC, (rl_command_func_t *)0x0 },
487   { ISFUNC, (rl_command_func_t *)0x0 },
488   { ISFUNC, (rl_command_func_t *)0x0 },
489   { ISFUNC, (rl_command_func_t *)0x0 },
490   { ISFUNC, (rl_command_func_t *)0x0 },
491   { ISFUNC, (rl_command_func_t *)0x0 },
492   { ISFUNC, (rl_command_func_t *)0x0 },
493   { ISFUNC, (rl_command_func_t *)0x0 },
494   { ISFUNC, (rl_command_func_t *)0x0 },
495   { ISFUNC, (rl_command_func_t *)0x0 },
496   { ISFUNC, (rl_command_func_t *)0x0 },
497   { ISFUNC, (rl_command_func_t *)0x0 },
498   { ISFUNC, (rl_command_func_t *)0x0 },
499   { ISFUNC, (rl_command_func_t *)0x0 },
500   { ISFUNC, (rl_command_func_t *)0x0 },
501   { ISFUNC, (rl_command_func_t *)0x0 },
502   { ISFUNC, (rl_command_func_t *)0x0 },
503   { ISFUNC, (rl_command_func_t *)0x0 },
504   { ISFUNC, (rl_command_func_t *)0x0 },
505   { ISFUNC, (rl_command_func_t *)0x0 },
506   { ISFUNC, (rl_command_func_t *)0x0 },
507   { ISFUNC, (rl_command_func_t *)0x0 },
508   { ISFUNC, (rl_command_func_t *)0x0 },
509   { ISFUNC, (rl_command_func_t *)0x0 },
510   { ISFUNC, (rl_command_func_t *)0x0 },
511   { ISFUNC, (rl_command_func_t *)0x0 },
512   { ISFUNC, (rl_command_func_t *)0x0 },
513   { ISFUNC, (rl_command_func_t *)0x0 },
514   { ISFUNC, (rl_command_func_t *)0x0 },
515   { ISFUNC, (rl_command_func_t *)0x0 },
516   { ISFUNC, (rl_command_func_t *)0x0 },
517   { ISFUNC, (rl_command_func_t *)0x0 },
518   { ISFUNC, (rl_command_func_t *)0x0 },
519   { ISFUNC, (rl_command_func_t *)0x0 },
520   { ISFUNC, (rl_command_func_t *)0x0 },
521   { ISFUNC, (rl_command_func_t *)0x0 },
522   { ISFUNC, (rl_command_func_t *)0x0 },
523   { ISFUNC, (rl_command_func_t *)0x0 },
524   { ISFUNC, (rl_command_func_t *)0x0 },
525   { ISFUNC, (rl_command_func_t *)0x0 },
526   { ISFUNC, (rl_command_func_t *)0x0 },
527   { ISFUNC, (rl_command_func_t *)0x0 },
528   { ISFUNC, (rl_command_func_t *)0x0 },
529   { ISFUNC, (rl_command_func_t *)0x0 },
530   { ISFUNC, (rl_command_func_t *)0x0 },
531   { ISFUNC, (rl_command_func_t *)0x0 },
532   { ISFUNC, (rl_command_func_t *)0x0 },
533   { ISFUNC, (rl_command_func_t *)0x0 },
534   { ISFUNC, (rl_command_func_t *)0x0 },
535   { ISFUNC, (rl_command_func_t *)0x0 },
536   { ISFUNC, (rl_command_func_t *)0x0 },
537   { ISFUNC, (rl_command_func_t *)0x0 },
538   { ISFUNC, (rl_command_func_t *)0x0 },
539   { ISFUNC, (rl_command_func_t *)0x0 },
540   { ISFUNC, (rl_command_func_t *)0x0 },
541   { ISFUNC, (rl_command_func_t *)0x0 },
542   { ISFUNC, (rl_command_func_t *)0x0 },
543   { ISFUNC, (rl_command_func_t *)0x0 },
544   { ISFUNC, (rl_command_func_t *)0x0 },
545   { ISFUNC, (rl_command_func_t *)0x0 },
546   { ISFUNC, (rl_command_func_t *)0x0 },
547   { ISFUNC, (rl_command_func_t *)0x0 },
548   { ISFUNC, (rl_command_func_t *)0x0 },
549   { ISFUNC, (rl_command_func_t *)0x0 },
550   { ISFUNC, (rl_command_func_t *)0x0 },
551   { ISFUNC, (rl_command_func_t *)0x0 },
552   { ISFUNC, (rl_command_func_t *)0x0 },
553   { ISFUNC, (rl_command_func_t *)0x0 },
554   { ISFUNC, (rl_command_func_t *)0x0 },
555   { ISFUNC, (rl_command_func_t *)0x0 },
556   { ISFUNC, (rl_command_func_t *)0x0 },
557   { ISFUNC, (rl_command_func_t *)0x0 },
558   { ISFUNC, (rl_command_func_t *)0x0 },
559   { ISFUNC, (rl_command_func_t *)0x0 },
560   { ISFUNC, (rl_command_func_t *)0x0 },
561   { ISFUNC, (rl_command_func_t *)0x0 },
562   { ISFUNC, (rl_command_func_t *)0x0 },
563   { ISFUNC, (rl_command_func_t *)0x0 },
564   { ISFUNC, (rl_command_func_t *)0x0 },
565   { ISFUNC, (rl_command_func_t *)0x0 },
566   { ISFUNC, (rl_command_func_t *)0x0 },
567   { ISFUNC, (rl_command_func_t *)0x0 },
568   { ISFUNC, (rl_command_func_t *)0x0 },
569   { ISFUNC, (rl_command_func_t *)0x0 },
570   { ISFUNC, (rl_command_func_t *)0x0 },
571   { ISFUNC, (rl_command_func_t *)0x0 },
572   { ISFUNC, (rl_command_func_t *)0x0 },
573   { ISFUNC, (rl_command_func_t *)0x0 },
574   { ISFUNC, (rl_command_func_t *)0x0 },
575   { ISFUNC, (rl_command_func_t *)0x0 },
576   { ISFUNC, (rl_command_func_t *)0x0 },
577   { ISFUNC, (rl_command_func_t *)0x0 },
578   { ISFUNC, (rl_command_func_t *)0x0 },
579   { ISFUNC, (rl_command_func_t *)0x0 },
580   { ISFUNC, (rl_command_func_t *)0x0 },
581   { ISFUNC, (rl_command_func_t *)0x0 },
582   { ISFUNC, (rl_command_func_t *)0x0 },
583   { ISFUNC, (rl_command_func_t *)0x0 },
584   { ISFUNC, (rl_command_func_t *)0x0 },
585   { ISFUNC, (rl_command_func_t *)0x0 },
586   { ISFUNC, (rl_command_func_t *)0x0 },
587   { ISFUNC, (rl_command_func_t *)0x0 },
588   { ISFUNC, (rl_command_func_t *)0x0 },
589   { ISFUNC, (rl_command_func_t *)0x0 },
590   { ISFUNC, (rl_command_func_t *)0x0 },
591   { ISFUNC, (rl_command_func_t *)0x0 },
592   { ISFUNC, (rl_command_func_t *)0x0 },
593   { ISFUNC, (rl_command_func_t *)0x0 },
594   { ISFUNC, (rl_command_func_t *)0x0 },
595   { ISFUNC, (rl_command_func_t *)0x0 },
596   { ISFUNC, (rl_command_func_t *)0x0 },
597   { ISFUNC, (rl_command_func_t *)0x0 }
598 #endif /* KEYMAP_SIZE > 128 */
599 };
600 
601 KEYMAP_ENTRY_ARRAY emacs_ctlx_keymap = {
602 
603   /* Control keys. */
604   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-@ */
605   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-a */
606   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-b */
607   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-c */
608   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-d */
609   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-e */
610   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-f */
611   { ISFUNC, rl_abort },				/* Control-g */
612   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-h */
613   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-i */
614   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-j */
615   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-k */
616   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-l */
617   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-m */
618   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-n */
619   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-o */
620   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-p */
621   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-q */
622   { ISFUNC, rl_re_read_init_file },		/* Control-r */
623   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-s */
624   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-t */
625   { ISFUNC, rl_undo_command },			/* Control-u */
626   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-v */
627   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-w */
628   { ISFUNC, rl_exchange_point_and_mark },	/* Control-x */
629   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-y */
630   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-z */
631   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-[ */
632   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-\ */
633   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-] */
634   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-^ */
635   { ISFUNC, (rl_command_func_t *)0x0 },		/* Control-_ */
636 
637   /* The start of printing characters. */
638   { ISFUNC, (rl_command_func_t *)0x0 },		/* SPACE */
639   { ISFUNC, (rl_command_func_t *)0x0 },		/* ! */
640   { ISFUNC, (rl_command_func_t *)0x0 },		/* " */
641   { ISFUNC, (rl_command_func_t *)0x0 },		/* # */
642   { ISFUNC, (rl_command_func_t *)0x0 },		/* $ */
643   { ISFUNC, (rl_command_func_t *)0x0 },		/* % */
644   { ISFUNC, (rl_command_func_t *)0x0 },		/* & */
645   { ISFUNC, (rl_command_func_t *)0x0 },		/* ' */
646   { ISFUNC, rl_start_kbd_macro },		/* ( */
647   { ISFUNC, rl_end_kbd_macro  },		/* ) */
648   { ISFUNC, (rl_command_func_t *)0x0 },		/* * */
649   { ISFUNC, (rl_command_func_t *)0x0 },		/* + */
650   { ISFUNC, (rl_command_func_t *)0x0 },		/* , */
651   { ISFUNC, (rl_command_func_t *)0x0 },		/* - */
652   { ISFUNC, (rl_command_func_t *)0x0 },		/* . */
653   { ISFUNC, (rl_command_func_t *)0x0 },		/* / */
654 
655   /* Regular digits. */
656   { ISFUNC, (rl_command_func_t *)0x0 },		/* 0 */
657   { ISFUNC, (rl_command_func_t *)0x0 },		/* 1 */
658   { ISFUNC, (rl_command_func_t *)0x0 },		/* 2 */
659   { ISFUNC, (rl_command_func_t *)0x0 },		/* 3 */
660   { ISFUNC, (rl_command_func_t *)0x0 },		/* 4 */
661   { ISFUNC, (rl_command_func_t *)0x0 },		/* 5 */
662   { ISFUNC, (rl_command_func_t *)0x0 },		/* 6 */
663   { ISFUNC, (rl_command_func_t *)0x0 },		/* 7 */
664   { ISFUNC, (rl_command_func_t *)0x0 },		/* 8 */
665   { ISFUNC, (rl_command_func_t *)0x0 },		/* 9 */
666 
667   /* A little more punctuation. */
668   { ISFUNC, (rl_command_func_t *)0x0 },		/* : */
669   { ISFUNC, (rl_command_func_t *)0x0 },		/* ; */
670   { ISFUNC, (rl_command_func_t *)0x0 },		/* < */
671   { ISFUNC, (rl_command_func_t *)0x0 },		/* = */
672   { ISFUNC, (rl_command_func_t *)0x0 },		/* > */
673   { ISFUNC, (rl_command_func_t *)0x0 },		/* ? */
674   { ISFUNC, (rl_command_func_t *)0x0 },		/* @ */
675 
676   /* Uppercase alphabet. */
677   { ISFUNC, rl_do_lowercase_version },		/* A */
678   { ISFUNC, rl_do_lowercase_version },		/* B */
679   { ISFUNC, rl_do_lowercase_version },		/* C */
680   { ISFUNC, rl_do_lowercase_version },		/* D */
681   { ISFUNC, rl_do_lowercase_version },		/* E */
682   { ISFUNC, rl_do_lowercase_version },		/* F */
683   { ISFUNC, rl_do_lowercase_version },		/* G */
684   { ISFUNC, rl_do_lowercase_version },		/* H */
685   { ISFUNC, rl_do_lowercase_version },		/* I */
686   { ISFUNC, rl_do_lowercase_version },		/* J */
687   { ISFUNC, rl_do_lowercase_version },		/* K */
688   { ISFUNC, rl_do_lowercase_version },		/* L */
689   { ISFUNC, rl_do_lowercase_version },		/* M */
690   { ISFUNC, rl_do_lowercase_version },		/* N */
691   { ISFUNC, rl_do_lowercase_version },		/* O */
692   { ISFUNC, rl_do_lowercase_version },		/* P */
693   { ISFUNC, rl_do_lowercase_version },		/* Q */
694   { ISFUNC, rl_do_lowercase_version },		/* R */
695   { ISFUNC, rl_do_lowercase_version },		/* S */
696   { ISFUNC, rl_do_lowercase_version },		/* T */
697   { ISFUNC, rl_do_lowercase_version },		/* U */
698   { ISFUNC, rl_do_lowercase_version },		/* V */
699   { ISFUNC, rl_do_lowercase_version },		/* W */
700   { ISFUNC, rl_do_lowercase_version },		/* X */
701   { ISFUNC, rl_do_lowercase_version },		/* Y */
702   { ISFUNC, rl_do_lowercase_version },		/* Z */
703 
704   /* Some more punctuation. */
705   { ISFUNC, (rl_command_func_t *)0x0 },		/* [ */
706   { ISFUNC, (rl_command_func_t *)0x0 },		/* \ */
707   { ISFUNC, (rl_command_func_t *)0x0 },		/* ] */
708   { ISFUNC, (rl_command_func_t *)0x0 },		/* ^ */
709   { ISFUNC, (rl_command_func_t *)0x0 },		/* _ */
710   { ISFUNC, (rl_command_func_t *)0x0 },		/* ` */
711 
712   /* Lowercase alphabet. */
713   { ISFUNC, (rl_command_func_t *)0x0 },		/* a */
714   { ISFUNC, (rl_command_func_t *)0x0 },		/* b */
715   { ISFUNC, (rl_command_func_t *)0x0 },		/* c */
716   { ISFUNC, (rl_command_func_t *)0x0 },		/* d */
717   { ISFUNC, rl_call_last_kbd_macro },		/* e */
718   { ISFUNC, (rl_command_func_t *)0x0 },		/* f */
719   { ISFUNC, (rl_command_func_t *)0x0 },		/* g */
720   { ISFUNC, (rl_command_func_t *)0x0 },		/* h */
721   { ISFUNC, (rl_command_func_t *)0x0 },		/* i */
722   { ISFUNC, (rl_command_func_t *)0x0 },		/* j */
723   { ISFUNC, (rl_command_func_t *)0x0 },		/* k */
724   { ISFUNC, (rl_command_func_t *)0x0 },		/* l */
725   { ISFUNC, (rl_command_func_t *)0x0 },		/* m */
726   { ISFUNC, (rl_command_func_t *)0x0 },		/* n */
727   { ISFUNC, (rl_command_func_t *)0x0 },		/* o */
728   { ISFUNC, (rl_command_func_t *)0x0 },		/* p */
729   { ISFUNC, (rl_command_func_t *)0x0 },		/* q */
730   { ISFUNC, (rl_command_func_t *)0x0 },		/* r */
731   { ISFUNC, (rl_command_func_t *)0x0 },		/* s */
732   { ISFUNC, (rl_command_func_t *)0x0 },		/* t */
733   { ISFUNC, (rl_command_func_t *)0x0 },		/* u */
734   { ISFUNC, (rl_command_func_t *)0x0 },		/* v */
735   { ISFUNC, (rl_command_func_t *)0x0 },		/* w */
736   { ISFUNC, (rl_command_func_t *)0x0 },		/* x */
737   { ISFUNC, (rl_command_func_t *)0x0 },		/* y */
738   { ISFUNC, (rl_command_func_t *)0x0 },		/* z */
739 
740   /* Final punctuation. */
741   { ISFUNC, (rl_command_func_t *)0x0 },		/* { */
742   { ISFUNC, (rl_command_func_t *)0x0 },		/* | */
743   { ISFUNC, (rl_command_func_t *)0x0 },		/* } */
744   { ISFUNC, (rl_command_func_t *)0x0 },		/* ~ */
745   { ISFUNC, rl_backward_kill_line },		/* RUBOUT */
746 
747 #if KEYMAP_SIZE > 128
748   /* Undefined keys. */
749   { ISFUNC, (rl_command_func_t *)0x0 },
750   { ISFUNC, (rl_command_func_t *)0x0 },
751   { ISFUNC, (rl_command_func_t *)0x0 },
752   { ISFUNC, (rl_command_func_t *)0x0 },
753   { ISFUNC, (rl_command_func_t *)0x0 },
754   { ISFUNC, (rl_command_func_t *)0x0 },
755   { ISFUNC, (rl_command_func_t *)0x0 },
756   { ISFUNC, (rl_command_func_t *)0x0 },
757   { ISFUNC, (rl_command_func_t *)0x0 },
758   { ISFUNC, (rl_command_func_t *)0x0 },
759   { ISFUNC, (rl_command_func_t *)0x0 },
760   { ISFUNC, (rl_command_func_t *)0x0 },
761   { ISFUNC, (rl_command_func_t *)0x0 },
762   { ISFUNC, (rl_command_func_t *)0x0 },
763   { ISFUNC, (rl_command_func_t *)0x0 },
764   { ISFUNC, (rl_command_func_t *)0x0 },
765   { ISFUNC, (rl_command_func_t *)0x0 },
766   { ISFUNC, (rl_command_func_t *)0x0 },
767   { ISFUNC, (rl_command_func_t *)0x0 },
768   { ISFUNC, (rl_command_func_t *)0x0 },
769   { ISFUNC, (rl_command_func_t *)0x0 },
770   { ISFUNC, (rl_command_func_t *)0x0 },
771   { ISFUNC, (rl_command_func_t *)0x0 },
772   { ISFUNC, (rl_command_func_t *)0x0 },
773   { ISFUNC, (rl_command_func_t *)0x0 },
774   { ISFUNC, (rl_command_func_t *)0x0 },
775   { ISFUNC, (rl_command_func_t *)0x0 },
776   { ISFUNC, (rl_command_func_t *)0x0 },
777   { ISFUNC, (rl_command_func_t *)0x0 },
778   { ISFUNC, (rl_command_func_t *)0x0 },
779   { ISFUNC, (rl_command_func_t *)0x0 },
780   { ISFUNC, (rl_command_func_t *)0x0 },
781   { ISFUNC, (rl_command_func_t *)0x0 },
782   { ISFUNC, (rl_command_func_t *)0x0 },
783   { ISFUNC, (rl_command_func_t *)0x0 },
784   { ISFUNC, (rl_command_func_t *)0x0 },
785   { ISFUNC, (rl_command_func_t *)0x0 },
786   { ISFUNC, (rl_command_func_t *)0x0 },
787   { ISFUNC, (rl_command_func_t *)0x0 },
788   { ISFUNC, (rl_command_func_t *)0x0 },
789   { ISFUNC, (rl_command_func_t *)0x0 },
790   { ISFUNC, (rl_command_func_t *)0x0 },
791   { ISFUNC, (rl_command_func_t *)0x0 },
792   { ISFUNC, (rl_command_func_t *)0x0 },
793   { ISFUNC, (rl_command_func_t *)0x0 },
794   { ISFUNC, (rl_command_func_t *)0x0 },
795   { ISFUNC, (rl_command_func_t *)0x0 },
796   { ISFUNC, (rl_command_func_t *)0x0 },
797   { ISFUNC, (rl_command_func_t *)0x0 },
798   { ISFUNC, (rl_command_func_t *)0x0 },
799   { ISFUNC, (rl_command_func_t *)0x0 },
800   { ISFUNC, (rl_command_func_t *)0x0 },
801   { ISFUNC, (rl_command_func_t *)0x0 },
802   { ISFUNC, (rl_command_func_t *)0x0 },
803   { ISFUNC, (rl_command_func_t *)0x0 },
804   { ISFUNC, (rl_command_func_t *)0x0 },
805   { ISFUNC, (rl_command_func_t *)0x0 },
806   { ISFUNC, (rl_command_func_t *)0x0 },
807   { ISFUNC, (rl_command_func_t *)0x0 },
808   { ISFUNC, (rl_command_func_t *)0x0 },
809   { ISFUNC, (rl_command_func_t *)0x0 },
810   { ISFUNC, (rl_command_func_t *)0x0 },
811   { ISFUNC, (rl_command_func_t *)0x0 },
812   { ISFUNC, (rl_command_func_t *)0x0 },
813   { ISFUNC, (rl_command_func_t *)0x0 },
814   { ISFUNC, (rl_command_func_t *)0x0 },
815   { ISFUNC, (rl_command_func_t *)0x0 },
816   { ISFUNC, (rl_command_func_t *)0x0 },
817   { ISFUNC, (rl_command_func_t *)0x0 },
818   { ISFUNC, (rl_command_func_t *)0x0 },
819   { ISFUNC, (rl_command_func_t *)0x0 },
820   { ISFUNC, (rl_command_func_t *)0x0 },
821   { ISFUNC, (rl_command_func_t *)0x0 },
822   { ISFUNC, (rl_command_func_t *)0x0 },
823   { ISFUNC, (rl_command_func_t *)0x0 },
824   { ISFUNC, (rl_command_func_t *)0x0 },
825   { ISFUNC, (rl_command_func_t *)0x0 },
826   { ISFUNC, (rl_command_func_t *)0x0 },
827   { ISFUNC, (rl_command_func_t *)0x0 },
828   { ISFUNC, (rl_command_func_t *)0x0 },
829   { ISFUNC, (rl_command_func_t *)0x0 },
830   { ISFUNC, (rl_command_func_t *)0x0 },
831   { ISFUNC, (rl_command_func_t *)0x0 },
832   { ISFUNC, (rl_command_func_t *)0x0 },
833   { ISFUNC, (rl_command_func_t *)0x0 },
834   { ISFUNC, (rl_command_func_t *)0x0 },
835   { ISFUNC, (rl_command_func_t *)0x0 },
836   { ISFUNC, (rl_command_func_t *)0x0 },
837   { ISFUNC, (rl_command_func_t *)0x0 },
838   { ISFUNC, (rl_command_func_t *)0x0 },
839   { ISFUNC, (rl_command_func_t *)0x0 },
840   { ISFUNC, (rl_command_func_t *)0x0 },
841   { ISFUNC, (rl_command_func_t *)0x0 },
842   { ISFUNC, (rl_command_func_t *)0x0 },
843   { ISFUNC, (rl_command_func_t *)0x0 },
844   { ISFUNC, (rl_command_func_t *)0x0 },
845   { ISFUNC, (rl_command_func_t *)0x0 },
846   { ISFUNC, (rl_command_func_t *)0x0 },
847   { ISFUNC, (rl_command_func_t *)0x0 },
848   { ISFUNC, (rl_command_func_t *)0x0 },
849   { ISFUNC, (rl_command_func_t *)0x0 },
850   { ISFUNC, (rl_command_func_t *)0x0 },
851   { ISFUNC, (rl_command_func_t *)0x0 },
852   { ISFUNC, (rl_command_func_t *)0x0 },
853   { ISFUNC, (rl_command_func_t *)0x0 },
854   { ISFUNC, (rl_command_func_t *)0x0 },
855   { ISFUNC, (rl_command_func_t *)0x0 },
856   { ISFUNC, (rl_command_func_t *)0x0 },
857   { ISFUNC, (rl_command_func_t *)0x0 },
858   { ISFUNC, (rl_command_func_t *)0x0 },
859   { ISFUNC, (rl_command_func_t *)0x0 },
860   { ISFUNC, (rl_command_func_t *)0x0 },
861   { ISFUNC, (rl_command_func_t *)0x0 },
862   { ISFUNC, (rl_command_func_t *)0x0 },
863   { ISFUNC, (rl_command_func_t *)0x0 },
864   { ISFUNC, (rl_command_func_t *)0x0 },
865   { ISFUNC, (rl_command_func_t *)0x0 },
866   { ISFUNC, (rl_command_func_t *)0x0 },
867   { ISFUNC, (rl_command_func_t *)0x0 },
868   { ISFUNC, (rl_command_func_t *)0x0 },
869   { ISFUNC, (rl_command_func_t *)0x0 },
870   { ISFUNC, (rl_command_func_t *)0x0 },
871   { ISFUNC, (rl_command_func_t *)0x0 },
872   { ISFUNC, (rl_command_func_t *)0x0 },
873   { ISFUNC, (rl_command_func_t *)0x0 },
874   { ISFUNC, (rl_command_func_t *)0x0 },
875   { ISFUNC, (rl_command_func_t *)0x0 },
876   { ISFUNC, (rl_command_func_t *)0x0 }
877 #endif /* KEYMAP_SIZE > 128 */
878 };
879