Imported from ../bash-4.0-rc1.tar.gz.
[platform/upstream/bash.git] / lib / readline / emacs_keymap.c
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   { ISFUNC, rl_insert },        /* Latin small letter a with grave */
281   { ISFUNC, rl_insert },        /* Latin small letter a with acute */
282   { ISFUNC, rl_insert },        /* Latin small letter a with circumflex */
283   { ISFUNC, rl_insert },        /* Latin small letter a with tilde */
284   { ISFUNC, rl_insert },        /* Latin small letter a with diaeresis */
285   { ISFUNC, rl_insert },        /* Latin small letter a with ring above */
286   { ISFUNC, rl_insert },        /* Latin small letter ae */
287   { ISFUNC, rl_insert },        /* Latin small letter c with cedilla */
288   { ISFUNC, rl_insert },        /* Latin small letter e with grave */
289   { ISFUNC, rl_insert },        /* Latin small letter e with acute */
290   { ISFUNC, rl_insert },        /* Latin small letter e with circumflex */
291   { ISFUNC, rl_insert },        /* Latin small letter e with diaeresis */
292   { ISFUNC, rl_insert },        /* Latin small letter i with grave */
293   { ISFUNC, rl_insert },        /* Latin small letter i with acute */
294   { ISFUNC, rl_insert },        /* Latin small letter i with circumflex */
295   { ISFUNC, rl_insert },        /* Latin small letter i with diaeresis */
296   { ISFUNC, rl_insert },        /* Latin small letter eth (Icelandic) */
297   { ISFUNC, rl_insert },        /* Latin small letter n with tilde */
298   { ISFUNC, rl_insert },        /* Latin small letter o with grave */
299   { ISFUNC, rl_insert },        /* Latin small letter o with acute */
300   { ISFUNC, rl_insert },        /* Latin small letter o with circumflex */
301   { ISFUNC, rl_insert },        /* Latin small letter o with tilde */
302   { ISFUNC, rl_insert },        /* Latin small letter o with diaeresis */
303   { ISFUNC, rl_insert },        /* Division sign */
304   { ISFUNC, rl_insert },        /* Latin small letter o with stroke */
305   { ISFUNC, rl_insert },        /* Latin small letter u with grave */
306   { ISFUNC, rl_insert },        /* Latin small letter u with acute */
307   { ISFUNC, rl_insert },        /* Latin small letter u with circumflex */
308   { ISFUNC, rl_insert },        /* Latin small letter u with diaeresis */
309   { ISFUNC, rl_insert },        /* Latin small letter y with acute */
310   { ISFUNC, rl_insert },        /* Latin small letter thorn (Icelandic) */
311   { ISFUNC, rl_insert }         /* Latin small letter y with diaeresis */
312 #endif /* KEYMAP_SIZE > 128 */
313 };
314
315 KEYMAP_ENTRY_ARRAY emacs_meta_keymap = {
316
317   /* Meta keys.  Just like above, but the high bit is set. */
318   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-@ */
319   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-a */
320   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-b */
321   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-c */
322   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-d */
323   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-e */
324   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-f */
325   { ISFUNC, rl_abort },                 /* Meta-Control-g */
326   { ISFUNC, rl_backward_kill_word },    /* Meta-Control-h */
327   { ISFUNC, rl_tab_insert },            /* Meta-Control-i */
328   { ISFUNC, rl_vi_editing_mode },       /* Meta-Control-j */
329   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-k */
330   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-l */
331   { ISFUNC, rl_vi_editing_mode },       /* Meta-Control-m */
332   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-n */
333   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-o */
334   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-p */
335   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-q */
336   { ISFUNC, rl_revert_line },           /* Meta-Control-r */
337   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-s */
338   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-t */
339   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-u */
340   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-v */
341   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-w */
342   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-x */
343   { ISFUNC, rl_yank_nth_arg },          /* Meta-Control-y */
344   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-z */
345
346   { ISFUNC, rl_complete },              /* Meta-Control-[ */
347   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-\ */
348   { ISFUNC, rl_backward_char_search },  /* Meta-Control-] */
349   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-^ */
350   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-_ */
351
352   /* The start of printing characters. */
353   { ISFUNC, rl_set_mark },              /* Meta-SPACE */
354   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-! */
355   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-" */
356   { ISFUNC, rl_insert_comment },        /* Meta-# */
357   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-$ */
358   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-% */
359   { ISFUNC, rl_tilde_expand },          /* Meta-& */
360   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-' */
361   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-( */
362   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-) */
363   { ISFUNC, rl_insert_completions },    /* Meta-* */
364   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-+ */
365   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-, */
366   { ISFUNC, rl_digit_argument },        /* Meta-- */
367   { ISFUNC, rl_yank_last_arg},          /* Meta-. */
368   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-/ */
369
370   /* Regular digits. */
371   { ISFUNC, rl_digit_argument },        /* Meta-0 */
372   { ISFUNC, rl_digit_argument },        /* Meta-1 */
373   { ISFUNC, rl_digit_argument },        /* Meta-2 */
374   { ISFUNC, rl_digit_argument },        /* Meta-3 */
375   { ISFUNC, rl_digit_argument },        /* Meta-4 */
376   { ISFUNC, rl_digit_argument },        /* Meta-5 */
377   { ISFUNC, rl_digit_argument },        /* Meta-6 */
378   { ISFUNC, rl_digit_argument },        /* Meta-7 */
379   { ISFUNC, rl_digit_argument },        /* Meta-8 */
380   { ISFUNC, rl_digit_argument },        /* Meta-9 */
381
382   /* A little more punctuation. */
383   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-: */
384   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-; */
385   { ISFUNC, rl_beginning_of_history },  /* Meta-< */
386   { ISFUNC, rl_possible_completions },  /* Meta-= */
387   { ISFUNC, rl_end_of_history },        /* Meta-> */
388   { ISFUNC, rl_possible_completions },  /* Meta-? */
389   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-@ */
390
391   /* Uppercase alphabet. */
392   { ISFUNC, rl_do_lowercase_version },  /* Meta-A */
393   { ISFUNC, rl_do_lowercase_version },  /* Meta-B */
394   { ISFUNC, rl_do_lowercase_version },  /* Meta-C */
395   { ISFUNC, rl_do_lowercase_version },  /* Meta-D */
396   { ISFUNC, rl_do_lowercase_version },  /* Meta-E */
397   { ISFUNC, rl_do_lowercase_version },  /* Meta-F */
398   { ISFUNC, rl_do_lowercase_version },  /* Meta-G */
399   { ISFUNC, rl_do_lowercase_version },  /* Meta-H */
400   { ISFUNC, rl_do_lowercase_version },  /* Meta-I */
401   { ISFUNC, rl_do_lowercase_version },  /* Meta-J */
402   { ISFUNC, rl_do_lowercase_version },  /* Meta-K */
403   { ISFUNC, rl_do_lowercase_version },  /* Meta-L */
404   { ISFUNC, rl_do_lowercase_version },  /* Meta-M */
405   { ISFUNC, rl_do_lowercase_version },  /* Meta-N */
406   { ISFUNC, rl_do_lowercase_version },  /* Meta-O */
407   { ISFUNC, rl_do_lowercase_version },  /* Meta-P */
408   { ISFUNC, rl_do_lowercase_version },  /* Meta-Q */
409   { ISFUNC, rl_do_lowercase_version },  /* Meta-R */
410   { ISFUNC, rl_do_lowercase_version },  /* Meta-S */
411   { ISFUNC, rl_do_lowercase_version },  /* Meta-T */
412   { ISFUNC, rl_do_lowercase_version },  /* Meta-U */
413   { ISFUNC, rl_do_lowercase_version },  /* Meta-V */
414   { ISFUNC, rl_do_lowercase_version },  /* Meta-W */
415   { ISFUNC, rl_do_lowercase_version },  /* Meta-X */
416   { ISFUNC, rl_do_lowercase_version },  /* Meta-Y */
417   { ISFUNC, rl_do_lowercase_version },  /* Meta-Z */
418
419   /* Some more punctuation. */
420   { ISFUNC, (rl_command_func_t *)0x0 },         /* Meta-[ */    /* was rl_arrow_keys */
421   { ISFUNC, rl_delete_horizontal_space },       /* Meta-\ */
422   { ISFUNC, (rl_command_func_t *)0x0 },         /* Meta-] */
423   { ISFUNC, (rl_command_func_t *)0x0 },         /* Meta-^ */
424   { ISFUNC, rl_yank_last_arg },                 /* Meta-_ */
425   { ISFUNC, (rl_command_func_t *)0x0 },         /* Meta-` */
426
427   /* Lowercase alphabet. */
428   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-a */
429   { ISFUNC, rl_backward_word },         /* Meta-b */
430   { ISFUNC, rl_capitalize_word },       /* Meta-c */
431   { ISFUNC, rl_kill_word },             /* Meta-d */
432   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-e */
433   { ISFUNC, rl_forward_word },          /* Meta-f */
434   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-g */
435   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-h */
436   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-i */
437   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-j */
438   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-k */
439   { ISFUNC, rl_downcase_word },         /* Meta-l */
440   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-m */
441   { ISFUNC, rl_noninc_forward_search }, /* Meta-n */
442   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-o */    /* was rl_arrow_keys */
443   { ISFUNC, rl_noninc_reverse_search }, /* Meta-p */
444   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-q */
445   { ISFUNC, rl_revert_line },           /* Meta-r */
446   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-s */
447   { ISFUNC, rl_transpose_words },       /* Meta-t */
448   { ISFUNC, rl_upcase_word },           /* Meta-u */
449   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-v */
450   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-w */
451   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-x */
452   { ISFUNC, rl_yank_pop },              /* Meta-y */
453   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-z */
454
455   /* Final punctuation. */
456   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-{ */
457   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-| */
458   { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-} */
459   { ISFUNC, rl_tilde_expand },          /* Meta-~ */
460   { ISFUNC, rl_backward_kill_word },    /* Meta-rubout */
461
462 #if KEYMAP_SIZE > 128
463   /* Undefined keys. */
464   { ISFUNC, (rl_command_func_t *)0x0 },
465   { ISFUNC, (rl_command_func_t *)0x0 },
466   { ISFUNC, (rl_command_func_t *)0x0 },
467   { ISFUNC, (rl_command_func_t *)0x0 },
468   { ISFUNC, (rl_command_func_t *)0x0 },
469   { ISFUNC, (rl_command_func_t *)0x0 },
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 #endif /* KEYMAP_SIZE > 128 */
593 };
594
595 KEYMAP_ENTRY_ARRAY emacs_ctlx_keymap = {
596
597   /* Control keys. */
598   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-@ */
599   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-a */
600   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-b */
601   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-c */
602   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-d */
603   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-e */
604   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-f */
605   { ISFUNC, rl_abort },                         /* Control-g */
606   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-h */
607   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-i */
608   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-j */
609   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-k */
610   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-l */
611   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-m */
612   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-n */
613   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-o */
614   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-p */
615   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-q */
616   { ISFUNC, rl_re_read_init_file },             /* Control-r */
617   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-s */
618   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-t */
619   { ISFUNC, rl_undo_command },                  /* Control-u */
620   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-v */
621   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-w */
622   { ISFUNC, rl_exchange_point_and_mark },       /* Control-x */
623   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-y */
624   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-z */
625   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-[ */
626   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-\ */
627   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-] */
628   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-^ */
629   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-_ */
630
631   /* The start of printing characters. */
632   { ISFUNC, (rl_command_func_t *)0x0 },         /* SPACE */
633   { ISFUNC, (rl_command_func_t *)0x0 },         /* ! */
634   { ISFUNC, (rl_command_func_t *)0x0 },         /* " */
635   { ISFUNC, (rl_command_func_t *)0x0 },         /* # */
636   { ISFUNC, (rl_command_func_t *)0x0 },         /* $ */
637   { ISFUNC, (rl_command_func_t *)0x0 },         /* % */
638   { ISFUNC, (rl_command_func_t *)0x0 },         /* & */
639   { ISFUNC, (rl_command_func_t *)0x0 },         /* ' */
640   { ISFUNC, rl_start_kbd_macro },               /* ( */
641   { ISFUNC, rl_end_kbd_macro  },                /* ) */
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_command_func_t *)0x0 },         /* . */
647   { ISFUNC, (rl_command_func_t *)0x0 },         /* / */
648
649   /* Regular digits. */
650   { ISFUNC, (rl_command_func_t *)0x0 },         /* 0 */
651   { ISFUNC, (rl_command_func_t *)0x0 },         /* 1 */
652   { ISFUNC, (rl_command_func_t *)0x0 },         /* 2 */
653   { ISFUNC, (rl_command_func_t *)0x0 },         /* 3 */
654   { ISFUNC, (rl_command_func_t *)0x0 },         /* 4 */
655   { ISFUNC, (rl_command_func_t *)0x0 },         /* 5 */
656   { ISFUNC, (rl_command_func_t *)0x0 },         /* 6 */
657   { ISFUNC, (rl_command_func_t *)0x0 },         /* 7 */
658   { ISFUNC, (rl_command_func_t *)0x0 },         /* 8 */
659   { ISFUNC, (rl_command_func_t *)0x0 },         /* 9 */
660
661   /* A little more punctuation. */
662   { ISFUNC, (rl_command_func_t *)0x0 },         /* : */
663   { ISFUNC, (rl_command_func_t *)0x0 },         /* ; */
664   { ISFUNC, (rl_command_func_t *)0x0 },         /* < */
665   { ISFUNC, (rl_command_func_t *)0x0 },         /* = */
666   { ISFUNC, (rl_command_func_t *)0x0 },         /* > */
667   { ISFUNC, (rl_command_func_t *)0x0 },         /* ? */
668   { ISFUNC, (rl_command_func_t *)0x0 },         /* @ */
669
670   /* Uppercase alphabet. */
671   { ISFUNC, rl_do_lowercase_version },          /* A */
672   { ISFUNC, rl_do_lowercase_version },          /* B */
673   { ISFUNC, rl_do_lowercase_version },          /* C */
674   { ISFUNC, rl_do_lowercase_version },          /* D */
675   { ISFUNC, rl_do_lowercase_version },          /* E */
676   { ISFUNC, rl_do_lowercase_version },          /* F */
677   { ISFUNC, rl_do_lowercase_version },          /* G */
678   { ISFUNC, rl_do_lowercase_version },          /* H */
679   { ISFUNC, rl_do_lowercase_version },          /* I */
680   { ISFUNC, rl_do_lowercase_version },          /* J */
681   { ISFUNC, rl_do_lowercase_version },          /* K */
682   { ISFUNC, rl_do_lowercase_version },          /* L */
683   { ISFUNC, rl_do_lowercase_version },          /* M */
684   { ISFUNC, rl_do_lowercase_version },          /* N */
685   { ISFUNC, rl_do_lowercase_version },          /* O */
686   { ISFUNC, rl_do_lowercase_version },          /* P */
687   { ISFUNC, rl_do_lowercase_version },          /* Q */
688   { ISFUNC, rl_do_lowercase_version },          /* R */
689   { ISFUNC, rl_do_lowercase_version },          /* S */
690   { ISFUNC, rl_do_lowercase_version },          /* T */
691   { ISFUNC, rl_do_lowercase_version },          /* U */
692   { ISFUNC, rl_do_lowercase_version },          /* V */
693   { ISFUNC, rl_do_lowercase_version },          /* W */
694   { ISFUNC, rl_do_lowercase_version },          /* X */
695   { ISFUNC, rl_do_lowercase_version },          /* Y */
696   { ISFUNC, rl_do_lowercase_version },          /* Z */
697
698   /* Some more punctuation. */
699   { ISFUNC, (rl_command_func_t *)0x0 },         /* [ */
700   { ISFUNC, (rl_command_func_t *)0x0 },         /* \ */
701   { ISFUNC, (rl_command_func_t *)0x0 },         /* ] */
702   { ISFUNC, (rl_command_func_t *)0x0 },         /* ^ */
703   { ISFUNC, (rl_command_func_t *)0x0 },         /* _ */
704   { ISFUNC, (rl_command_func_t *)0x0 },         /* ` */
705
706   /* Lowercase alphabet. */
707   { ISFUNC, (rl_command_func_t *)0x0 },         /* a */
708   { ISFUNC, (rl_command_func_t *)0x0 },         /* b */
709   { ISFUNC, (rl_command_func_t *)0x0 },         /* c */
710   { ISFUNC, (rl_command_func_t *)0x0 },         /* d */
711   { ISFUNC, rl_call_last_kbd_macro },           /* e */
712   { ISFUNC, (rl_command_func_t *)0x0 },         /* f */
713   { ISFUNC, (rl_command_func_t *)0x0 },         /* g */
714   { ISFUNC, (rl_command_func_t *)0x0 },         /* h */
715   { ISFUNC, (rl_command_func_t *)0x0 },         /* i */
716   { ISFUNC, (rl_command_func_t *)0x0 },         /* j */
717   { ISFUNC, (rl_command_func_t *)0x0 },         /* k */
718   { ISFUNC, (rl_command_func_t *)0x0 },         /* l */
719   { ISFUNC, (rl_command_func_t *)0x0 },         /* m */
720   { ISFUNC, (rl_command_func_t *)0x0 },         /* n */
721   { ISFUNC, (rl_command_func_t *)0x0 },         /* o */
722   { ISFUNC, (rl_command_func_t *)0x0 },         /* p */
723   { ISFUNC, (rl_command_func_t *)0x0 },         /* q */
724   { ISFUNC, (rl_command_func_t *)0x0 },         /* r */
725   { ISFUNC, (rl_command_func_t *)0x0 },         /* s */
726   { ISFUNC, (rl_command_func_t *)0x0 },         /* t */
727   { ISFUNC, (rl_command_func_t *)0x0 },         /* u */
728   { ISFUNC, (rl_command_func_t *)0x0 },         /* v */
729   { ISFUNC, (rl_command_func_t *)0x0 },         /* w */
730   { ISFUNC, (rl_command_func_t *)0x0 },         /* x */
731   { ISFUNC, (rl_command_func_t *)0x0 },         /* y */
732   { ISFUNC, (rl_command_func_t *)0x0 },         /* z */
733
734   /* Final punctuation. */
735   { ISFUNC, (rl_command_func_t *)0x0 },         /* { */
736   { ISFUNC, (rl_command_func_t *)0x0 },         /* | */
737   { ISFUNC, (rl_command_func_t *)0x0 },         /* } */
738   { ISFUNC, (rl_command_func_t *)0x0 },         /* ~ */
739   { ISFUNC, rl_backward_kill_line },            /* RUBOUT */
740
741 #if KEYMAP_SIZE > 128
742   /* Undefined keys. */
743   { ISFUNC, (rl_command_func_t *)0x0 },
744   { ISFUNC, (rl_command_func_t *)0x0 },
745   { ISFUNC, (rl_command_func_t *)0x0 },
746   { ISFUNC, (rl_command_func_t *)0x0 },
747   { ISFUNC, (rl_command_func_t *)0x0 },
748   { ISFUNC, (rl_command_func_t *)0x0 },
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 #endif /* KEYMAP_SIZE > 128 */
872 };