emacs_keymap.c 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879
  1. /* emacs_keymap.c -- the keymap for emacs_mode in readline (). */
  2. /* Copyright (C) 1987-2009 Free Software Foundation, Inc.
  3. This file is part of the GNU Readline Library (Readline), a library
  4. for reading lines of text with interactive input and history editing.
  5. Readline is free software: you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation, either version 3 of the License, or
  8. (at your option) any later version.
  9. Readline is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with Readline. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. #if !defined (BUFSIZ)
  17. #include <stdio.h>
  18. #endif /* !BUFSIZ */
  19. #include "readline.h"
  20. /* An array of function pointers, one for each possible key.
  21. If the type byte is ISKMAP, then the pointer is the address of
  22. a keymap. */
  23. KEYMAP_ENTRY_ARRAY emacs_standard_keymap = {
  24. /* Control keys. */
  25. { ISFUNC, rl_set_mark }, /* Control-@ */
  26. { ISFUNC, rl_beg_of_line }, /* Control-a */
  27. { ISFUNC, rl_backward_char }, /* Control-b */
  28. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-c */
  29. { ISFUNC, rl_delete }, /* Control-d */
  30. { ISFUNC, rl_end_of_line }, /* Control-e */
  31. { ISFUNC, rl_forward_char }, /* Control-f */
  32. { ISFUNC, rl_abort }, /* Control-g */
  33. { ISFUNC, rl_rubout }, /* Control-h */
  34. { ISFUNC, rl_complete }, /* Control-i */
  35. { ISFUNC, rl_newline }, /* Control-j */
  36. { ISFUNC, rl_kill_line }, /* Control-k */
  37. { ISFUNC, rl_clear_screen }, /* Control-l */
  38. { ISFUNC, rl_newline }, /* Control-m */
  39. { ISFUNC, rl_get_next_history }, /* Control-n */
  40. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-o */
  41. { ISFUNC, rl_get_previous_history }, /* Control-p */
  42. { ISFUNC, rl_quoted_insert }, /* Control-q */
  43. { ISFUNC, rl_reverse_search_history }, /* Control-r */
  44. { ISFUNC, rl_forward_search_history }, /* Control-s */
  45. { ISFUNC, rl_transpose_chars }, /* Control-t */
  46. { ISFUNC, rl_unix_line_discard }, /* Control-u */
  47. { ISFUNC, rl_quoted_insert }, /* Control-v */
  48. { ISFUNC, rl_unix_word_rubout }, /* Control-w */
  49. { ISKMAP, (rl_command_func_t *)emacs_ctlx_keymap }, /* Control-x */
  50. { ISFUNC, rl_yank }, /* Control-y */
  51. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-z */
  52. { ISKMAP, (rl_command_func_t *)emacs_meta_keymap }, /* Control-[ */
  53. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-\ */
  54. { ISFUNC, rl_char_search }, /* Control-] */
  55. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-^ */
  56. { ISFUNC, rl_undo_command }, /* Control-_ */
  57. /* The start of printing characters. */
  58. { ISFUNC, rl_insert }, /* SPACE */
  59. { ISFUNC, rl_insert }, /* ! */
  60. { ISFUNC, rl_insert }, /* " */
  61. { ISFUNC, rl_insert }, /* # */
  62. { ISFUNC, rl_insert }, /* $ */
  63. { ISFUNC, rl_insert }, /* % */
  64. { ISFUNC, rl_insert }, /* & */
  65. { ISFUNC, rl_insert }, /* ' */
  66. { ISFUNC, rl_insert }, /* ( */
  67. { ISFUNC, rl_insert }, /* ) */
  68. { ISFUNC, rl_insert }, /* * */
  69. { ISFUNC, rl_insert }, /* + */
  70. { ISFUNC, rl_insert }, /* , */
  71. { ISFUNC, rl_insert }, /* - */
  72. { ISFUNC, rl_insert }, /* . */
  73. { ISFUNC, rl_insert }, /* / */
  74. /* Regular digits. */
  75. { ISFUNC, rl_insert }, /* 0 */
  76. { ISFUNC, rl_insert }, /* 1 */
  77. { ISFUNC, rl_insert }, /* 2 */
  78. { ISFUNC, rl_insert }, /* 3 */
  79. { ISFUNC, rl_insert }, /* 4 */
  80. { ISFUNC, rl_insert }, /* 5 */
  81. { ISFUNC, rl_insert }, /* 6 */
  82. { ISFUNC, rl_insert }, /* 7 */
  83. { ISFUNC, rl_insert }, /* 8 */
  84. { ISFUNC, rl_insert }, /* 9 */
  85. /* A little more punctuation. */
  86. { ISFUNC, rl_insert }, /* : */
  87. { ISFUNC, rl_insert }, /* ; */
  88. { ISFUNC, rl_insert }, /* < */
  89. { ISFUNC, rl_insert }, /* = */
  90. { ISFUNC, rl_insert }, /* > */
  91. { ISFUNC, rl_insert }, /* ? */
  92. { ISFUNC, rl_insert }, /* @ */
  93. /* Uppercase alphabet. */
  94. { ISFUNC, rl_insert }, /* A */
  95. { ISFUNC, rl_insert }, /* B */
  96. { ISFUNC, rl_insert }, /* C */
  97. { ISFUNC, rl_insert }, /* D */
  98. { ISFUNC, rl_insert }, /* E */
  99. { ISFUNC, rl_insert }, /* F */
  100. { ISFUNC, rl_insert }, /* G */
  101. { ISFUNC, rl_insert }, /* H */
  102. { ISFUNC, rl_insert }, /* I */
  103. { ISFUNC, rl_insert }, /* J */
  104. { ISFUNC, rl_insert }, /* K */
  105. { ISFUNC, rl_insert }, /* L */
  106. { ISFUNC, rl_insert }, /* M */
  107. { ISFUNC, rl_insert }, /* N */
  108. { ISFUNC, rl_insert }, /* O */
  109. { ISFUNC, rl_insert }, /* P */
  110. { ISFUNC, rl_insert }, /* Q */
  111. { ISFUNC, rl_insert }, /* R */
  112. { ISFUNC, rl_insert }, /* S */
  113. { ISFUNC, rl_insert }, /* T */
  114. { ISFUNC, rl_insert }, /* U */
  115. { ISFUNC, rl_insert }, /* V */
  116. { ISFUNC, rl_insert }, /* W */
  117. { ISFUNC, rl_insert }, /* X */
  118. { ISFUNC, rl_insert }, /* Y */
  119. { ISFUNC, rl_insert }, /* Z */
  120. /* Some more punctuation. */
  121. { ISFUNC, rl_insert }, /* [ */
  122. { ISFUNC, rl_insert }, /* \ */
  123. { ISFUNC, rl_insert }, /* ] */
  124. { ISFUNC, rl_insert }, /* ^ */
  125. { ISFUNC, rl_insert }, /* _ */
  126. { ISFUNC, rl_insert }, /* ` */
  127. /* Lowercase alphabet. */
  128. { ISFUNC, rl_insert }, /* a */
  129. { ISFUNC, rl_insert }, /* b */
  130. { ISFUNC, rl_insert }, /* c */
  131. { ISFUNC, rl_insert }, /* d */
  132. { ISFUNC, rl_insert }, /* e */
  133. { ISFUNC, rl_insert }, /* f */
  134. { ISFUNC, rl_insert }, /* g */
  135. { ISFUNC, rl_insert }, /* h */
  136. { ISFUNC, rl_insert }, /* i */
  137. { ISFUNC, rl_insert }, /* j */
  138. { ISFUNC, rl_insert }, /* k */
  139. { ISFUNC, rl_insert }, /* l */
  140. { ISFUNC, rl_insert }, /* m */
  141. { ISFUNC, rl_insert }, /* n */
  142. { ISFUNC, rl_insert }, /* o */
  143. { ISFUNC, rl_insert }, /* p */
  144. { ISFUNC, rl_insert }, /* q */
  145. { ISFUNC, rl_insert }, /* r */
  146. { ISFUNC, rl_insert }, /* s */
  147. { ISFUNC, rl_insert }, /* t */
  148. { ISFUNC, rl_insert }, /* u */
  149. { ISFUNC, rl_insert }, /* v */
  150. { ISFUNC, rl_insert }, /* w */
  151. { ISFUNC, rl_insert }, /* x */
  152. { ISFUNC, rl_insert }, /* y */
  153. { ISFUNC, rl_insert }, /* z */
  154. /* Final punctuation. */
  155. { ISFUNC, rl_insert }, /* { */
  156. { ISFUNC, rl_insert }, /* | */
  157. { ISFUNC, rl_insert }, /* } */
  158. { ISFUNC, rl_insert }, /* ~ */
  159. { ISFUNC, rl_rubout }, /* RUBOUT */
  160. #if KEYMAP_SIZE > 128
  161. /* Pure 8-bit characters (128 - 159).
  162. These might be used in some
  163. character sets. */
  164. { ISFUNC, rl_insert }, /* ? */
  165. { ISFUNC, rl_insert }, /* ? */
  166. { ISFUNC, rl_insert }, /* ? */
  167. { ISFUNC, rl_insert }, /* ? */
  168. { ISFUNC, rl_insert }, /* ? */
  169. { ISFUNC, rl_insert }, /* ? */
  170. { ISFUNC, rl_insert }, /* ? */
  171. { ISFUNC, rl_insert }, /* ? */
  172. { ISFUNC, rl_insert }, /* ? */
  173. { ISFUNC, rl_insert }, /* ? */
  174. { ISFUNC, rl_insert }, /* ? */
  175. { ISFUNC, rl_insert }, /* ? */
  176. { ISFUNC, rl_insert }, /* ? */
  177. { ISFUNC, rl_insert }, /* ? */
  178. { ISFUNC, rl_insert }, /* ? */
  179. { ISFUNC, rl_insert }, /* ? */
  180. { ISFUNC, rl_insert }, /* ? */
  181. { ISFUNC, rl_insert }, /* ? */
  182. { ISFUNC, rl_insert }, /* ? */
  183. { ISFUNC, rl_insert }, /* ? */
  184. { ISFUNC, rl_insert }, /* ? */
  185. { ISFUNC, rl_insert }, /* ? */
  186. { ISFUNC, rl_insert }, /* ? */
  187. { ISFUNC, rl_insert }, /* ? */
  188. { ISFUNC, rl_insert }, /* ? */
  189. { ISFUNC, rl_insert }, /* ? */
  190. { ISFUNC, rl_insert }, /* ? */
  191. { ISFUNC, rl_insert }, /* ? */
  192. { ISFUNC, rl_insert }, /* ? */
  193. { ISFUNC, rl_insert }, /* ? */
  194. { ISFUNC, rl_insert }, /* ? */
  195. { ISFUNC, rl_insert }, /* ? */
  196. /* ISO Latin-1 characters (160 - 255) */
  197. { ISFUNC, rl_insert }, /* No-break space */
  198. { ISFUNC, rl_insert }, /* Inverted exclamation mark */
  199. { ISFUNC, rl_insert }, /* Cent sign */
  200. { ISFUNC, rl_insert }, /* Pound sign */
  201. { ISFUNC, rl_insert }, /* Currency sign */
  202. { ISFUNC, rl_insert }, /* Yen sign */
  203. { ISFUNC, rl_insert }, /* Broken bar */
  204. { ISFUNC, rl_insert }, /* Section sign */
  205. { ISFUNC, rl_insert }, /* Diaeresis */
  206. { ISFUNC, rl_insert }, /* Copyright sign */
  207. { ISFUNC, rl_insert }, /* Feminine ordinal indicator */
  208. { ISFUNC, rl_insert }, /* Left pointing double angle quotation mark */
  209. { ISFUNC, rl_insert }, /* Not sign */
  210. { ISFUNC, rl_insert }, /* Soft hyphen */
  211. { ISFUNC, rl_insert }, /* Registered sign */
  212. { ISFUNC, rl_insert }, /* Macron */
  213. { ISFUNC, rl_insert }, /* Degree sign */
  214. { ISFUNC, rl_insert }, /* Plus-minus sign */
  215. { ISFUNC, rl_insert }, /* Superscript two */
  216. { ISFUNC, rl_insert }, /* Superscript three */
  217. { ISFUNC, rl_insert }, /* Acute accent */
  218. { ISFUNC, rl_insert }, /* Micro sign */
  219. { ISFUNC, rl_insert }, /* Pilcrow sign */
  220. { ISFUNC, rl_insert }, /* Middle dot */
  221. { ISFUNC, rl_insert }, /* Cedilla */
  222. { ISFUNC, rl_insert }, /* Superscript one */
  223. { ISFUNC, rl_insert }, /* Masculine ordinal indicator */
  224. { ISFUNC, rl_insert }, /* Right pointing double angle quotation mark */
  225. { ISFUNC, rl_insert }, /* Vulgar fraction one quarter */
  226. { ISFUNC, rl_insert }, /* Vulgar fraction one half */
  227. { ISFUNC, rl_insert }, /* Vulgar fraction three quarters */
  228. { ISFUNC, rl_insert }, /* Inverted questionk mark */
  229. { ISFUNC, rl_insert }, /* Latin capital letter a with grave */
  230. { ISFUNC, rl_insert }, /* Latin capital letter a with acute */
  231. { ISFUNC, rl_insert }, /* Latin capital letter a with circumflex */
  232. { ISFUNC, rl_insert }, /* Latin capital letter a with tilde */
  233. { ISFUNC, rl_insert }, /* Latin capital letter a with diaeresis */
  234. { ISFUNC, rl_insert }, /* Latin capital letter a with ring above */
  235. { ISFUNC, rl_insert }, /* Latin capital letter ae */
  236. { ISFUNC, rl_insert }, /* Latin capital letter c with cedilla */
  237. { ISFUNC, rl_insert }, /* Latin capital letter e with grave */
  238. { ISFUNC, rl_insert }, /* Latin capital letter e with acute */
  239. { ISFUNC, rl_insert }, /* Latin capital letter e with circumflex */
  240. { ISFUNC, rl_insert }, /* Latin capital letter e with diaeresis */
  241. { ISFUNC, rl_insert }, /* Latin capital letter i with grave */
  242. { ISFUNC, rl_insert }, /* Latin capital letter i with acute */
  243. { ISFUNC, rl_insert }, /* Latin capital letter i with circumflex */
  244. { ISFUNC, rl_insert }, /* Latin capital letter i with diaeresis */
  245. { ISFUNC, rl_insert }, /* Latin capital letter eth (Icelandic) */
  246. { ISFUNC, rl_insert }, /* Latin capital letter n with tilde */
  247. { ISFUNC, rl_insert }, /* Latin capital letter o with grave */
  248. { ISFUNC, rl_insert }, /* Latin capital letter o with acute */
  249. { ISFUNC, rl_insert }, /* Latin capital letter o with circumflex */
  250. { ISFUNC, rl_insert }, /* Latin capital letter o with tilde */
  251. { ISFUNC, rl_insert }, /* Latin capital letter o with diaeresis */
  252. { ISFUNC, rl_insert }, /* Multiplication sign */
  253. { ISFUNC, rl_insert }, /* Latin capital letter o with stroke */
  254. { ISFUNC, rl_insert }, /* Latin capital letter u with grave */
  255. { ISFUNC, rl_insert }, /* Latin capital letter u with acute */
  256. { ISFUNC, rl_insert }, /* Latin capital letter u with circumflex */
  257. { ISFUNC, rl_insert }, /* Latin capital letter u with diaeresis */
  258. { ISFUNC, rl_insert }, /* Latin capital letter Y with acute */
  259. { ISFUNC, rl_insert }, /* Latin capital letter thorn (Icelandic) */
  260. { ISFUNC, rl_insert }, /* Latin small letter sharp s (German) */
  261. #ifndef __MINGW32__
  262. { ISFUNC, rl_insert }, /* Latin small letter a with grave */
  263. #else
  264. /* Temporary - this is a bug in readline 5.1 that should be fixed in
  265. readline 5.2. */
  266. { ISFUNC, 0 }, /* Must leave this unbound for the arrow keys to work. */
  267. #endif
  268. { ISFUNC, rl_insert }, /* Latin small letter a with acute */
  269. { ISFUNC, rl_insert }, /* Latin small letter a with circumflex */
  270. { ISFUNC, rl_insert }, /* Latin small letter a with tilde */
  271. { ISFUNC, rl_insert }, /* Latin small letter a with diaeresis */
  272. { ISFUNC, rl_insert }, /* Latin small letter a with ring above */
  273. { ISFUNC, rl_insert }, /* Latin small letter ae */
  274. { ISFUNC, rl_insert }, /* Latin small letter c with cedilla */
  275. { ISFUNC, rl_insert }, /* Latin small letter e with grave */
  276. { ISFUNC, rl_insert }, /* Latin small letter e with acute */
  277. { ISFUNC, rl_insert }, /* Latin small letter e with circumflex */
  278. { ISFUNC, rl_insert }, /* Latin small letter e with diaeresis */
  279. { ISFUNC, rl_insert }, /* Latin small letter i with grave */
  280. { ISFUNC, rl_insert }, /* Latin small letter i with acute */
  281. { ISFUNC, rl_insert }, /* Latin small letter i with circumflex */
  282. { ISFUNC, rl_insert }, /* Latin small letter i with diaeresis */
  283. { ISFUNC, rl_insert }, /* Latin small letter eth (Icelandic) */
  284. { ISFUNC, rl_insert }, /* Latin small letter n with tilde */
  285. { ISFUNC, rl_insert }, /* Latin small letter o with grave */
  286. { ISFUNC, rl_insert }, /* Latin small letter o with acute */
  287. { ISFUNC, rl_insert }, /* Latin small letter o with circumflex */
  288. { ISFUNC, rl_insert }, /* Latin small letter o with tilde */
  289. { ISFUNC, rl_insert }, /* Latin small letter o with diaeresis */
  290. { ISFUNC, rl_insert }, /* Division sign */
  291. { ISFUNC, rl_insert }, /* Latin small letter o with stroke */
  292. { ISFUNC, rl_insert }, /* Latin small letter u with grave */
  293. { ISFUNC, rl_insert }, /* Latin small letter u with acute */
  294. { ISFUNC, rl_insert }, /* Latin small letter u with circumflex */
  295. { ISFUNC, rl_insert }, /* Latin small letter u with diaeresis */
  296. { ISFUNC, rl_insert }, /* Latin small letter y with acute */
  297. { ISFUNC, rl_insert }, /* Latin small letter thorn (Icelandic) */
  298. { ISFUNC, rl_insert } /* Latin small letter y with diaeresis */
  299. #endif /* KEYMAP_SIZE > 128 */
  300. };
  301. KEYMAP_ENTRY_ARRAY emacs_meta_keymap = {
  302. /* Meta keys. Just like above, but the high bit is set. */
  303. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-@ */
  304. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-a */
  305. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-b */
  306. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-c */
  307. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-d */
  308. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-e */
  309. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-f */
  310. { ISFUNC, rl_abort }, /* Meta-Control-g */
  311. { ISFUNC, rl_backward_kill_word }, /* Meta-Control-h */
  312. { ISFUNC, rl_tab_insert }, /* Meta-Control-i */
  313. { ISFUNC, rl_vi_editing_mode }, /* Meta-Control-j */
  314. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-k */
  315. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-l */
  316. { ISFUNC, rl_vi_editing_mode }, /* Meta-Control-m */
  317. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-n */
  318. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-o */
  319. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-p */
  320. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-q */
  321. { ISFUNC, rl_revert_line }, /* Meta-Control-r */
  322. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-s */
  323. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-t */
  324. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-u */
  325. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-v */
  326. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-w */
  327. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-x */
  328. { ISFUNC, rl_yank_nth_arg }, /* Meta-Control-y */
  329. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-z */
  330. { ISFUNC, rl_complete }, /* Meta-Control-[ */
  331. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-\ */
  332. { ISFUNC, rl_backward_char_search }, /* Meta-Control-] */
  333. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-^ */
  334. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-Control-_ */
  335. /* The start of printing characters. */
  336. { ISFUNC, rl_set_mark }, /* Meta-SPACE */
  337. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-! */
  338. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-" */
  339. { ISFUNC, rl_insert_comment }, /* Meta-# */
  340. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-$ */
  341. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-% */
  342. { ISFUNC, rl_tilde_expand }, /* Meta-& */
  343. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-' */
  344. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-( */
  345. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-) */
  346. { ISFUNC, rl_insert_completions }, /* Meta-* */
  347. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-+ */
  348. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-, */
  349. { ISFUNC, rl_digit_argument }, /* Meta-- */
  350. { ISFUNC, rl_yank_last_arg}, /* Meta-. */
  351. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-/ */
  352. /* Regular digits. */
  353. { ISFUNC, rl_digit_argument }, /* Meta-0 */
  354. { ISFUNC, rl_digit_argument }, /* Meta-1 */
  355. { ISFUNC, rl_digit_argument }, /* Meta-2 */
  356. { ISFUNC, rl_digit_argument }, /* Meta-3 */
  357. { ISFUNC, rl_digit_argument }, /* Meta-4 */
  358. { ISFUNC, rl_digit_argument }, /* Meta-5 */
  359. { ISFUNC, rl_digit_argument }, /* Meta-6 */
  360. { ISFUNC, rl_digit_argument }, /* Meta-7 */
  361. { ISFUNC, rl_digit_argument }, /* Meta-8 */
  362. { ISFUNC, rl_digit_argument }, /* Meta-9 */
  363. /* A little more punctuation. */
  364. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-: */
  365. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-; */
  366. { ISFUNC, rl_beginning_of_history }, /* Meta-< */
  367. { ISFUNC, rl_possible_completions }, /* Meta-= */
  368. { ISFUNC, rl_end_of_history }, /* Meta-> */
  369. { ISFUNC, rl_possible_completions }, /* Meta-? */
  370. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-@ */
  371. /* Uppercase alphabet. */
  372. { ISFUNC, rl_do_lowercase_version }, /* Meta-A */
  373. { ISFUNC, rl_do_lowercase_version }, /* Meta-B */
  374. { ISFUNC, rl_do_lowercase_version }, /* Meta-C */
  375. { ISFUNC, rl_do_lowercase_version }, /* Meta-D */
  376. { ISFUNC, rl_do_lowercase_version }, /* Meta-E */
  377. { ISFUNC, rl_do_lowercase_version }, /* Meta-F */
  378. { ISFUNC, rl_do_lowercase_version }, /* Meta-G */
  379. { ISFUNC, rl_do_lowercase_version }, /* Meta-H */
  380. { ISFUNC, rl_do_lowercase_version }, /* Meta-I */
  381. { ISFUNC, rl_do_lowercase_version }, /* Meta-J */
  382. { ISFUNC, rl_do_lowercase_version }, /* Meta-K */
  383. { ISFUNC, rl_do_lowercase_version }, /* Meta-L */
  384. { ISFUNC, rl_do_lowercase_version }, /* Meta-M */
  385. { ISFUNC, rl_do_lowercase_version }, /* Meta-N */
  386. { ISFUNC, rl_do_lowercase_version }, /* Meta-O */
  387. { ISFUNC, rl_do_lowercase_version }, /* Meta-P */
  388. { ISFUNC, rl_do_lowercase_version }, /* Meta-Q */
  389. { ISFUNC, rl_do_lowercase_version }, /* Meta-R */
  390. { ISFUNC, rl_do_lowercase_version }, /* Meta-S */
  391. { ISFUNC, rl_do_lowercase_version }, /* Meta-T */
  392. { ISFUNC, rl_do_lowercase_version }, /* Meta-U */
  393. { ISFUNC, rl_do_lowercase_version }, /* Meta-V */
  394. { ISFUNC, rl_do_lowercase_version }, /* Meta-W */
  395. { ISFUNC, rl_do_lowercase_version }, /* Meta-X */
  396. { ISFUNC, rl_do_lowercase_version }, /* Meta-Y */
  397. { ISFUNC, rl_do_lowercase_version }, /* Meta-Z */
  398. /* Some more punctuation. */
  399. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-[ */ /* was rl_arrow_keys */
  400. { ISFUNC, rl_delete_horizontal_space }, /* Meta-\ */
  401. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-] */
  402. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-^ */
  403. { ISFUNC, rl_yank_last_arg }, /* Meta-_ */
  404. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-` */
  405. /* Lowercase alphabet. */
  406. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-a */
  407. { ISFUNC, rl_backward_word }, /* Meta-b */
  408. { ISFUNC, rl_capitalize_word }, /* Meta-c */
  409. { ISFUNC, rl_kill_word }, /* Meta-d */
  410. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-e */
  411. { ISFUNC, rl_forward_word }, /* Meta-f */
  412. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-g */
  413. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-h */
  414. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-i */
  415. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-j */
  416. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-k */
  417. { ISFUNC, rl_downcase_word }, /* Meta-l */
  418. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-m */
  419. { ISFUNC, rl_noninc_forward_search }, /* Meta-n */
  420. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-o */ /* was rl_arrow_keys */
  421. { ISFUNC, rl_noninc_reverse_search }, /* Meta-p */
  422. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-q */
  423. { ISFUNC, rl_revert_line }, /* Meta-r */
  424. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-s */
  425. { ISFUNC, rl_transpose_words }, /* Meta-t */
  426. { ISFUNC, rl_upcase_word }, /* Meta-u */
  427. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-v */
  428. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-w */
  429. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-x */
  430. { ISFUNC, rl_yank_pop }, /* Meta-y */
  431. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-z */
  432. /* Final punctuation. */
  433. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-{ */
  434. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-| */
  435. { ISFUNC, (rl_command_func_t *)0x0 }, /* Meta-} */
  436. { ISFUNC, rl_tilde_expand }, /* Meta-~ */
  437. { ISFUNC, rl_backward_kill_word }, /* Meta-rubout */
  438. #if KEYMAP_SIZE > 128
  439. /* Undefined keys. */
  440. { ISFUNC, (rl_command_func_t *)0x0 },
  441. { ISFUNC, (rl_command_func_t *)0x0 },
  442. { ISFUNC, (rl_command_func_t *)0x0 },
  443. { ISFUNC, (rl_command_func_t *)0x0 },
  444. { ISFUNC, (rl_command_func_t *)0x0 },
  445. { ISFUNC, (rl_command_func_t *)0x0 },
  446. { ISFUNC, (rl_command_func_t *)0x0 },
  447. { ISFUNC, (rl_command_func_t *)0x0 },
  448. { ISFUNC, (rl_command_func_t *)0x0 },
  449. { ISFUNC, (rl_command_func_t *)0x0 },
  450. { ISFUNC, (rl_command_func_t *)0x0 },
  451. { ISFUNC, (rl_command_func_t *)0x0 },
  452. { ISFUNC, (rl_command_func_t *)0x0 },
  453. { ISFUNC, (rl_command_func_t *)0x0 },
  454. { ISFUNC, (rl_command_func_t *)0x0 },
  455. { ISFUNC, (rl_command_func_t *)0x0 },
  456. { ISFUNC, (rl_command_func_t *)0x0 },
  457. { ISFUNC, (rl_command_func_t *)0x0 },
  458. { ISFUNC, (rl_command_func_t *)0x0 },
  459. { ISFUNC, (rl_command_func_t *)0x0 },
  460. { ISFUNC, (rl_command_func_t *)0x0 },
  461. { ISFUNC, (rl_command_func_t *)0x0 },
  462. { ISFUNC, (rl_command_func_t *)0x0 },
  463. { ISFUNC, (rl_command_func_t *)0x0 },
  464. { ISFUNC, (rl_command_func_t *)0x0 },
  465. { ISFUNC, (rl_command_func_t *)0x0 },
  466. { ISFUNC, (rl_command_func_t *)0x0 },
  467. { ISFUNC, (rl_command_func_t *)0x0 },
  468. { ISFUNC, (rl_command_func_t *)0x0 },
  469. { ISFUNC, (rl_command_func_t *)0x0 },
  470. { ISFUNC, (rl_command_func_t *)0x0 },
  471. { ISFUNC, (rl_command_func_t *)0x0 },
  472. { ISFUNC, (rl_command_func_t *)0x0 },
  473. { ISFUNC, (rl_command_func_t *)0x0 },
  474. { ISFUNC, (rl_command_func_t *)0x0 },
  475. { ISFUNC, (rl_command_func_t *)0x0 },
  476. { ISFUNC, (rl_command_func_t *)0x0 },
  477. { ISFUNC, (rl_command_func_t *)0x0 },
  478. { ISFUNC, (rl_command_func_t *)0x0 },
  479. { ISFUNC, (rl_command_func_t *)0x0 },
  480. { ISFUNC, (rl_command_func_t *)0x0 },
  481. { ISFUNC, (rl_command_func_t *)0x0 },
  482. { ISFUNC, (rl_command_func_t *)0x0 },
  483. { ISFUNC, (rl_command_func_t *)0x0 },
  484. { ISFUNC, (rl_command_func_t *)0x0 },
  485. { ISFUNC, (rl_command_func_t *)0x0 },
  486. { ISFUNC, (rl_command_func_t *)0x0 },
  487. { ISFUNC, (rl_command_func_t *)0x0 },
  488. { ISFUNC, (rl_command_func_t *)0x0 },
  489. { ISFUNC, (rl_command_func_t *)0x0 },
  490. { ISFUNC, (rl_command_func_t *)0x0 },
  491. { ISFUNC, (rl_command_func_t *)0x0 },
  492. { ISFUNC, (rl_command_func_t *)0x0 },
  493. { ISFUNC, (rl_command_func_t *)0x0 },
  494. { ISFUNC, (rl_command_func_t *)0x0 },
  495. { ISFUNC, (rl_command_func_t *)0x0 },
  496. { ISFUNC, (rl_command_func_t *)0x0 },
  497. { ISFUNC, (rl_command_func_t *)0x0 },
  498. { ISFUNC, (rl_command_func_t *)0x0 },
  499. { ISFUNC, (rl_command_func_t *)0x0 },
  500. { ISFUNC, (rl_command_func_t *)0x0 },
  501. { ISFUNC, (rl_command_func_t *)0x0 },
  502. { ISFUNC, (rl_command_func_t *)0x0 },
  503. { ISFUNC, (rl_command_func_t *)0x0 },
  504. { ISFUNC, (rl_command_func_t *)0x0 },
  505. { ISFUNC, (rl_command_func_t *)0x0 },
  506. { ISFUNC, (rl_command_func_t *)0x0 },
  507. { ISFUNC, (rl_command_func_t *)0x0 },
  508. { ISFUNC, (rl_command_func_t *)0x0 },
  509. { ISFUNC, (rl_command_func_t *)0x0 },
  510. { ISFUNC, (rl_command_func_t *)0x0 },
  511. { ISFUNC, (rl_command_func_t *)0x0 },
  512. { ISFUNC, (rl_command_func_t *)0x0 },
  513. { ISFUNC, (rl_command_func_t *)0x0 },
  514. { ISFUNC, (rl_command_func_t *)0x0 },
  515. { ISFUNC, (rl_command_func_t *)0x0 },
  516. { ISFUNC, (rl_command_func_t *)0x0 },
  517. { ISFUNC, (rl_command_func_t *)0x0 },
  518. { ISFUNC, (rl_command_func_t *)0x0 },
  519. { ISFUNC, (rl_command_func_t *)0x0 },
  520. { ISFUNC, (rl_command_func_t *)0x0 },
  521. { ISFUNC, (rl_command_func_t *)0x0 },
  522. { ISFUNC, (rl_command_func_t *)0x0 },
  523. { ISFUNC, (rl_command_func_t *)0x0 },
  524. { ISFUNC, (rl_command_func_t *)0x0 },
  525. { ISFUNC, (rl_command_func_t *)0x0 },
  526. { ISFUNC, (rl_command_func_t *)0x0 },
  527. { ISFUNC, (rl_command_func_t *)0x0 },
  528. { ISFUNC, (rl_command_func_t *)0x0 },
  529. { ISFUNC, (rl_command_func_t *)0x0 },
  530. { ISFUNC, (rl_command_func_t *)0x0 },
  531. { ISFUNC, (rl_command_func_t *)0x0 },
  532. { ISFUNC, (rl_command_func_t *)0x0 },
  533. { ISFUNC, (rl_command_func_t *)0x0 },
  534. { ISFUNC, (rl_command_func_t *)0x0 },
  535. { ISFUNC, (rl_command_func_t *)0x0 },
  536. { ISFUNC, (rl_command_func_t *)0x0 },
  537. { ISFUNC, (rl_command_func_t *)0x0 },
  538. { ISFUNC, (rl_command_func_t *)0x0 },
  539. { ISFUNC, (rl_command_func_t *)0x0 },
  540. { ISFUNC, (rl_command_func_t *)0x0 },
  541. { ISFUNC, (rl_command_func_t *)0x0 },
  542. { ISFUNC, (rl_command_func_t *)0x0 },
  543. { ISFUNC, (rl_command_func_t *)0x0 },
  544. { ISFUNC, (rl_command_func_t *)0x0 },
  545. { ISFUNC, (rl_command_func_t *)0x0 },
  546. { ISFUNC, (rl_command_func_t *)0x0 },
  547. { ISFUNC, (rl_command_func_t *)0x0 },
  548. { ISFUNC, (rl_command_func_t *)0x0 },
  549. { ISFUNC, (rl_command_func_t *)0x0 },
  550. { ISFUNC, (rl_command_func_t *)0x0 },
  551. { ISFUNC, (rl_command_func_t *)0x0 },
  552. { ISFUNC, (rl_command_func_t *)0x0 },
  553. { ISFUNC, (rl_command_func_t *)0x0 },
  554. { ISFUNC, (rl_command_func_t *)0x0 },
  555. { ISFUNC, (rl_command_func_t *)0x0 },
  556. { ISFUNC, (rl_command_func_t *)0x0 },
  557. { ISFUNC, (rl_command_func_t *)0x0 },
  558. { ISFUNC, (rl_command_func_t *)0x0 },
  559. { ISFUNC, (rl_command_func_t *)0x0 },
  560. { ISFUNC, (rl_command_func_t *)0x0 },
  561. { ISFUNC, (rl_command_func_t *)0x0 },
  562. { ISFUNC, (rl_command_func_t *)0x0 },
  563. { ISFUNC, (rl_command_func_t *)0x0 },
  564. { ISFUNC, (rl_command_func_t *)0x0 },
  565. { ISFUNC, (rl_command_func_t *)0x0 },
  566. { ISFUNC, (rl_command_func_t *)0x0 },
  567. { ISFUNC, (rl_command_func_t *)0x0 }
  568. #endif /* KEYMAP_SIZE > 128 */
  569. };
  570. KEYMAP_ENTRY_ARRAY emacs_ctlx_keymap = {
  571. /* Control keys. */
  572. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-@ */
  573. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-a */
  574. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-b */
  575. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-c */
  576. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-d */
  577. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-e */
  578. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-f */
  579. { ISFUNC, rl_abort }, /* Control-g */
  580. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-h */
  581. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-i */
  582. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-j */
  583. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-k */
  584. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-l */
  585. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-m */
  586. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-n */
  587. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-o */
  588. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-p */
  589. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-q */
  590. { ISFUNC, rl_re_read_init_file }, /* Control-r */
  591. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-s */
  592. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-t */
  593. { ISFUNC, rl_undo_command }, /* Control-u */
  594. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-v */
  595. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-w */
  596. { ISFUNC, rl_exchange_point_and_mark }, /* Control-x */
  597. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-y */
  598. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-z */
  599. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-[ */
  600. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-\ */
  601. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-] */
  602. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-^ */
  603. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-_ */
  604. /* The start of printing characters. */
  605. { ISFUNC, (rl_command_func_t *)0x0 }, /* SPACE */
  606. { ISFUNC, (rl_command_func_t *)0x0 }, /* ! */
  607. { ISFUNC, (rl_command_func_t *)0x0 }, /* " */
  608. { ISFUNC, (rl_command_func_t *)0x0 }, /* # */
  609. { ISFUNC, (rl_command_func_t *)0x0 }, /* $ */
  610. { ISFUNC, (rl_command_func_t *)0x0 }, /* % */
  611. { ISFUNC, (rl_command_func_t *)0x0 }, /* & */
  612. { ISFUNC, (rl_command_func_t *)0x0 }, /* ' */
  613. { ISFUNC, rl_start_kbd_macro }, /* ( */
  614. { ISFUNC, rl_end_kbd_macro }, /* ) */
  615. { ISFUNC, (rl_command_func_t *)0x0 }, /* * */
  616. { ISFUNC, (rl_command_func_t *)0x0 }, /* + */
  617. { ISFUNC, (rl_command_func_t *)0x0 }, /* , */
  618. { ISFUNC, (rl_command_func_t *)0x0 }, /* - */
  619. { ISFUNC, (rl_command_func_t *)0x0 }, /* . */
  620. { ISFUNC, (rl_command_func_t *)0x0 }, /* / */
  621. /* Regular digits. */
  622. { ISFUNC, (rl_command_func_t *)0x0 }, /* 0 */
  623. { ISFUNC, (rl_command_func_t *)0x0 }, /* 1 */
  624. { ISFUNC, (rl_command_func_t *)0x0 }, /* 2 */
  625. { ISFUNC, (rl_command_func_t *)0x0 }, /* 3 */
  626. { ISFUNC, (rl_command_func_t *)0x0 }, /* 4 */
  627. { ISFUNC, (rl_command_func_t *)0x0 }, /* 5 */
  628. { ISFUNC, (rl_command_func_t *)0x0 }, /* 6 */
  629. { ISFUNC, (rl_command_func_t *)0x0 }, /* 7 */
  630. { ISFUNC, (rl_command_func_t *)0x0 }, /* 8 */
  631. { ISFUNC, (rl_command_func_t *)0x0 }, /* 9 */
  632. /* A little more punctuation. */
  633. { ISFUNC, (rl_command_func_t *)0x0 }, /* : */
  634. { ISFUNC, (rl_command_func_t *)0x0 }, /* ; */
  635. { ISFUNC, (rl_command_func_t *)0x0 }, /* < */
  636. { ISFUNC, (rl_command_func_t *)0x0 }, /* = */
  637. { ISFUNC, (rl_command_func_t *)0x0 }, /* > */
  638. { ISFUNC, (rl_command_func_t *)0x0 }, /* ? */
  639. { ISFUNC, (rl_command_func_t *)0x0 }, /* @ */
  640. /* Uppercase alphabet. */
  641. { ISFUNC, rl_do_lowercase_version }, /* A */
  642. { ISFUNC, rl_do_lowercase_version }, /* B */
  643. { ISFUNC, rl_do_lowercase_version }, /* C */
  644. { ISFUNC, rl_do_lowercase_version }, /* D */
  645. { ISFUNC, rl_do_lowercase_version }, /* E */
  646. { ISFUNC, rl_do_lowercase_version }, /* F */
  647. { ISFUNC, rl_do_lowercase_version }, /* G */
  648. { ISFUNC, rl_do_lowercase_version }, /* H */
  649. { ISFUNC, rl_do_lowercase_version }, /* I */
  650. { ISFUNC, rl_do_lowercase_version }, /* J */
  651. { ISFUNC, rl_do_lowercase_version }, /* K */
  652. { ISFUNC, rl_do_lowercase_version }, /* L */
  653. { ISFUNC, rl_do_lowercase_version }, /* M */
  654. { ISFUNC, rl_do_lowercase_version }, /* N */
  655. { ISFUNC, rl_do_lowercase_version }, /* O */
  656. { ISFUNC, rl_do_lowercase_version }, /* P */
  657. { ISFUNC, rl_do_lowercase_version }, /* Q */
  658. { ISFUNC, rl_do_lowercase_version }, /* R */
  659. { ISFUNC, rl_do_lowercase_version }, /* S */
  660. { ISFUNC, rl_do_lowercase_version }, /* T */
  661. { ISFUNC, rl_do_lowercase_version }, /* U */
  662. { ISFUNC, rl_do_lowercase_version }, /* V */
  663. { ISFUNC, rl_do_lowercase_version }, /* W */
  664. { ISFUNC, rl_do_lowercase_version }, /* X */
  665. { ISFUNC, rl_do_lowercase_version }, /* Y */
  666. { ISFUNC, rl_do_lowercase_version }, /* Z */
  667. /* Some more punctuation. */
  668. { ISFUNC, (rl_command_func_t *)0x0 }, /* [ */
  669. { ISFUNC, (rl_command_func_t *)0x0 }, /* \ */
  670. { ISFUNC, (rl_command_func_t *)0x0 }, /* ] */
  671. { ISFUNC, (rl_command_func_t *)0x0 }, /* ^ */
  672. { ISFUNC, (rl_command_func_t *)0x0 }, /* _ */
  673. { ISFUNC, (rl_command_func_t *)0x0 }, /* ` */
  674. /* Lowercase alphabet. */
  675. { ISFUNC, (rl_command_func_t *)0x0 }, /* a */
  676. { ISFUNC, (rl_command_func_t *)0x0 }, /* b */
  677. { ISFUNC, (rl_command_func_t *)0x0 }, /* c */
  678. { ISFUNC, (rl_command_func_t *)0x0 }, /* d */
  679. { ISFUNC, rl_call_last_kbd_macro }, /* e */
  680. { ISFUNC, (rl_command_func_t *)0x0 }, /* f */
  681. { ISFUNC, (rl_command_func_t *)0x0 }, /* g */
  682. { ISFUNC, (rl_command_func_t *)0x0 }, /* h */
  683. { ISFUNC, (rl_command_func_t *)0x0 }, /* i */
  684. { ISFUNC, (rl_command_func_t *)0x0 }, /* j */
  685. { ISFUNC, (rl_command_func_t *)0x0 }, /* k */
  686. { ISFUNC, (rl_command_func_t *)0x0 }, /* l */
  687. { ISFUNC, (rl_command_func_t *)0x0 }, /* m */
  688. { ISFUNC, (rl_command_func_t *)0x0 }, /* n */
  689. { ISFUNC, (rl_command_func_t *)0x0 }, /* o */
  690. { ISFUNC, (rl_command_func_t *)0x0 }, /* p */
  691. { ISFUNC, (rl_command_func_t *)0x0 }, /* q */
  692. { ISFUNC, (rl_command_func_t *)0x0 }, /* r */
  693. { ISFUNC, (rl_command_func_t *)0x0 }, /* s */
  694. { ISFUNC, (rl_command_func_t *)0x0 }, /* t */
  695. { ISFUNC, (rl_command_func_t *)0x0 }, /* u */
  696. { ISFUNC, (rl_command_func_t *)0x0 }, /* v */
  697. { ISFUNC, (rl_command_func_t *)0x0 }, /* w */
  698. { ISFUNC, (rl_command_func_t *)0x0 }, /* x */
  699. { ISFUNC, (rl_command_func_t *)0x0 }, /* y */
  700. { ISFUNC, (rl_command_func_t *)0x0 }, /* z */
  701. /* Final punctuation. */
  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_backward_kill_line }, /* RUBOUT */
  707. #if KEYMAP_SIZE > 128
  708. /* Undefined keys. */
  709. { ISFUNC, (rl_command_func_t *)0x0 },
  710. { ISFUNC, (rl_command_func_t *)0x0 },
  711. { ISFUNC, (rl_command_func_t *)0x0 },
  712. { ISFUNC, (rl_command_func_t *)0x0 },
  713. { ISFUNC, (rl_command_func_t *)0x0 },
  714. { ISFUNC, (rl_command_func_t *)0x0 },
  715. { ISFUNC, (rl_command_func_t *)0x0 },
  716. { ISFUNC, (rl_command_func_t *)0x0 },
  717. { ISFUNC, (rl_command_func_t *)0x0 },
  718. { ISFUNC, (rl_command_func_t *)0x0 },
  719. { ISFUNC, (rl_command_func_t *)0x0 },
  720. { ISFUNC, (rl_command_func_t *)0x0 },
  721. { ISFUNC, (rl_command_func_t *)0x0 },
  722. { ISFUNC, (rl_command_func_t *)0x0 },
  723. { ISFUNC, (rl_command_func_t *)0x0 },
  724. { ISFUNC, (rl_command_func_t *)0x0 },
  725. { ISFUNC, (rl_command_func_t *)0x0 },
  726. { ISFUNC, (rl_command_func_t *)0x0 },
  727. { ISFUNC, (rl_command_func_t *)0x0 },
  728. { ISFUNC, (rl_command_func_t *)0x0 },
  729. { ISFUNC, (rl_command_func_t *)0x0 },
  730. { ISFUNC, (rl_command_func_t *)0x0 },
  731. { ISFUNC, (rl_command_func_t *)0x0 },
  732. { ISFUNC, (rl_command_func_t *)0x0 },
  733. { ISFUNC, (rl_command_func_t *)0x0 },
  734. { ISFUNC, (rl_command_func_t *)0x0 },
  735. { ISFUNC, (rl_command_func_t *)0x0 },
  736. { ISFUNC, (rl_command_func_t *)0x0 },
  737. { ISFUNC, (rl_command_func_t *)0x0 },
  738. { ISFUNC, (rl_command_func_t *)0x0 },
  739. { ISFUNC, (rl_command_func_t *)0x0 },
  740. { ISFUNC, (rl_command_func_t *)0x0 },
  741. { ISFUNC, (rl_command_func_t *)0x0 },
  742. { ISFUNC, (rl_command_func_t *)0x0 },
  743. { ISFUNC, (rl_command_func_t *)0x0 },
  744. { ISFUNC, (rl_command_func_t *)0x0 },
  745. { ISFUNC, (rl_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. #endif /* KEYMAP_SIZE > 128 */
  838. };