Skip broken assembler test on Windows host.
[external/binutils.git] / readline / vi_keymap.c
1 /* vi_keymap.c -- the keymap for vi_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 #if 0
29 extern KEYMAP_ENTRY_ARRAY vi_escape_keymap;
30 #endif
31
32 /* The keymap arrays for handling vi mode. */
33 KEYMAP_ENTRY_ARRAY vi_movement_keymap = {
34   /* The regular control keys come first. */
35   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-@ */
36   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-a */
37   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-b */
38   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-c */
39   { ISFUNC, rl_vi_eof_maybe },                  /* Control-d */
40   { ISFUNC, rl_emacs_editing_mode },            /* Control-e */
41   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-f */
42   { ISFUNC, rl_abort },                         /* Control-g */
43   { ISFUNC, rl_backward_char },                 /* Control-h */
44   { ISFUNC, (rl_command_func_t *)0x0 },         /* 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   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-x */
60   { ISFUNC, rl_yank },                          /* Control-y */
61   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-z */
62
63   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-[ */ /* vi_escape_keymap */
64   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-\ */
65   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-] */
66   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-^ */
67   { ISFUNC, rl_vi_undo },                       /* Control-_ */
68
69   /* The start of printing characters. */
70   { ISFUNC, rl_forward_char },                  /* SPACE */
71   { ISFUNC, (rl_command_func_t *)0x0 },         /* ! */
72   { ISFUNC, (rl_command_func_t *)0x0 },         /* " */
73   { ISFUNC, rl_insert_comment },                /* # */
74   { ISFUNC, rl_end_of_line },                   /* $ */
75   { ISFUNC, rl_vi_match },                      /* % */
76   { ISFUNC, rl_vi_tilde_expand },               /* & */
77   { ISFUNC, (rl_command_func_t *)0x0 },         /* ' */
78   { ISFUNC, (rl_command_func_t *)0x0 },         /* ( */
79   { ISFUNC, (rl_command_func_t *)0x0 },         /* ) */
80   { ISFUNC, rl_vi_complete },                   /* * */
81   { ISFUNC, rl_get_next_history},               /* + */
82   { ISFUNC, rl_vi_char_search },                /* , */
83   { ISFUNC, rl_get_previous_history },          /* - */
84   { ISFUNC, rl_vi_redo },                       /* . */
85   { ISFUNC, rl_vi_search },                     /* / */
86
87   /* Regular digits. */
88   { ISFUNC, rl_beg_of_line },                   /* 0 */
89   { ISFUNC, rl_vi_arg_digit },                  /* 1 */
90   { ISFUNC, rl_vi_arg_digit },                  /* 2 */
91   { ISFUNC, rl_vi_arg_digit },                  /* 3 */
92   { ISFUNC, rl_vi_arg_digit },                  /* 4 */
93   { ISFUNC, rl_vi_arg_digit },                  /* 5 */
94   { ISFUNC, rl_vi_arg_digit },                  /* 6 */
95   { ISFUNC, rl_vi_arg_digit },                  /* 7 */
96   { ISFUNC, rl_vi_arg_digit },                  /* 8 */
97   { ISFUNC, rl_vi_arg_digit },                  /* 9 */
98
99   /* A little more punctuation. */
100   { ISFUNC, (rl_command_func_t *)0x0 },         /* : */
101   { ISFUNC, rl_vi_char_search },                /* ; */
102   { ISFUNC, (rl_command_func_t *)0x0 },         /* < */
103   { ISFUNC, rl_vi_complete },                   /* = */
104   { ISFUNC, (rl_command_func_t *)0x0 },         /* > */
105   { ISFUNC, rl_vi_search },                     /* ? */
106   { ISFUNC, (rl_command_func_t *)0x0 },         /* @ */
107
108   /* Uppercase alphabet. */
109   { ISFUNC, rl_vi_append_eol },                 /* A */
110   { ISFUNC, rl_vi_prev_word},                   /* B */
111   { ISFUNC, rl_vi_change_to },                  /* C */
112   { ISFUNC, rl_vi_delete_to },                  /* D */
113   { ISFUNC, rl_vi_end_word },                   /* E */
114   { ISFUNC, rl_vi_char_search },                /* F */
115   { ISFUNC, rl_vi_fetch_history },              /* G */
116   { ISFUNC, (rl_command_func_t *)0x0 },         /* H */
117   { ISFUNC, rl_vi_insert_beg },                 /* I */
118   { ISFUNC, (rl_command_func_t *)0x0 },         /* J */
119   { ISFUNC, (rl_command_func_t *)0x0 },         /* K */
120   { ISFUNC, (rl_command_func_t *)0x0 },         /* L */
121   { ISFUNC, (rl_command_func_t *)0x0 },         /* M */
122   { ISFUNC, rl_vi_search_again },               /* N */
123   { ISFUNC, (rl_command_func_t *)0x0 },         /* O */
124   { ISFUNC, rl_vi_put },                        /* P */
125   { ISFUNC, (rl_command_func_t *)0x0 },         /* Q */
126   { ISFUNC, rl_vi_replace },                    /* R */
127   { ISFUNC, rl_vi_subst },                      /* S */
128   { ISFUNC, rl_vi_char_search },                /* T */
129   { ISFUNC, rl_revert_line },                   /* U */
130   { ISFUNC, (rl_command_func_t *)0x0 },         /* V */
131   { ISFUNC, rl_vi_next_word },                  /* W */
132   { ISFUNC, rl_vi_rubout },                     /* X */
133   { ISFUNC, rl_vi_yank_to },                    /* Y */
134   { ISFUNC, (rl_command_func_t *)0x0 },         /* Z */
135
136   /* Some more punctuation. */
137   { ISFUNC, (rl_command_func_t *)0x0 },         /* [ */
138   { ISFUNC, rl_vi_complete },                   /* \ */
139   { ISFUNC, (rl_command_func_t *)0x0 },         /* ] */
140   { ISFUNC, rl_vi_first_print },                /* ^ */
141   { ISFUNC, rl_vi_yank_arg },                   /* _ */
142   { ISFUNC, rl_vi_goto_mark },                  /* ` */
143
144   /* Lowercase alphabet. */
145   { ISFUNC, rl_vi_append_mode },                /* a */
146   { ISFUNC, rl_vi_prev_word },                  /* b */
147   { ISFUNC, rl_vi_change_to },                  /* c */
148   { ISFUNC, rl_vi_delete_to },                  /* d */
149   { ISFUNC, rl_vi_end_word },                   /* e */
150   { ISFUNC, rl_vi_char_search },                /* f */
151   { ISFUNC, (rl_command_func_t *)0x0 },         /* g */
152   { ISFUNC, rl_backward_char },                 /* h */
153   { ISFUNC, rl_vi_insert_mode },                /* i */
154   { ISFUNC, rl_get_next_history },              /* j */
155   { ISFUNC, rl_get_previous_history },          /* k */
156   { ISFUNC, rl_forward_char },                  /* l */
157   { ISFUNC, rl_vi_set_mark },                   /* m */
158   { ISFUNC, rl_vi_search_again },               /* n */
159   { ISFUNC, (rl_command_func_t *)0x0 },         /* o */
160   { ISFUNC, rl_vi_put },                        /* p */
161   { ISFUNC, (rl_command_func_t *)0x0 },         /* q */
162   { ISFUNC, rl_vi_change_char },                /* r */
163   { ISFUNC, rl_vi_subst },                      /* s */
164   { ISFUNC, rl_vi_char_search },                /* t */
165   { ISFUNC, rl_vi_undo },                       /* u */
166   { ISFUNC, (rl_command_func_t *)0x0 },         /* v */
167   { ISFUNC, rl_vi_next_word },                  /* w */
168   { ISFUNC, rl_vi_delete },                     /* x */
169   { ISFUNC, rl_vi_yank_to },                    /* y */
170   { ISFUNC, (rl_command_func_t *)0x0 },         /* z */
171
172   /* Final punctuation. */
173   { ISFUNC, (rl_command_func_t *)0x0 },         /* { */
174   { ISFUNC, rl_vi_column },                     /* | */
175   { ISFUNC, (rl_command_func_t *)0x0 },         /* } */
176   { ISFUNC, rl_vi_change_case },                /* ~ */
177   { ISFUNC, (rl_command_func_t *)0x0 },         /* RUBOUT */
178
179 #if KEYMAP_SIZE > 128
180   /* Undefined keys. */
181   { ISFUNC, (rl_command_func_t *)0x0 },
182   { ISFUNC, (rl_command_func_t *)0x0 },
183   { ISFUNC, (rl_command_func_t *)0x0 },
184   { ISFUNC, (rl_command_func_t *)0x0 },
185   { ISFUNC, (rl_command_func_t *)0x0 },
186   { ISFUNC, (rl_command_func_t *)0x0 },
187   { ISFUNC, (rl_command_func_t *)0x0 },
188   { ISFUNC, (rl_command_func_t *)0x0 },
189   { ISFUNC, (rl_command_func_t *)0x0 },
190   { ISFUNC, (rl_command_func_t *)0x0 },
191   { ISFUNC, (rl_command_func_t *)0x0 },
192   { ISFUNC, (rl_command_func_t *)0x0 },
193   { ISFUNC, (rl_command_func_t *)0x0 },
194   { ISFUNC, (rl_command_func_t *)0x0 },
195   { ISFUNC, (rl_command_func_t *)0x0 },
196   { ISFUNC, (rl_command_func_t *)0x0 },
197   { ISFUNC, (rl_command_func_t *)0x0 },
198   { ISFUNC, (rl_command_func_t *)0x0 },
199   { ISFUNC, (rl_command_func_t *)0x0 },
200   { ISFUNC, (rl_command_func_t *)0x0 },
201   { ISFUNC, (rl_command_func_t *)0x0 },
202   { ISFUNC, (rl_command_func_t *)0x0 },
203   { ISFUNC, (rl_command_func_t *)0x0 },
204   { ISFUNC, (rl_command_func_t *)0x0 },
205   { ISFUNC, (rl_command_func_t *)0x0 },
206   { ISFUNC, (rl_command_func_t *)0x0 },
207   { ISFUNC, (rl_command_func_t *)0x0 },
208   { ISFUNC, (rl_command_func_t *)0x0 },
209   { ISFUNC, (rl_command_func_t *)0x0 },
210   { ISFUNC, (rl_command_func_t *)0x0 },
211   { ISFUNC, (rl_command_func_t *)0x0 },
212   { ISFUNC, (rl_command_func_t *)0x0 },
213   { ISFUNC, (rl_command_func_t *)0x0 },
214   { ISFUNC, (rl_command_func_t *)0x0 },
215   { ISFUNC, (rl_command_func_t *)0x0 },
216   { ISFUNC, (rl_command_func_t *)0x0 },
217   { ISFUNC, (rl_command_func_t *)0x0 },
218   { ISFUNC, (rl_command_func_t *)0x0 },
219   { ISFUNC, (rl_command_func_t *)0x0 },
220   { ISFUNC, (rl_command_func_t *)0x0 },
221   { ISFUNC, (rl_command_func_t *)0x0 },
222   { ISFUNC, (rl_command_func_t *)0x0 },
223   { ISFUNC, (rl_command_func_t *)0x0 },
224   { ISFUNC, (rl_command_func_t *)0x0 },
225   { ISFUNC, (rl_command_func_t *)0x0 },
226   { ISFUNC, (rl_command_func_t *)0x0 },
227   { ISFUNC, (rl_command_func_t *)0x0 },
228   { ISFUNC, (rl_command_func_t *)0x0 },
229   { ISFUNC, (rl_command_func_t *)0x0 },
230   { ISFUNC, (rl_command_func_t *)0x0 },
231   { ISFUNC, (rl_command_func_t *)0x0 },
232   { ISFUNC, (rl_command_func_t *)0x0 },
233   { ISFUNC, (rl_command_func_t *)0x0 },
234   { ISFUNC, (rl_command_func_t *)0x0 },
235   { ISFUNC, (rl_command_func_t *)0x0 },
236   { ISFUNC, (rl_command_func_t *)0x0 },
237   { ISFUNC, (rl_command_func_t *)0x0 },
238   { ISFUNC, (rl_command_func_t *)0x0 },
239   { ISFUNC, (rl_command_func_t *)0x0 },
240   { ISFUNC, (rl_command_func_t *)0x0 },
241   { ISFUNC, (rl_command_func_t *)0x0 },
242   { ISFUNC, (rl_command_func_t *)0x0 },
243   { ISFUNC, (rl_command_func_t *)0x0 },
244   { ISFUNC, (rl_command_func_t *)0x0 },
245   { ISFUNC, (rl_command_func_t *)0x0 },
246   { ISFUNC, (rl_command_func_t *)0x0 },
247   { ISFUNC, (rl_command_func_t *)0x0 },
248   { ISFUNC, (rl_command_func_t *)0x0 },
249   { ISFUNC, (rl_command_func_t *)0x0 },
250   { ISFUNC, (rl_command_func_t *)0x0 },
251   { ISFUNC, (rl_command_func_t *)0x0 },
252   { ISFUNC, (rl_command_func_t *)0x0 },
253   { ISFUNC, (rl_command_func_t *)0x0 },
254   { ISFUNC, (rl_command_func_t *)0x0 },
255   { ISFUNC, (rl_command_func_t *)0x0 },
256   { ISFUNC, (rl_command_func_t *)0x0 },
257   { ISFUNC, (rl_command_func_t *)0x0 },
258   { ISFUNC, (rl_command_func_t *)0x0 },
259   { ISFUNC, (rl_command_func_t *)0x0 },
260   { ISFUNC, (rl_command_func_t *)0x0 },
261   { ISFUNC, (rl_command_func_t *)0x0 },
262   { ISFUNC, (rl_command_func_t *)0x0 },
263   { ISFUNC, (rl_command_func_t *)0x0 },
264   { ISFUNC, (rl_command_func_t *)0x0 },
265   { ISFUNC, (rl_command_func_t *)0x0 },
266   { ISFUNC, (rl_command_func_t *)0x0 },
267   { ISFUNC, (rl_command_func_t *)0x0 },
268   { ISFUNC, (rl_command_func_t *)0x0 },
269   { ISFUNC, (rl_command_func_t *)0x0 },
270   { ISFUNC, (rl_command_func_t *)0x0 },
271   { ISFUNC, (rl_command_func_t *)0x0 },
272   { ISFUNC, (rl_command_func_t *)0x0 },
273   { ISFUNC, (rl_command_func_t *)0x0 },
274   { ISFUNC, (rl_command_func_t *)0x0 },
275   { ISFUNC, (rl_command_func_t *)0x0 },
276   { ISFUNC, (rl_command_func_t *)0x0 },
277   { ISFUNC, (rl_command_func_t *)0x0 },
278   { ISFUNC, (rl_command_func_t *)0x0 },
279   { ISFUNC, (rl_command_func_t *)0x0 },
280   { ISFUNC, (rl_command_func_t *)0x0 },
281   { ISFUNC, (rl_command_func_t *)0x0 },
282   { ISFUNC, (rl_command_func_t *)0x0 },
283   { ISFUNC, (rl_command_func_t *)0x0 },
284   { ISFUNC, (rl_command_func_t *)0x0 },
285   { ISFUNC, (rl_command_func_t *)0x0 },
286   { ISFUNC, (rl_command_func_t *)0x0 },
287   { ISFUNC, (rl_command_func_t *)0x0 },
288   { ISFUNC, (rl_command_func_t *)0x0 },
289   { ISFUNC, (rl_command_func_t *)0x0 },
290   { ISFUNC, (rl_command_func_t *)0x0 },
291   { ISFUNC, (rl_command_func_t *)0x0 },
292   { ISFUNC, (rl_command_func_t *)0x0 },
293   { ISFUNC, (rl_command_func_t *)0x0 },
294   { ISFUNC, (rl_command_func_t *)0x0 },
295   { ISFUNC, (rl_command_func_t *)0x0 },
296   { ISFUNC, (rl_command_func_t *)0x0 },
297   { ISFUNC, (rl_command_func_t *)0x0 },
298   { ISFUNC, (rl_command_func_t *)0x0 },
299   { ISFUNC, (rl_command_func_t *)0x0 },
300   { ISFUNC, (rl_command_func_t *)0x0 },
301   { ISFUNC, (rl_command_func_t *)0x0 },
302   { ISFUNC, (rl_command_func_t *)0x0 },
303   { ISFUNC, (rl_command_func_t *)0x0 },
304   { ISFUNC, (rl_command_func_t *)0x0 },
305   { ISFUNC, (rl_command_func_t *)0x0 },
306   { ISFUNC, (rl_command_func_t *)0x0 },
307   { ISFUNC, (rl_command_func_t *)0x0 },
308   { ISFUNC, (rl_command_func_t *)0x0 }
309 #endif /* KEYMAP_SIZE > 128 */
310 };
311
312
313 KEYMAP_ENTRY_ARRAY vi_insertion_keymap = {
314   /* The regular control keys come first. */
315   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-@ */
316   { ISFUNC, rl_insert },                        /* Control-a */
317   { ISFUNC, rl_insert },                        /* Control-b */
318   { ISFUNC, rl_insert },                        /* Control-c */
319   { ISFUNC, rl_vi_eof_maybe },                  /* Control-d */
320   { ISFUNC, rl_insert },                        /* Control-e */
321   { ISFUNC, rl_insert },                        /* Control-f */
322   { ISFUNC, rl_insert },                        /* Control-g */
323   { ISFUNC, rl_rubout },                        /* Control-h */
324   { ISFUNC, rl_complete },                      /* Control-i */
325   { ISFUNC, rl_newline },                       /* Control-j */
326   { ISFUNC, rl_insert },                        /* Control-k */
327   { ISFUNC, rl_insert },                        /* Control-l */
328   { ISFUNC, rl_newline },                       /* Control-m */
329   { ISFUNC, rl_menu_complete},                  /* Control-n */
330   { ISFUNC, rl_insert },                        /* Control-o */
331   { ISFUNC, rl_backward_menu_complete },        /* Control-p */
332   { ISFUNC, rl_insert },                        /* Control-q */
333   { ISFUNC, rl_reverse_search_history },        /* Control-r */
334   { ISFUNC, rl_forward_search_history },        /* Control-s */
335   { ISFUNC, rl_transpose_chars },               /* Control-t */
336   { ISFUNC, rl_unix_line_discard },             /* Control-u */
337   { ISFUNC, rl_quoted_insert },                 /* Control-v */
338   { ISFUNC, rl_unix_word_rubout },              /* Control-w */
339   { ISFUNC, rl_insert },                        /* Control-x */
340   { ISFUNC, rl_yank },                          /* Control-y */
341   { ISFUNC, rl_insert },                        /* Control-z */
342
343   { ISFUNC, rl_vi_movement_mode },              /* Control-[ */
344   { ISFUNC, rl_insert },                        /* Control-\ */
345   { ISFUNC, rl_insert },                        /* Control-] */
346   { ISFUNC, rl_insert },                        /* Control-^ */
347   { ISFUNC, rl_vi_undo },                       /* Control-_ */
348
349   /* The start of printing characters. */
350   { ISFUNC, rl_insert },                        /* SPACE */
351   { ISFUNC, rl_insert },                        /* ! */
352   { ISFUNC, rl_insert },                        /* " */
353   { ISFUNC, rl_insert },                        /* # */
354   { ISFUNC, rl_insert },                        /* $ */
355   { ISFUNC, rl_insert },                        /* % */
356   { ISFUNC, rl_insert },                        /* & */
357   { ISFUNC, rl_insert },                        /* ' */
358   { ISFUNC, rl_insert },                        /* ( */
359   { ISFUNC, rl_insert },                        /* ) */
360   { ISFUNC, rl_insert },                        /* * */
361   { ISFUNC, rl_insert },                        /* + */
362   { ISFUNC, rl_insert },                        /* , */
363   { ISFUNC, rl_insert },                        /* - */
364   { ISFUNC, rl_insert },                        /* . */
365   { ISFUNC, rl_insert },                        /* / */
366
367   /* Regular digits. */
368   { ISFUNC, rl_insert },                        /* 0 */
369   { ISFUNC, rl_insert },                        /* 1 */
370   { ISFUNC, rl_insert },                        /* 2 */
371   { ISFUNC, rl_insert },                        /* 3 */
372   { ISFUNC, rl_insert },                        /* 4 */
373   { ISFUNC, rl_insert },                        /* 5 */
374   { ISFUNC, rl_insert },                        /* 6 */
375   { ISFUNC, rl_insert },                        /* 7 */
376   { ISFUNC, rl_insert },                        /* 8 */
377   { ISFUNC, rl_insert },                        /* 9 */
378
379   /* A little more punctuation. */
380   { ISFUNC, rl_insert },                        /* : */
381   { ISFUNC, rl_insert },                        /* ; */
382   { ISFUNC, rl_insert },                        /* < */
383   { ISFUNC, rl_insert },                        /* = */
384   { ISFUNC, rl_insert },                        /* > */
385   { ISFUNC, rl_insert },                        /* ? */
386   { ISFUNC, rl_insert },                        /* @ */
387
388   /* Uppercase alphabet. */
389   { ISFUNC, rl_insert },                        /* A */
390   { ISFUNC, rl_insert },                        /* B */
391   { ISFUNC, rl_insert },                        /* C */
392   { ISFUNC, rl_insert },                        /* D */
393   { ISFUNC, rl_insert },                        /* E */
394   { ISFUNC, rl_insert },                        /* F */
395   { ISFUNC, rl_insert },                        /* G */
396   { ISFUNC, rl_insert },                        /* H */
397   { ISFUNC, rl_insert },                        /* I */
398   { ISFUNC, rl_insert },                        /* J */
399   { ISFUNC, rl_insert },                        /* K */
400   { ISFUNC, rl_insert },                        /* L */
401   { ISFUNC, rl_insert },                        /* M */
402   { ISFUNC, rl_insert },                        /* N */
403   { ISFUNC, rl_insert },                        /* O */
404   { ISFUNC, rl_insert },                        /* P */
405   { ISFUNC, rl_insert },                        /* Q */
406   { ISFUNC, rl_insert },                        /* R */
407   { ISFUNC, rl_insert },                        /* S */
408   { ISFUNC, rl_insert },                        /* T */
409   { ISFUNC, rl_insert },                        /* U */
410   { ISFUNC, rl_insert },                        /* V */
411   { ISFUNC, rl_insert },                        /* W */
412   { ISFUNC, rl_insert },                        /* X */
413   { ISFUNC, rl_insert },                        /* Y */
414   { ISFUNC, rl_insert },                        /* Z */
415
416   /* Some more punctuation. */
417   { ISFUNC, rl_insert },                        /* [ */
418   { ISFUNC, rl_insert },                        /* \ */
419   { ISFUNC, rl_insert },                        /* ] */
420   { ISFUNC, rl_insert },                        /* ^ */
421   { ISFUNC, rl_insert },                        /* _ */
422   { ISFUNC, rl_insert },                        /* ` */
423
424   /* Lowercase alphabet. */
425   { ISFUNC, rl_insert },                        /* a */
426   { ISFUNC, rl_insert },                        /* b */
427   { ISFUNC, rl_insert },                        /* c */
428   { ISFUNC, rl_insert },                        /* d */
429   { ISFUNC, rl_insert },                        /* e */
430   { ISFUNC, rl_insert },                        /* f */
431   { ISFUNC, rl_insert },                        /* g */
432   { ISFUNC, rl_insert },                        /* h */
433   { ISFUNC, rl_insert },                        /* i */
434   { ISFUNC, rl_insert },                        /* j */
435   { ISFUNC, rl_insert },                        /* k */
436   { ISFUNC, rl_insert },                        /* l */
437   { ISFUNC, rl_insert },                        /* m */
438   { ISFUNC, rl_insert },                        /* n */
439   { ISFUNC, rl_insert },                        /* o */
440   { ISFUNC, rl_insert },                        /* p */
441   { ISFUNC, rl_insert },                        /* q */
442   { ISFUNC, rl_insert },                        /* r */
443   { ISFUNC, rl_insert },                        /* s */
444   { ISFUNC, rl_insert },                        /* t */
445   { ISFUNC, rl_insert },                        /* u */
446   { ISFUNC, rl_insert },                        /* v */
447   { ISFUNC, rl_insert },                        /* w */
448   { ISFUNC, rl_insert },                        /* x */
449   { ISFUNC, rl_insert },                        /* y */
450   { ISFUNC, rl_insert },                        /* z */
451
452   /* Final punctuation. */
453   { ISFUNC, rl_insert },                        /* { */
454   { ISFUNC, rl_insert },                        /* | */
455   { ISFUNC, rl_insert },                        /* } */
456   { ISFUNC, rl_insert },                        /* ~ */
457   { ISFUNC, rl_rubout },                        /* RUBOUT */
458
459 #if KEYMAP_SIZE > 128
460   /* Pure 8-bit characters (128 - 159).
461      These might be used in some
462      character sets. */
463   { ISFUNC, rl_insert },        /* ? */
464   { ISFUNC, rl_insert },        /* ? */
465   { ISFUNC, rl_insert },        /* ? */
466   { ISFUNC, rl_insert },        /* ? */
467   { ISFUNC, rl_insert },        /* ? */
468   { ISFUNC, rl_insert },        /* ? */
469   { ISFUNC, rl_insert },        /* ? */
470   { ISFUNC, rl_insert },        /* ? */
471   { ISFUNC, rl_insert },        /* ? */
472   { ISFUNC, rl_insert },        /* ? */
473   { ISFUNC, rl_insert },        /* ? */
474   { ISFUNC, rl_insert },        /* ? */
475   { ISFUNC, rl_insert },        /* ? */
476   { ISFUNC, rl_insert },        /* ? */
477   { ISFUNC, rl_insert },        /* ? */
478   { ISFUNC, rl_insert },        /* ? */
479   { ISFUNC, rl_insert },        /* ? */
480   { ISFUNC, rl_insert },        /* ? */
481   { ISFUNC, rl_insert },        /* ? */
482   { ISFUNC, rl_insert },        /* ? */
483   { ISFUNC, rl_insert },        /* ? */
484   { ISFUNC, rl_insert },        /* ? */
485   { ISFUNC, rl_insert },        /* ? */
486   { ISFUNC, rl_insert },        /* ? */
487   { ISFUNC, rl_insert },        /* ? */
488   { ISFUNC, rl_insert },        /* ? */
489   { ISFUNC, rl_insert },        /* ? */
490   { ISFUNC, rl_insert },        /* ? */
491   { ISFUNC, rl_insert },        /* ? */
492   { ISFUNC, rl_insert },        /* ? */
493   { ISFUNC, rl_insert },        /* ? */
494   { ISFUNC, rl_insert },        /* ? */
495
496   /* ISO Latin-1 characters (160 - 255) */
497   { ISFUNC, rl_insert },        /* No-break space */
498   { ISFUNC, rl_insert },        /* Inverted exclamation mark */
499   { ISFUNC, rl_insert },        /* Cent sign */
500   { ISFUNC, rl_insert },        /* Pound sign */
501   { ISFUNC, rl_insert },        /* Currency sign */
502   { ISFUNC, rl_insert },        /* Yen sign */
503   { ISFUNC, rl_insert },        /* Broken bar */
504   { ISFUNC, rl_insert },        /* Section sign */
505   { ISFUNC, rl_insert },        /* Diaeresis */
506   { ISFUNC, rl_insert },        /* Copyright sign */
507   { ISFUNC, rl_insert },        /* Feminine ordinal indicator */
508   { ISFUNC, rl_insert },        /* Left pointing double angle quotation mark */
509   { ISFUNC, rl_insert },        /* Not sign */
510   { ISFUNC, rl_insert },        /* Soft hyphen */
511   { ISFUNC, rl_insert },        /* Registered sign */
512   { ISFUNC, rl_insert },        /* Macron */
513   { ISFUNC, rl_insert },        /* Degree sign */
514   { ISFUNC, rl_insert },        /* Plus-minus sign */
515   { ISFUNC, rl_insert },        /* Superscript two */
516   { ISFUNC, rl_insert },        /* Superscript three */
517   { ISFUNC, rl_insert },        /* Acute accent */
518   { ISFUNC, rl_insert },        /* Micro sign */
519   { ISFUNC, rl_insert },        /* Pilcrow sign */
520   { ISFUNC, rl_insert },        /* Middle dot */
521   { ISFUNC, rl_insert },        /* Cedilla */
522   { ISFUNC, rl_insert },        /* Superscript one */
523   { ISFUNC, rl_insert },        /* Masculine ordinal indicator */
524   { ISFUNC, rl_insert },        /* Right pointing double angle quotation mark */
525   { ISFUNC, rl_insert },        /* Vulgar fraction one quarter */
526   { ISFUNC, rl_insert },        /* Vulgar fraction one half */
527   { ISFUNC, rl_insert },        /* Vulgar fraction three quarters */
528   { ISFUNC, rl_insert },        /* Inverted questionk mark */
529   { ISFUNC, rl_insert },        /* Latin capital letter a with grave */
530   { ISFUNC, rl_insert },        /* Latin capital letter a with acute */
531   { ISFUNC, rl_insert },        /* Latin capital letter a with circumflex */
532   { ISFUNC, rl_insert },        /* Latin capital letter a with tilde */
533   { ISFUNC, rl_insert },        /* Latin capital letter a with diaeresis */
534   { ISFUNC, rl_insert },        /* Latin capital letter a with ring above */
535   { ISFUNC, rl_insert },        /* Latin capital letter ae */
536   { ISFUNC, rl_insert },        /* Latin capital letter c with cedilla */
537   { ISFUNC, rl_insert },        /* Latin capital letter e with grave */
538   { ISFUNC, rl_insert },        /* Latin capital letter e with acute */
539   { ISFUNC, rl_insert },        /* Latin capital letter e with circumflex */
540   { ISFUNC, rl_insert },        /* Latin capital letter e with diaeresis */
541   { ISFUNC, rl_insert },        /* Latin capital letter i with grave */
542   { ISFUNC, rl_insert },        /* Latin capital letter i with acute */
543   { ISFUNC, rl_insert },        /* Latin capital letter i with circumflex */
544   { ISFUNC, rl_insert },        /* Latin capital letter i with diaeresis */
545   { ISFUNC, rl_insert },        /* Latin capital letter eth (Icelandic) */
546   { ISFUNC, rl_insert },        /* Latin capital letter n with tilde */
547   { ISFUNC, rl_insert },        /* Latin capital letter o with grave */
548   { ISFUNC, rl_insert },        /* Latin capital letter o with acute */
549   { ISFUNC, rl_insert },        /* Latin capital letter o with circumflex */
550   { ISFUNC, rl_insert },        /* Latin capital letter o with tilde */
551   { ISFUNC, rl_insert },        /* Latin capital letter o with diaeresis */
552   { ISFUNC, rl_insert },        /* Multiplication sign */
553   { ISFUNC, rl_insert },        /* Latin capital letter o with stroke */
554   { ISFUNC, rl_insert },        /* Latin capital letter u with grave */
555   { ISFUNC, rl_insert },        /* Latin capital letter u with acute */
556   { ISFUNC, rl_insert },        /* Latin capital letter u with circumflex */
557   { ISFUNC, rl_insert },        /* Latin capital letter u with diaeresis */
558   { ISFUNC, rl_insert },        /* Latin capital letter Y with acute */
559   { ISFUNC, rl_insert },        /* Latin capital letter thorn (Icelandic) */
560   { ISFUNC, rl_insert },        /* Latin small letter sharp s (German) */
561   { ISFUNC, rl_insert },        /* Latin small letter a with grave */
562   { ISFUNC, rl_insert },        /* Latin small letter a with acute */
563   { ISFUNC, rl_insert },        /* Latin small letter a with circumflex */
564   { ISFUNC, rl_insert },        /* Latin small letter a with tilde */
565   { ISFUNC, rl_insert },        /* Latin small letter a with diaeresis */
566   { ISFUNC, rl_insert },        /* Latin small letter a with ring above */
567   { ISFUNC, rl_insert },        /* Latin small letter ae */
568   { ISFUNC, rl_insert },        /* Latin small letter c with cedilla */
569   { ISFUNC, rl_insert },        /* Latin small letter e with grave */
570   { ISFUNC, rl_insert },        /* Latin small letter e with acute */
571   { ISFUNC, rl_insert },        /* Latin small letter e with circumflex */
572   { ISFUNC, rl_insert },        /* Latin small letter e with diaeresis */
573   { ISFUNC, rl_insert },        /* Latin small letter i with grave */
574   { ISFUNC, rl_insert },        /* Latin small letter i with acute */
575   { ISFUNC, rl_insert },        /* Latin small letter i with circumflex */
576   { ISFUNC, rl_insert },        /* Latin small letter i with diaeresis */
577   { ISFUNC, rl_insert },        /* Latin small letter eth (Icelandic) */
578   { ISFUNC, rl_insert },        /* Latin small letter n with tilde */
579   { ISFUNC, rl_insert },        /* Latin small letter o with grave */
580   { ISFUNC, rl_insert },        /* Latin small letter o with acute */
581   { ISFUNC, rl_insert },        /* Latin small letter o with circumflex */
582   { ISFUNC, rl_insert },        /* Latin small letter o with tilde */
583   { ISFUNC, rl_insert },        /* Latin small letter o with diaeresis */
584   { ISFUNC, rl_insert },        /* Division sign */
585   { ISFUNC, rl_insert },        /* Latin small letter o with stroke */
586   { ISFUNC, rl_insert },        /* Latin small letter u with grave */
587   { ISFUNC, rl_insert },        /* Latin small letter u with acute */
588   { ISFUNC, rl_insert },        /* Latin small letter u with circumflex */
589   { ISFUNC, rl_insert },        /* Latin small letter u with diaeresis */
590   { ISFUNC, rl_insert },        /* Latin small letter y with acute */
591   { ISFUNC, rl_insert },        /* Latin small letter thorn (Icelandic) */
592   { ISFUNC, rl_insert }         /* Latin small letter y with diaeresis */
593 #endif /* KEYMAP_SIZE > 128 */
594 };
595
596 /* Unused for the time being. */
597 #if 0
598 KEYMAP_ENTRY_ARRAY vi_escape_keymap = {
599   /* The regular control keys come first. */
600   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-@ */
601   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-a */
602   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-b */
603   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-c */
604   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-d */
605   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-e */
606   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-f */
607   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-g */
608   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-h */
609   { ISFUNC, rl_tab_insert},                     /* Control-i */
610   { ISFUNC, rl_emacs_editing_mode},             /* Control-j */
611   { ISFUNC, rl_kill_line },                     /* Control-k */
612   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-l */
613   { ISFUNC, rl_emacs_editing_mode},             /* Control-m */
614   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-n */
615   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-o */
616   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-p */
617   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-q */
618   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-r */
619   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-s */
620   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-t */
621   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-u */
622   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-v */
623   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-w */
624   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-x */
625   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-y */
626   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-z */
627
628   { ISFUNC, rl_vi_movement_mode },              /* Control-[ */
629   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-\ */
630   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-] */
631   { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-^ */
632   { ISFUNC, rl_vi_undo },                       /* Control-_ */
633
634   /* The start of printing characters. */
635   { ISFUNC, (rl_command_func_t *)0x0 },         /* SPACE */
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_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_command_func_t *)0x0 },         /* + */
647   { ISFUNC, (rl_command_func_t *)0x0 },         /* , */
648   { ISFUNC, (rl_command_func_t *)0x0 },         /* - */
649   { ISFUNC, (rl_command_func_t *)0x0 },         /* . */
650   { ISFUNC, (rl_command_func_t *)0x0 },         /* / */
651
652   /* Regular digits. */
653   { ISFUNC, rl_vi_arg_digit },                  /* 0 */
654   { ISFUNC, rl_vi_arg_digit },                  /* 1 */
655   { ISFUNC, rl_vi_arg_digit },                  /* 2 */
656   { ISFUNC, rl_vi_arg_digit },                  /* 3 */
657   { ISFUNC, rl_vi_arg_digit },                  /* 4 */
658   { ISFUNC, rl_vi_arg_digit },                  /* 5 */
659   { ISFUNC, rl_vi_arg_digit },                  /* 6 */
660   { ISFUNC, rl_vi_arg_digit },                  /* 7 */
661   { ISFUNC, rl_vi_arg_digit },                  /* 8 */
662   { ISFUNC, rl_vi_arg_digit },                  /* 9 */
663
664   /* A little more punctuation. */
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   { ISFUNC, (rl_command_func_t *)0x0 },         /* > */
670   { ISFUNC, (rl_command_func_t *)0x0 },         /* ? */
671   { ISFUNC, (rl_command_func_t *)0x0 },         /* @ */
672
673   /* Uppercase alphabet. */
674   { ISFUNC, rl_do_lowercase_version },          /* A */
675   { ISFUNC, rl_do_lowercase_version },          /* B */
676   { ISFUNC, rl_do_lowercase_version },          /* C */
677   { ISFUNC, rl_do_lowercase_version },          /* D */
678   { ISFUNC, rl_do_lowercase_version },          /* E */
679   { ISFUNC, rl_do_lowercase_version },          /* F */
680   { ISFUNC, rl_do_lowercase_version },          /* G */
681   { ISFUNC, rl_do_lowercase_version },          /* H */
682   { ISFUNC, rl_do_lowercase_version },          /* I */
683   { ISFUNC, rl_do_lowercase_version },          /* J */
684   { ISFUNC, rl_do_lowercase_version },          /* K */
685   { ISFUNC, rl_do_lowercase_version },          /* L */
686   { ISFUNC, rl_do_lowercase_version },          /* M */
687   { ISFUNC, rl_do_lowercase_version },          /* N */
688   { ISFUNC, rl_do_lowercase_version },          /* O */
689   { ISFUNC, rl_do_lowercase_version },          /* P */
690   { ISFUNC, rl_do_lowercase_version },          /* Q */
691   { ISFUNC, rl_do_lowercase_version },          /* R */
692   { ISFUNC, rl_do_lowercase_version },          /* S */
693   { ISFUNC, rl_do_lowercase_version },          /* T */
694   { ISFUNC, rl_do_lowercase_version },          /* U */
695   { ISFUNC, rl_do_lowercase_version },          /* V */
696   { ISFUNC, rl_do_lowercase_version },          /* W */
697   { ISFUNC, rl_do_lowercase_version },          /* X */
698   { ISFUNC, rl_do_lowercase_version },          /* Y */
699   { ISFUNC, rl_do_lowercase_version },          /* Z */
700
701   /* Some more punctuation. */
702   { ISFUNC, rl_arrow_keys },                    /* [ */
703   { ISFUNC, (rl_command_func_t *)0x0 },         /* \ */
704   { ISFUNC, (rl_command_func_t *)0x0 },         /* ] */
705   { ISFUNC, (rl_command_func_t *)0x0 },         /* ^ */
706   { ISFUNC, (rl_command_func_t *)0x0 },         /* _ */
707   { ISFUNC, (rl_command_func_t *)0x0 },         /* ` */
708
709   /* Lowercase alphabet. */
710   { ISFUNC, (rl_command_func_t *)0x0 },         /* a */
711   { ISFUNC, (rl_command_func_t *)0x0 },         /* b */
712   { ISFUNC, (rl_command_func_t *)0x0 },         /* c */
713   { ISFUNC, (rl_command_func_t *)0x0 },         /* d */
714   { ISFUNC, (rl_command_func_t *)0x0 },         /* e */
715   { ISFUNC, (rl_command_func_t *)0x0 },         /* f */
716   { ISFUNC, (rl_command_func_t *)0x0 },         /* g */
717   { ISFUNC, (rl_command_func_t *)0x0 },         /* h */
718   { ISFUNC, (rl_command_func_t *)0x0 },         /* i */
719   { ISFUNC, (rl_command_func_t *)0x0 },         /* j */
720   { ISFUNC, (rl_command_func_t *)0x0 },         /* k */
721   { ISFUNC, (rl_command_func_t *)0x0 },         /* l */
722   { ISFUNC, (rl_command_func_t *)0x0 },         /* m */
723   { ISFUNC, (rl_command_func_t *)0x0 },         /* n */
724   { ISFUNC, rl_arrow_keys },                    /* o */
725   { ISFUNC, (rl_command_func_t *)0x0 },         /* p */
726   { ISFUNC, (rl_command_func_t *)0x0 },         /* q */
727   { ISFUNC, (rl_command_func_t *)0x0 },         /* r */
728   { ISFUNC, (rl_command_func_t *)0x0 },         /* s */
729   { ISFUNC, (rl_command_func_t *)0x0 },         /* t */
730   { ISFUNC, (rl_command_func_t *)0x0 },         /* u */
731   { ISFUNC, (rl_command_func_t *)0x0 },         /* v */
732   { ISFUNC, (rl_command_func_t *)0x0 },         /* w */
733   { ISFUNC, (rl_command_func_t *)0x0 },         /* x */
734   { ISFUNC, (rl_command_func_t *)0x0 },         /* y */
735   { ISFUNC, (rl_command_func_t *)0x0 },         /* z */
736
737   /* Final punctuation. */
738   { ISFUNC, (rl_command_func_t *)0x0 },         /* { */
739   { ISFUNC, (rl_command_func_t *)0x0 },         /* | */
740   { ISFUNC, (rl_command_func_t *)0x0 },         /* } */
741   { ISFUNC, (rl_command_func_t *)0x0 },         /* ~ */
742   { ISFUNC, rl_backward_kill_word },            /* RUBOUT */
743
744 #if KEYMAP_SIZE > 128
745   /* Undefined keys. */
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   { ISFUNC, (rl_command_func_t *)0x0 },
872   { ISFUNC, (rl_command_func_t *)0x0 },
873   { ISFUNC, (rl_command_func_t *)0x0 }
874 #endif /* KEYMAP_SIZE > 128 */
875 };
876 #endif