~ubuntu-branches/ubuntu/trusty/bash/trusty-security

« back to all changes in this revision

Viewing changes to lib/readline/vi_keymap.c

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2014-03-03 22:52:05 UTC
  • mfrom: (1.3.5) (2.2.6 experimental)
  • Revision ID: package-import@ubuntu.com-20140303225205-87ltrt5kspeq0g1b
Tags: 4.3-1ubuntu1
* Merge with Debian; remaining changes:
  - skel.bashrc:
    - Run lesspipe.
    - Enable ls aliases.
    - Set options in ll alias to -alF.
    - Define an alert alias.
    - Enabled colored grep aliases.
  - etc.bash.bashrc:
    - Add sudo hint.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
KEYMAP_ENTRY_ARRAY vi_insertion_keymap = {
 
313
  /* The regular control keys come first. */
 
314
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-@ */
 
315
  { ISFUNC, rl_insert },                        /* Control-a */
 
316
  { ISFUNC, rl_insert },                        /* Control-b */
 
317
  { ISFUNC, rl_insert },                        /* Control-c */
 
318
  { ISFUNC, rl_vi_eof_maybe },                  /* Control-d */
 
319
  { ISFUNC, rl_insert },                        /* Control-e */
 
320
  { ISFUNC, rl_insert },                        /* Control-f */
 
321
  { ISFUNC, rl_insert },                        /* Control-g */
 
322
  { ISFUNC, rl_rubout },                        /* Control-h */
 
323
  { ISFUNC, rl_complete },                      /* Control-i */
 
324
  { ISFUNC, rl_newline },                       /* Control-j */
 
325
  { ISFUNC, rl_insert },                        /* Control-k */
 
326
  { ISFUNC, rl_insert },                        /* Control-l */
 
327
  { ISFUNC, rl_newline },                       /* Control-m */
 
328
  { ISFUNC, rl_menu_complete},                  /* Control-n */
 
329
  { ISFUNC, rl_insert },                        /* Control-o */
 
330
  { ISFUNC, rl_backward_menu_complete },        /* Control-p */
 
331
  { ISFUNC, rl_insert },                        /* Control-q */
 
332
  { ISFUNC, rl_reverse_search_history },        /* Control-r */
 
333
  { ISFUNC, rl_forward_search_history },        /* Control-s */
 
334
  { ISFUNC, rl_transpose_chars },               /* Control-t */
 
335
  { ISFUNC, rl_unix_line_discard },             /* Control-u */
 
336
  { ISFUNC, rl_quoted_insert },                 /* Control-v */
 
337
  { ISFUNC, rl_unix_word_rubout },              /* Control-w */
 
338
  { ISFUNC, rl_insert },                        /* Control-x */
 
339
  { ISFUNC, rl_yank },                          /* Control-y */
 
340
  { ISFUNC, rl_insert },                        /* Control-z */
 
341
 
 
342
  { ISFUNC, rl_vi_movement_mode },              /* Control-[ */
 
343
  { ISFUNC, rl_insert },                        /* Control-\ */
 
344
  { ISFUNC, rl_insert },                        /* Control-] */
 
345
  { ISFUNC, rl_insert },                        /* Control-^ */
 
346
  { ISFUNC, rl_vi_undo },                       /* Control-_ */
 
347
 
 
348
  /* The start of printing characters. */
 
349
  { ISFUNC, rl_insert },                        /* SPACE */
 
350
  { ISFUNC, rl_insert },                        /* ! */
 
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
 
 
366
  /* Regular digits. */
 
367
  { ISFUNC, rl_insert },                        /* 0 */
 
368
  { ISFUNC, rl_insert },                        /* 1 */
 
369
  { ISFUNC, rl_insert },                        /* 2 */
 
370
  { ISFUNC, rl_insert },                        /* 3 */
 
371
  { ISFUNC, rl_insert },                        /* 4 */
 
372
  { ISFUNC, rl_insert },                        /* 5 */
 
373
  { ISFUNC, rl_insert },                        /* 6 */
 
374
  { ISFUNC, rl_insert },                        /* 7 */
 
375
  { ISFUNC, rl_insert },                        /* 8 */
 
376
  { ISFUNC, rl_insert },                        /* 9 */
 
377
 
 
378
  /* A little more punctuation. */
 
379
  { ISFUNC, rl_insert },                        /* : */
 
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
 
 
387
  /* Uppercase alphabet. */
 
388
  { ISFUNC, rl_insert },                        /* A */
 
389
  { ISFUNC, rl_insert },                        /* B */
 
390
  { ISFUNC, rl_insert },                        /* C */
 
391
  { ISFUNC, rl_insert },                        /* D */
 
392
  { ISFUNC, rl_insert },                        /* E */
 
393
  { ISFUNC, rl_insert },                        /* F */
 
394
  { ISFUNC, rl_insert },                        /* G */
 
395
  { ISFUNC, rl_insert },                        /* H */
 
396
  { ISFUNC, rl_insert },                        /* I */
 
397
  { ISFUNC, rl_insert },                        /* J */
 
398
  { ISFUNC, rl_insert },                        /* K */
 
399
  { ISFUNC, rl_insert },                        /* L */
 
400
  { ISFUNC, rl_insert },                        /* M */
 
401
  { ISFUNC, rl_insert },                        /* N */
 
402
  { ISFUNC, rl_insert },                        /* O */
 
403
  { ISFUNC, rl_insert },                        /* P */
 
404
  { ISFUNC, rl_insert },                        /* Q */
 
405
  { ISFUNC, rl_insert },                        /* R */
 
406
  { ISFUNC, rl_insert },                        /* S */
 
407
  { ISFUNC, rl_insert },                        /* T */
 
408
  { ISFUNC, rl_insert },                        /* U */
 
409
  { ISFUNC, rl_insert },                        /* V */
 
410
  { ISFUNC, rl_insert },                        /* W */
 
411
  { ISFUNC, rl_insert },                        /* X */
 
412
  { ISFUNC, rl_insert },                        /* Y */
 
413
  { ISFUNC, rl_insert },                        /* Z */
 
414
 
 
415
  /* Some more punctuation. */
 
416
  { ISFUNC, rl_insert },                        /* [ */
 
417
  { ISFUNC, rl_insert },                        /* \ */
 
418
  { ISFUNC, rl_insert },                        /* ] */
 
419
  { ISFUNC, rl_insert },                        /* ^ */
 
420
  { ISFUNC, rl_insert },                        /* _ */
 
421
  { ISFUNC, rl_insert },                        /* ` */
 
422
 
 
423
  /* Lowercase alphabet. */
 
424
  { ISFUNC, rl_insert },                        /* a */
 
425
  { ISFUNC, rl_insert },                        /* b */
 
426
  { ISFUNC, rl_insert },                        /* c */
 
427
  { ISFUNC, rl_insert },                        /* d */
 
428
  { ISFUNC, rl_insert },                        /* e */
 
429
  { ISFUNC, rl_insert },                        /* f */
 
430
  { ISFUNC, rl_insert },                        /* g */
 
431
  { ISFUNC, rl_insert },                        /* h */
 
432
  { ISFUNC, rl_insert },                        /* i */
 
433
  { ISFUNC, rl_insert },                        /* j */
 
434
  { ISFUNC, rl_insert },                        /* k */
 
435
  { ISFUNC, rl_insert },                        /* l */
 
436
  { ISFUNC, rl_insert },                        /* m */
 
437
  { ISFUNC, rl_insert },                        /* n */
 
438
  { ISFUNC, rl_insert },                        /* o */
 
439
  { ISFUNC, rl_insert },                        /* p */
 
440
  { ISFUNC, rl_insert },                        /* q */
 
441
  { ISFUNC, rl_insert },                        /* r */
 
442
  { ISFUNC, rl_insert },                        /* s */
 
443
  { ISFUNC, rl_insert },                        /* t */
 
444
  { ISFUNC, rl_insert },                        /* u */
 
445
  { ISFUNC, rl_insert },                        /* v */
 
446
  { ISFUNC, rl_insert },                        /* w */
 
447
  { ISFUNC, rl_insert },                        /* x */
 
448
  { ISFUNC, rl_insert },                        /* y */
 
449
  { ISFUNC, rl_insert },                        /* z */
 
450
 
 
451
  /* Final punctuation. */
 
452
  { ISFUNC, rl_insert },                        /* { */
 
453
  { ISFUNC, rl_insert },                        /* | */
 
454
  { ISFUNC, rl_insert },                        /* } */
 
455
  { ISFUNC, rl_insert },                        /* ~ */
 
456
  { ISFUNC, rl_rubout },                        /* RUBOUT */
 
457
 
 
458
#if KEYMAP_SIZE > 128
 
459
  /* Pure 8-bit characters (128 - 159).
 
460
     These might be used in some
 
461
     character sets. */
 
462
  { ISFUNC, rl_insert },        /* ? */
 
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
 
 
495
  /* ISO Latin-1 characters (160 - 255) */
 
496
  { ISFUNC, rl_insert },        /* No-break space */
 
497
  { ISFUNC, rl_insert },        /* Inverted exclamation mark */
 
498
  { ISFUNC, rl_insert },        /* Cent sign */
 
499
  { ISFUNC, rl_insert },        /* Pound sign */
 
500
  { ISFUNC, rl_insert },        /* Currency sign */
 
501
  { ISFUNC, rl_insert },        /* Yen sign */
 
502
  { ISFUNC, rl_insert },        /* Broken bar */
 
503
  { ISFUNC, rl_insert },        /* Section sign */
 
504
  { ISFUNC, rl_insert },        /* Diaeresis */
 
505
  { ISFUNC, rl_insert },        /* Copyright sign */
 
506
  { ISFUNC, rl_insert },        /* Feminine ordinal indicator */
 
507
  { ISFUNC, rl_insert },        /* Left pointing double angle quotation mark */
 
508
  { ISFUNC, rl_insert },        /* Not sign */
 
509
  { ISFUNC, rl_insert },        /* Soft hyphen */
 
510
  { ISFUNC, rl_insert },        /* Registered sign */
 
511
  { ISFUNC, rl_insert },        /* Macron */
 
512
  { ISFUNC, rl_insert },        /* Degree sign */
 
513
  { ISFUNC, rl_insert },        /* Plus-minus sign */
 
514
  { ISFUNC, rl_insert },        /* Superscript two */
 
515
  { ISFUNC, rl_insert },        /* Superscript three */
 
516
  { ISFUNC, rl_insert },        /* Acute accent */
 
517
  { ISFUNC, rl_insert },        /* Micro sign */
 
518
  { ISFUNC, rl_insert },        /* Pilcrow sign */
 
519
  { ISFUNC, rl_insert },        /* Middle dot */
 
520
  { ISFUNC, rl_insert },        /* Cedilla */
 
521
  { ISFUNC, rl_insert },        /* Superscript one */
 
522
  { ISFUNC, rl_insert },        /* Masculine ordinal indicator */
 
523
  { ISFUNC, rl_insert },        /* Right pointing double angle quotation mark */
 
524
  { ISFUNC, rl_insert },        /* Vulgar fraction one quarter */
 
525
  { ISFUNC, rl_insert },        /* Vulgar fraction one half */
 
526
  { ISFUNC, rl_insert },        /* Vulgar fraction three quarters */
 
527
  { ISFUNC, rl_insert },        /* Inverted questionk mark */
 
528
  { ISFUNC, rl_insert },        /* Latin capital letter a with grave */
 
529
  { ISFUNC, rl_insert },        /* Latin capital letter a with acute */
 
530
  { ISFUNC, rl_insert },        /* Latin capital letter a with circumflex */
 
531
  { ISFUNC, rl_insert },        /* Latin capital letter a with tilde */
 
532
  { ISFUNC, rl_insert },        /* Latin capital letter a with diaeresis */
 
533
  { ISFUNC, rl_insert },        /* Latin capital letter a with ring above */
 
534
  { ISFUNC, rl_insert },        /* Latin capital letter ae */
 
535
  { ISFUNC, rl_insert },        /* Latin capital letter c with cedilla */
 
536
  { ISFUNC, rl_insert },        /* Latin capital letter e with grave */
 
537
  { ISFUNC, rl_insert },        /* Latin capital letter e with acute */
 
538
  { ISFUNC, rl_insert },        /* Latin capital letter e with circumflex */
 
539
  { ISFUNC, rl_insert },        /* Latin capital letter e with diaeresis */
 
540
  { ISFUNC, rl_insert },        /* Latin capital letter i with grave */
 
541
  { ISFUNC, rl_insert },        /* Latin capital letter i with acute */
 
542
  { ISFUNC, rl_insert },        /* Latin capital letter i with circumflex */
 
543
  { ISFUNC, rl_insert },        /* Latin capital letter i with diaeresis */
 
544
  { ISFUNC, rl_insert },        /* Latin capital letter eth (Icelandic) */
 
545
  { ISFUNC, rl_insert },        /* Latin capital letter n with tilde */
 
546
  { ISFUNC, rl_insert },        /* Latin capital letter o with grave */
 
547
  { ISFUNC, rl_insert },        /* Latin capital letter o with acute */
 
548
  { ISFUNC, rl_insert },        /* Latin capital letter o with circumflex */
 
549
  { ISFUNC, rl_insert },        /* Latin capital letter o with tilde */
 
550
  { ISFUNC, rl_insert },        /* Latin capital letter o with diaeresis */
 
551
  { ISFUNC, rl_insert },        /* Multiplication sign */
 
552
  { ISFUNC, rl_insert },        /* Latin capital letter o with stroke */
 
553
  { ISFUNC, rl_insert },        /* Latin capital letter u with grave */
 
554
  { ISFUNC, rl_insert },        /* Latin capital letter u with acute */
 
555
  { ISFUNC, rl_insert },        /* Latin capital letter u with circumflex */
 
556
  { ISFUNC, rl_insert },        /* Latin capital letter u with diaeresis */
 
557
  { ISFUNC, rl_insert },        /* Latin capital letter Y with acute */
 
558
  { ISFUNC, rl_insert },        /* Latin capital letter thorn (Icelandic) */
 
559
  { ISFUNC, rl_insert },        /* Latin small letter sharp s (German) */
 
560
  { ISFUNC, rl_insert },        /* Latin small letter a with grave */
 
561
  { ISFUNC, rl_insert },        /* Latin small letter a with acute */
 
562
  { ISFUNC, rl_insert },        /* Latin small letter a with circumflex */
 
563
  { ISFUNC, rl_insert },        /* Latin small letter a with tilde */
 
564
  { ISFUNC, rl_insert },        /* Latin small letter a with diaeresis */
 
565
  { ISFUNC, rl_insert },        /* Latin small letter a with ring above */
 
566
  { ISFUNC, rl_insert },        /* Latin small letter ae */
 
567
  { ISFUNC, rl_insert },        /* Latin small letter c with cedilla */
 
568
  { ISFUNC, rl_insert },        /* Latin small letter e with grave */
 
569
  { ISFUNC, rl_insert },        /* Latin small letter e with acute */
 
570
  { ISFUNC, rl_insert },        /* Latin small letter e with circumflex */
 
571
  { ISFUNC, rl_insert },        /* Latin small letter e with diaeresis */
 
572
  { ISFUNC, rl_insert },        /* Latin small letter i with grave */
 
573
  { ISFUNC, rl_insert },        /* Latin small letter i with acute */
 
574
  { ISFUNC, rl_insert },        /* Latin small letter i with circumflex */
 
575
  { ISFUNC, rl_insert },        /* Latin small letter i with diaeresis */
 
576
  { ISFUNC, rl_insert },        /* Latin small letter eth (Icelandic) */
 
577
  { ISFUNC, rl_insert },        /* Latin small letter n with tilde */
 
578
  { ISFUNC, rl_insert },        /* Latin small letter o with grave */
 
579
  { ISFUNC, rl_insert },        /* Latin small letter o with acute */
 
580
  { ISFUNC, rl_insert },        /* Latin small letter o with circumflex */
 
581
  { ISFUNC, rl_insert },        /* Latin small letter o with tilde */
 
582
  { ISFUNC, rl_insert },        /* Latin small letter o with diaeresis */
 
583
  { ISFUNC, rl_insert },        /* Division sign */
 
584
  { ISFUNC, rl_insert },        /* Latin small letter o with stroke */
 
585
  { ISFUNC, rl_insert },        /* Latin small letter u with grave */
 
586
  { ISFUNC, rl_insert },        /* Latin small letter u with acute */
 
587
  { ISFUNC, rl_insert },        /* Latin small letter u with circumflex */
 
588
  { ISFUNC, rl_insert },        /* Latin small letter u with diaeresis */
 
589
  { ISFUNC, rl_insert },        /* Latin small letter y with acute */
 
590
  { ISFUNC, rl_insert },        /* Latin small letter thorn (Icelandic) */
 
591
  { ISFUNC, rl_insert }         /* Latin small letter y with diaeresis */
 
592
#endif /* KEYMAP_SIZE > 128 */
 
593
};
 
594
 
 
595
/* Unused for the time being. */
 
596
#if 0
 
597
KEYMAP_ENTRY_ARRAY vi_escape_keymap = {
 
598
  /* The regular control keys come first. */
 
599
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-@ */
 
600
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-a */
 
601
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-b */
 
602
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-c */
 
603
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-d */
 
604
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-e */
 
605
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-f */
 
606
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-g */
 
607
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-h */
 
608
  { ISFUNC, rl_tab_insert},                     /* Control-i */
 
609
  { ISFUNC, rl_emacs_editing_mode},             /* Control-j */
 
610
  { ISFUNC, rl_kill_line },                     /* Control-k */
 
611
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-l */
 
612
  { ISFUNC, rl_emacs_editing_mode},             /* Control-m */
 
613
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-n */
 
614
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-o */
 
615
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-p */
 
616
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-q */
 
617
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-r */
 
618
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-s */
 
619
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-t */
 
620
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-u */
 
621
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-v */
 
622
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-w */
 
623
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-x */
 
624
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-y */
 
625
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-z */
 
626
 
 
627
  { ISFUNC, rl_vi_movement_mode },              /* Control-[ */
 
628
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-\ */
 
629
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-] */
 
630
  { ISFUNC, (rl_command_func_t *)0x0 },         /* Control-^ */
 
631
  { ISFUNC, rl_vi_undo },                       /* Control-_ */
 
632
 
 
633
  /* The start of printing characters. */
 
634
  { ISFUNC, (rl_command_func_t *)0x0 },         /* SPACE */
 
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_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
 
 
651
  /* Regular digits. */
 
652
  { ISFUNC, rl_vi_arg_digit },                  /* 0 */
 
653
  { ISFUNC, rl_vi_arg_digit },                  /* 1 */
 
654
  { ISFUNC, rl_vi_arg_digit },                  /* 2 */
 
655
  { ISFUNC, rl_vi_arg_digit },                  /* 3 */
 
656
  { ISFUNC, rl_vi_arg_digit },                  /* 4 */
 
657
  { ISFUNC, rl_vi_arg_digit },                  /* 5 */
 
658
  { ISFUNC, rl_vi_arg_digit },                  /* 6 */
 
659
  { ISFUNC, rl_vi_arg_digit },                  /* 7 */
 
660
  { ISFUNC, rl_vi_arg_digit },                  /* 8 */
 
661
  { ISFUNC, rl_vi_arg_digit },                  /* 9 */
 
662
 
 
663
  /* A little more punctuation. */
 
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
  { ISFUNC, (rl_command_func_t *)0x0 },         /* ? */
 
670
  { ISFUNC, (rl_command_func_t *)0x0 },         /* @ */
 
671
 
 
672
  /* Uppercase alphabet. */
 
673
  { ISFUNC, rl_do_lowercase_version },          /* A */
 
674
  { ISFUNC, rl_do_lowercase_version },          /* B */
 
675
  { ISFUNC, rl_do_lowercase_version },          /* C */
 
676
  { ISFUNC, rl_do_lowercase_version },          /* D */
 
677
  { ISFUNC, rl_do_lowercase_version },          /* E */
 
678
  { ISFUNC, rl_do_lowercase_version },          /* F */
 
679
  { ISFUNC, rl_do_lowercase_version },          /* G */
 
680
  { ISFUNC, rl_do_lowercase_version },          /* H */
 
681
  { ISFUNC, rl_do_lowercase_version },          /* I */
 
682
  { ISFUNC, rl_do_lowercase_version },          /* J */
 
683
  { ISFUNC, rl_do_lowercase_version },          /* K */
 
684
  { ISFUNC, rl_do_lowercase_version },          /* L */
 
685
  { ISFUNC, rl_do_lowercase_version },          /* M */
 
686
  { ISFUNC, rl_do_lowercase_version },          /* N */
 
687
  { ISFUNC, rl_do_lowercase_version },          /* O */
 
688
  { ISFUNC, rl_do_lowercase_version },          /* P */
 
689
  { ISFUNC, rl_do_lowercase_version },          /* Q */
 
690
  { ISFUNC, rl_do_lowercase_version },          /* R */
 
691
  { ISFUNC, rl_do_lowercase_version },          /* S */
 
692
  { ISFUNC, rl_do_lowercase_version },          /* T */
 
693
  { ISFUNC, rl_do_lowercase_version },          /* U */
 
694
  { ISFUNC, rl_do_lowercase_version },          /* V */
 
695
  { ISFUNC, rl_do_lowercase_version },          /* W */
 
696
  { ISFUNC, rl_do_lowercase_version },          /* X */
 
697
  { ISFUNC, rl_do_lowercase_version },          /* Y */
 
698
  { ISFUNC, rl_do_lowercase_version },          /* Z */
 
699
 
 
700
  /* Some more punctuation. */
 
701
  { ISFUNC, rl_arrow_keys },                    /* [ */
 
702
  { ISFUNC, (rl_command_func_t *)0x0 },         /* \ */
 
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
 
 
708
  /* Lowercase alphabet. */
 
709
  { ISFUNC, (rl_command_func_t *)0x0 },         /* a */
 
710
  { ISFUNC, (rl_command_func_t *)0x0 },         /* b */
 
711
  { ISFUNC, (rl_command_func_t *)0x0 },         /* c */
 
712
  { ISFUNC, (rl_command_func_t *)0x0 },         /* d */
 
713
  { ISFUNC, (rl_command_func_t *)0x0 },         /* e */
 
714
  { ISFUNC, (rl_command_func_t *)0x0 },         /* f */
 
715
  { ISFUNC, (rl_command_func_t *)0x0 },         /* g */
 
716
  { ISFUNC, (rl_command_func_t *)0x0 },         /* h */
 
717
  { ISFUNC, (rl_command_func_t *)0x0 },         /* i */
 
718
  { ISFUNC, (rl_command_func_t *)0x0 },         /* j */
 
719
  { ISFUNC, (rl_command_func_t *)0x0 },         /* k */
 
720
  { ISFUNC, (rl_command_func_t *)0x0 },         /* l */
 
721
  { ISFUNC, (rl_command_func_t *)0x0 },         /* m */
 
722
  { ISFUNC, (rl_command_func_t *)0x0 },         /* n */
 
723
  { ISFUNC, rl_arrow_keys },                    /* o */
 
724
  { ISFUNC, (rl_command_func_t *)0x0 },         /* p */
 
725
  { ISFUNC, (rl_command_func_t *)0x0 },         /* q */
 
726
  { ISFUNC, (rl_command_func_t *)0x0 },         /* r */
 
727
  { ISFUNC, (rl_command_func_t *)0x0 },         /* s */
 
728
  { ISFUNC, (rl_command_func_t *)0x0 },         /* t */
 
729
  { ISFUNC, (rl_command_func_t *)0x0 },         /* u */
 
730
  { ISFUNC, (rl_command_func_t *)0x0 },         /* v */
 
731
  { ISFUNC, (rl_command_func_t *)0x0 },         /* w */
 
732
  { ISFUNC, (rl_command_func_t *)0x0 },         /* x */
 
733
  { ISFUNC, (rl_command_func_t *)0x0 },         /* y */
 
734
  { ISFUNC, (rl_command_func_t *)0x0 },         /* z */
 
735
 
 
736
  /* Final punctuation. */
 
737
  { ISFUNC, (rl_command_func_t *)0x0 },         /* { */
 
738
  { ISFUNC, (rl_command_func_t *)0x0 },         /* | */
 
739
  { ISFUNC, (rl_command_func_t *)0x0 },         /* } */
 
740
  { ISFUNC, (rl_command_func_t *)0x0 },         /* ~ */
 
741
  { ISFUNC, rl_backward_kill_word },            /* RUBOUT */
 
742
 
 
743
#if KEYMAP_SIZE > 128
 
744
  /* Undefined keys. */
 
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
  { ISFUNC, (rl_command_func_t *)0x0 },
 
872
  { ISFUNC, (rl_command_func_t *)0x0 }
 
873
#endif /* KEYMAP_SIZE > 128 */
 
874
};
 
875
#endif