home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / octa21fs.zip / octave / readline / emacs_keymap.c < prev    next >
C/C++ Source or Header  |  2000-01-15  |  41KB  |  1,026 lines

  1. /* Modified by Klaus Gebhardt, Octaber 1996 */
  2. /* emacs_keymap.c -- the keymap for emacs_mode in readline (). */
  3.  
  4. /* Copyright (C) 1987, 1989, 1992 Free Software Foundation, Inc.
  5.  
  6.    This file is part of the GNU Readline Library, a library for
  7.    reading lines of text with interactive input and history editing.
  8.  
  9.    The GNU Readline Library is free software; you can redistribute it
  10.    and/or modify it under the terms of the GNU General Public License
  11.    as published by the Free Software Foundation; either version 1, or
  12.    (at your option) any later version.
  13.  
  14.    The GNU Readline Library is distributed in the hope that it will be
  15.    useful, but WITHOUT ANY WARRANTY; without even the implied warranty
  16.    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.    GNU General Public License for more details.
  18.  
  19.    The GNU General Public License is often shipped with GNU software, and
  20.    is generally kept in a file called COPYING or LICENSE.  If you do not
  21.    have a copy of the license, write to the Free Software Foundation,
  22.    675 Mass Ave, Cambridge, MA 02139, USA. */
  23.  
  24. #if !defined (BUFSIZ)
  25. #include <stdio.h>
  26. #endif /* !BUFSIZ */
  27.  
  28. #include "readline.h"
  29.  
  30. /* An array of function pointers, one for each possible key.
  31.    If the type byte is ISKMAP, then the pointer is the address of
  32.    a keymap. */
  33.  
  34. KEYMAP_ENTRY_ARRAY emacs_standard_keymap = {
  35.  
  36.   /* Control keys. */
  37. #if defined (__EMX__)
  38.   { ISKMAP, (Function *)emacs_emx_keymap }, /* Control-@ */
  39. #else
  40.   { ISFUNC, rl_set_mark },        /* Control-@ */
  41. #endif
  42.   { ISFUNC, rl_beg_of_line },        /* Control-a */
  43.   { ISFUNC, rl_backward },        /* Control-b */
  44.   { ISFUNC, (Function *)0x0 },        /* Control-c */
  45.   { ISFUNC, rl_delete },        /* Control-d */
  46.   { ISFUNC, rl_end_of_line },        /* Control-e */
  47.   { ISFUNC, rl_forward },        /* Control-f */
  48.   { ISFUNC, rl_abort },            /* Control-g */
  49.   { ISFUNC, rl_rubout },        /* Control-h */
  50.   { ISFUNC, rl_complete },        /* Control-i */
  51.   { ISFUNC, rl_newline },        /* Control-j */
  52.   { ISFUNC, rl_kill_line },        /* Control-k */
  53.   { ISFUNC, rl_clear_screen },        /* Control-l */
  54.   { ISFUNC, rl_newline },        /* Control-m */
  55.   { ISFUNC, rl_get_next_history },    /* Control-n */
  56.   { ISFUNC, (Function *)0x0 },        /* Control-o */
  57.   { ISFUNC, rl_get_previous_history },    /* Control-p */
  58.   { ISFUNC, rl_quoted_insert },        /* Control-q */
  59.   { ISFUNC, rl_reverse_search_history }, /* Control-r */
  60.   { ISFUNC, rl_forward_search_history }, /* Control-s */
  61.   { ISFUNC, rl_transpose_chars },    /* Control-t */
  62.   { ISFUNC, rl_unix_line_discard },    /* Control-u */
  63.   { ISFUNC, rl_quoted_insert },        /* Control-v */
  64.   { ISFUNC, rl_unix_word_rubout },    /* Control-w */
  65.   { ISKMAP, (Function *)emacs_ctlx_keymap },    /* Control-x */
  66.   { ISFUNC, rl_yank },            /* Control-y */
  67.   { ISFUNC, (Function *)0x0 },        /* Control-z */
  68.   { ISKMAP, (Function *)emacs_meta_keymap }, /* Control-[ */
  69.   { ISFUNC, (Function *)0x0 },        /* Control-\ */
  70.   { ISFUNC, rl_char_search },        /* Control-] */
  71.   { ISFUNC, (Function *)0x0 },        /* Control-^ */
  72.   { ISFUNC, rl_undo_command },        /* Control-_ */
  73.  
  74.   /* The start of printing characters. */
  75.   { ISFUNC, rl_insert },    /* SPACE */
  76.   { ISFUNC, rl_insert },    /* ! */
  77.   { ISFUNC, rl_insert },    /* " */
  78.   { ISFUNC, rl_insert },    /* # */
  79.   { ISFUNC, rl_insert },    /* $ */
  80.   { ISFUNC, rl_insert },    /* % */
  81.   { ISFUNC, rl_insert },    /* & */
  82.   { ISFUNC, rl_insert },    /* ' */
  83.   { ISFUNC, rl_insert },    /* ( */
  84. #if defined (PAREN_MATCHING)
  85.   { ISFUNC, rl_insert_close },    /* ) */
  86. #else
  87.   { ISFUNC, rl_insert },    /* ) */
  88. #endif /* !PAREN_MATCHING */
  89.   { ISFUNC, rl_insert },    /* * */
  90.   { ISFUNC, rl_insert },    /* + */
  91.   { ISFUNC, rl_insert },    /* , */
  92.   { ISFUNC, rl_insert },    /* - */
  93.   { ISFUNC, rl_insert },    /* . */
  94.   { ISFUNC, rl_insert },    /* / */
  95.  
  96.   /* Regular digits. */
  97.   { ISFUNC, rl_insert },    /* 0 */
  98.   { ISFUNC, rl_insert },    /* 1 */
  99.   { ISFUNC, rl_insert },    /* 2 */
  100.   { ISFUNC, rl_insert },    /* 3 */
  101.   { ISFUNC, rl_insert },    /* 4 */
  102.   { ISFUNC, rl_insert },    /* 5 */
  103.   { ISFUNC, rl_insert },    /* 6 */
  104.   { ISFUNC, rl_insert },    /* 7 */
  105.   { ISFUNC, rl_insert },    /* 8 */
  106.   { ISFUNC, rl_insert },    /* 9 */
  107.  
  108.   /* A little more punctuation. */
  109.   { ISFUNC, rl_insert },    /* : */
  110.   { ISFUNC, rl_insert },    /* ; */
  111.   { ISFUNC, rl_insert },    /* < */
  112.   { ISFUNC, rl_insert },    /* = */
  113.   { ISFUNC, rl_insert },    /* > */
  114.   { ISFUNC, rl_insert },    /* ? */
  115.   { ISFUNC, rl_insert },    /* @ */
  116.  
  117.   /* Uppercase alphabet. */
  118.   { ISFUNC, rl_insert },    /* A */
  119.   { ISFUNC, rl_insert },    /* B */
  120.   { ISFUNC, rl_insert },    /* C */
  121.   { ISFUNC, rl_insert },    /* D */
  122.   { ISFUNC, rl_insert },    /* E */
  123.   { ISFUNC, rl_insert },    /* F */
  124.   { ISFUNC, rl_insert },    /* G */
  125.   { ISFUNC, rl_insert },    /* H */
  126.   { ISFUNC, rl_insert },    /* I */
  127.   { ISFUNC, rl_insert },    /* J */
  128.   { ISFUNC, rl_insert },    /* K */
  129.   { ISFUNC, rl_insert },    /* L */
  130.   { ISFUNC, rl_insert },    /* M */
  131.   { ISFUNC, rl_insert },    /* N */
  132.   { ISFUNC, rl_insert },    /* O */
  133.   { ISFUNC, rl_insert },    /* P */
  134.   { ISFUNC, rl_insert },    /* Q */
  135.   { ISFUNC, rl_insert },    /* R */
  136.   { ISFUNC, rl_insert },    /* S */
  137.   { ISFUNC, rl_insert },    /* T */
  138.   { ISFUNC, rl_insert },    /* U */
  139.   { ISFUNC, rl_insert },    /* V */
  140.   { ISFUNC, rl_insert },    /* W */
  141.   { ISFUNC, rl_insert },    /* X */
  142.   { ISFUNC, rl_insert },    /* Y */
  143.   { ISFUNC, rl_insert },    /* Z */
  144.  
  145.   /* Some more punctuation. */
  146.   { ISFUNC, rl_insert },    /* [ */
  147.   { ISFUNC, rl_insert },    /* \ */
  148. #if defined (PAREN_MATCHING)
  149.   { ISFUNC, rl_insert_close },    /* ] */
  150. #else
  151.   { ISFUNC, rl_insert },    /* ] */
  152. #endif /* !PAREN_MATCHING */
  153.   { ISFUNC, rl_insert },    /* ^ */
  154.   { ISFUNC, rl_insert },    /* _ */
  155.   { ISFUNC, rl_insert },    /* ` */
  156.  
  157.   /* Lowercase alphabet. */
  158.   { ISFUNC, rl_insert },    /* a */
  159.   { ISFUNC, rl_insert },    /* b */
  160.   { ISFUNC, rl_insert },    /* c */
  161.   { ISFUNC, rl_insert },    /* d */
  162.   { ISFUNC, rl_insert },    /* e */
  163.   { ISFUNC, rl_insert },    /* f */
  164.   { ISFUNC, rl_insert },    /* g */
  165.   { ISFUNC, rl_insert },    /* h */
  166.   { ISFUNC, rl_insert },    /* i */
  167.   { ISFUNC, rl_insert },    /* j */
  168.   { ISFUNC, rl_insert },    /* k */
  169.   { ISFUNC, rl_insert },    /* l */
  170.   { ISFUNC, rl_insert },    /* m */
  171.   { ISFUNC, rl_insert },    /* n */
  172.   { ISFUNC, rl_insert },    /* o */
  173.   { ISFUNC, rl_insert },    /* p */
  174.   { ISFUNC, rl_insert },    /* q */
  175.   { ISFUNC, rl_insert },    /* r */
  176.   { ISFUNC, rl_insert },    /* s */
  177.   { ISFUNC, rl_insert },    /* t */
  178.   { ISFUNC, rl_insert },    /* u */
  179.   { ISFUNC, rl_insert },    /* v */
  180.   { ISFUNC, rl_insert },    /* w */
  181.   { ISFUNC, rl_insert },    /* x */
  182.   { ISFUNC, rl_insert },    /* y */
  183.   { ISFUNC, rl_insert },    /* z */
  184.  
  185.   /* Final punctuation. */
  186.   { ISFUNC, rl_insert },    /* { */
  187.   { ISFUNC, rl_insert },    /* | */
  188. #if defined (PAREN_MATCHING)
  189.   { ISFUNC, rl_insert_close },    /* } */
  190. #else
  191.   { ISFUNC, rl_insert },    /* } */
  192. #endif /* !PAREN_MATCHING */
  193.   { ISFUNC, rl_insert },    /* ~ */
  194.   { ISFUNC, rl_rubout },    /* RUBOUT */
  195.  
  196. #if KEYMAP_SIZE > 128
  197.   /* Pure 8-bit characters (128 - 159).
  198.      These might be used in some
  199.      character sets. */
  200.   { ISFUNC, rl_insert },    /* ? */
  201.   { ISFUNC, rl_insert },    /* ? */
  202.   { ISFUNC, rl_insert },    /* ? */
  203.   { ISFUNC, rl_insert },    /* ? */
  204.   { ISFUNC, rl_insert },    /* ? */
  205.   { ISFUNC, rl_insert },    /* ? */
  206.   { ISFUNC, rl_insert },    /* ? */
  207.   { ISFUNC, rl_insert },    /* ? */
  208.   { ISFUNC, rl_insert },    /* ? */
  209.   { ISFUNC, rl_insert },    /* ? */
  210.   { ISFUNC, rl_insert },    /* ? */
  211.   { ISFUNC, rl_insert },    /* ? */
  212.   { ISFUNC, rl_insert },    /* ? */
  213.   { ISFUNC, rl_insert },    /* ? */
  214.   { ISFUNC, rl_insert },    /* ? */
  215.   { ISFUNC, rl_insert },    /* ? */
  216.   { ISFUNC, rl_insert },    /* ? */
  217.   { ISFUNC, rl_insert },    /* ? */
  218.   { ISFUNC, rl_insert },    /* ? */
  219.   { ISFUNC, rl_insert },    /* ? */
  220.   { ISFUNC, rl_insert },    /* ? */
  221.   { ISFUNC, rl_insert },    /* ? */
  222.   { ISFUNC, rl_insert },    /* ? */
  223.   { ISFUNC, rl_insert },    /* ? */
  224.   { ISFUNC, rl_insert },    /* ? */
  225.   { ISFUNC, rl_insert },    /* ? */
  226.   { ISFUNC, rl_insert },    /* ? */
  227.   { ISFUNC, rl_insert },    /* ? */
  228.   { ISFUNC, rl_insert },    /* ? */
  229.   { ISFUNC, rl_insert },    /* ? */
  230.   { ISFUNC, rl_insert },    /* ? */
  231.   { ISFUNC, rl_insert },    /* ? */
  232.  
  233.   /* ISO Latin-1 characters (160 - 255) */
  234.   { ISFUNC, rl_insert },    /* No-break space */
  235.   { ISFUNC, rl_insert },    /* Inverted exclamation mark */
  236.   { ISFUNC, rl_insert },    /* Cent sign */
  237.   { ISFUNC, rl_insert },    /* Pound sign */
  238.   { ISFUNC, rl_insert },    /* Currency sign */
  239.   { ISFUNC, rl_insert },    /* Yen sign */
  240.   { ISFUNC, rl_insert },    /* Broken bar */
  241.   { ISFUNC, rl_insert },    /* Section sign */
  242.   { ISFUNC, rl_insert },    /* Diaeresis */
  243.   { ISFUNC, rl_insert },    /* Copyright sign */
  244.   { ISFUNC, rl_insert },    /* Feminine ordinal indicator */
  245.   { ISFUNC, rl_insert },    /* Left pointing double angle quotation mark */
  246.   { ISFUNC, rl_insert },    /* Not sign */
  247.   { ISFUNC, rl_insert },    /* Soft hyphen */
  248.   { ISFUNC, rl_insert },    /* Registered sign */
  249.   { ISFUNC, rl_insert },    /* Macron */
  250.   { ISFUNC, rl_insert },    /* Degree sign */
  251.   { ISFUNC, rl_insert },    /* Plus-minus sign */
  252.   { ISFUNC, rl_insert },    /* Superscript two */
  253.   { ISFUNC, rl_insert },    /* Superscript three */
  254.   { ISFUNC, rl_insert },    /* Acute accent */
  255.   { ISFUNC, rl_insert },    /* Micro sign */
  256.   { ISFUNC, rl_insert },    /* Pilcrow sign */
  257.   { ISFUNC, rl_insert },    /* Middle dot */
  258.   { ISFUNC, rl_insert },    /* Cedilla */
  259.   { ISFUNC, rl_insert },    /* Superscript one */
  260.   { ISFUNC, rl_insert },    /* Masculine ordinal indicator */
  261.   { ISFUNC, rl_insert },    /* Right pointing double angle quotation mark */
  262.   { ISFUNC, rl_insert },    /* Vulgar fraction one quarter */
  263.   { ISFUNC, rl_insert },    /* Vulgar fraction one half */
  264.   { ISFUNC, rl_insert },    /* Vulgar fraction three quarters */
  265.   { ISFUNC, rl_insert },    /* Inverted questionk mark */
  266.   { ISFUNC, rl_insert },    /* Latin capital letter a with grave */
  267.   { ISFUNC, rl_insert },    /* Latin capital letter a with acute */
  268.   { ISFUNC, rl_insert },    /* Latin capital letter a with circumflex */
  269.   { ISFUNC, rl_insert },    /* Latin capital letter a with tilde */
  270.   { ISFUNC, rl_insert },    /* Latin capital letter a with diaeresis */
  271.   { ISFUNC, rl_insert },    /* Latin capital letter a with ring above */
  272.   { ISFUNC, rl_insert },    /* Latin capital letter ae */
  273.   { ISFUNC, rl_insert },    /* Latin capital letter c with cedilla */
  274.   { ISFUNC, rl_insert },    /* Latin capital letter e with grave */
  275.   { ISFUNC, rl_insert },    /* Latin capital letter e with acute */
  276.   { ISFUNC, rl_insert },    /* Latin capital letter e with circumflex */
  277.   { ISFUNC, rl_insert },    /* Latin capital letter e with diaeresis */
  278.   { ISFUNC, rl_insert },    /* Latin capital letter i with grave */
  279.   { ISFUNC, rl_insert },    /* Latin capital letter i with acute */
  280.   { ISFUNC, rl_insert },    /* Latin capital letter i with circumflex */
  281.   { ISFUNC, rl_insert },    /* Latin capital letter i with diaeresis */
  282.   { ISFUNC, rl_insert },    /* Latin capital letter eth (Icelandic) */
  283.   { ISFUNC, rl_insert },    /* Latin capital letter n with tilde */
  284.   { ISFUNC, rl_insert },    /* Latin capital letter o with grave */
  285.   { ISFUNC, rl_insert },    /* Latin capital letter o with acute */
  286.   { ISFUNC, rl_insert },    /* Latin capital letter o with circumflex */
  287.   { ISFUNC, rl_insert },    /* Latin capital letter o with tilde */
  288.   { ISFUNC, rl_insert },    /* Latin capital letter o with diaeresis */
  289.   { ISFUNC, rl_insert },    /* Multiplication sign */
  290.   { ISFUNC, rl_insert },    /* Latin capital letter o with stroke */
  291.   { ISFUNC, rl_insert },    /* Latin capital letter u with grave */
  292.   { ISFUNC, rl_insert },    /* Latin capital letter u with acute */
  293.   { ISFUNC, rl_insert },    /* Latin capital letter u with circumflex */
  294.   { ISFUNC, rl_insert },    /* Latin capital letter u with diaeresis */
  295.   { ISFUNC, rl_insert },    /* Latin capital letter Y with acute */
  296.   { ISFUNC, rl_insert },    /* Latin capital letter thorn (Icelandic) */
  297.   { ISFUNC, rl_insert },    /* Latin small letter sharp s (German) */
  298.   { ISFUNC, rl_insert },    /* Latin small letter a with grave */
  299.   { ISFUNC, rl_insert },    /* Latin small letter a with acute */
  300.   { ISFUNC, rl_insert },    /* Latin small letter a with circumflex */
  301.   { ISFUNC, rl_insert },    /* Latin small letter a with tilde */
  302.   { ISFUNC, rl_insert },    /* Latin small letter a with diaeresis */
  303.   { ISFUNC, rl_insert },    /* Latin small letter a with ring above */
  304.   { ISFUNC, rl_insert },    /* Latin small letter ae */
  305.   { ISFUNC, rl_insert },    /* Latin small letter c with cedilla */
  306.   { ISFUNC, rl_insert },    /* Latin small letter e with grave */
  307.   { ISFUNC, rl_insert },    /* Latin small letter e with acute */
  308.   { ISFUNC, rl_insert },    /* Latin small letter e with circumflex */
  309.   { ISFUNC, rl_insert },    /* Latin small letter e with diaeresis */
  310.   { ISFUNC, rl_insert },    /* Latin small letter i with grave */
  311.   { ISFUNC, rl_insert },    /* Latin small letter i with acute */
  312.   { ISFUNC, rl_insert },    /* Latin small letter i with circumflex */
  313.   { ISFUNC, rl_insert },    /* Latin small letter i with diaeresis */
  314.   { ISFUNC, rl_insert },    /* Latin small letter eth (Icelandic) */
  315.   { ISFUNC, rl_insert },    /* Latin small letter n with tilde */
  316.   { ISFUNC, rl_insert },    /* Latin small letter o with grave */
  317.   { ISFUNC, rl_insert },    /* Latin small letter o with acute */
  318.   { ISFUNC, rl_insert },    /* Latin small letter o with circumflex */
  319.   { ISFUNC, rl_insert },    /* Latin small letter o with tilde */
  320.   { ISFUNC, rl_insert },    /* Latin small letter o with diaeresis */
  321.   { ISFUNC, rl_insert },    /* Division sign */
  322.   { ISFUNC, rl_insert },    /* Latin small letter o with stroke */
  323.   { ISFUNC, rl_insert },    /* Latin small letter u with grave */
  324.   { ISFUNC, rl_insert },    /* Latin small letter u with acute */
  325.   { ISFUNC, rl_insert },    /* Latin small letter u with circumflex */
  326.   { ISFUNC, rl_insert },    /* Latin small letter u with diaeresis */
  327.   { ISFUNC, rl_insert },    /* Latin small letter y with acute */
  328.   { ISFUNC, rl_insert },    /* Latin small letter thorn (Icelandic) */
  329.   { ISFUNC, rl_insert }        /* Latin small letter y with diaeresis */
  330. #endif /* KEYMAP_SIZE > 128 */
  331. };
  332.  
  333. KEYMAP_ENTRY_ARRAY emacs_meta_keymap = {
  334.  
  335.   /* Meta keys.  Just like above, but the high bit is set. */
  336.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-@ */
  337.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-a */
  338.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-b */
  339.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-c */
  340.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-d */
  341.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-e */
  342.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-f */
  343.   { ISFUNC, rl_abort },        /* Meta-Control-g */
  344.   { ISFUNC, rl_backward_kill_word },    /* Meta-Control-h */
  345.   { ISFUNC, rl_tab_insert },    /* Meta-Control-i */
  346.   { ISFUNC, rl_vi_editing_mode }, /* Meta-Control-j */
  347.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-k */
  348.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-l */
  349.   { ISFUNC, rl_vi_editing_mode }, /* Meta-Control-m */
  350.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-n */
  351.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-o */
  352.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-p */
  353.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-q */
  354.   { ISFUNC, rl_revert_line },    /* Meta-Control-r */
  355.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-s */
  356.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-t */
  357.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-u */
  358.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-v */
  359.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-w */
  360.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-x */
  361.   { ISFUNC, rl_yank_nth_arg },    /* Meta-Control-y */
  362.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-z */
  363.  
  364.   { ISFUNC, rl_complete },    /* Meta-Control-[ */
  365.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-\ */
  366.   { ISFUNC, rl_backward_char_search },    /* Meta-Control-] */
  367.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-^ */
  368.   { ISFUNC, (Function *)0x0 },    /* Meta-Control-_ */
  369.  
  370.   /* The start of printing characters. */
  371.   { ISFUNC, rl_set_mark },    /* Meta-SPACE */
  372.   { ISFUNC, (Function *)0x0 },    /* Meta-! */
  373.   { ISFUNC, (Function *)0x0 },    /* Meta-" */
  374.   { ISFUNC, rl_insert_comment },/* Meta-# */
  375.   { ISFUNC, (Function *)0x0 },    /* Meta-$ */
  376.   { ISFUNC, (Function *)0x0 },    /* Meta-% */
  377.   { ISFUNC, rl_tilde_expand },    /* Meta-& */
  378.   { ISFUNC, (Function *)0x0 },    /* Meta-' */
  379.   { ISFUNC, (Function *)0x0 },    /* Meta-( */
  380.   { ISFUNC, (Function *)0x0 },    /* Meta-) */
  381.   { ISFUNC, rl_insert_completions },    /* Meta-* */
  382.   { ISFUNC, (Function *)0x0 },    /* Meta-+ */
  383.   { ISFUNC, (Function *)0x0 },    /* Meta-, */
  384.   { ISFUNC, rl_digit_argument }, /* Meta-- */
  385.   { ISFUNC, rl_yank_last_arg},    /* Meta-. */
  386.   { ISFUNC, (Function *)0x0 },    /* Meta-/ */
  387.  
  388.   /* Regular digits. */
  389.   { ISFUNC, rl_digit_argument }, /* Meta-0 */
  390.   { ISFUNC, rl_digit_argument }, /* Meta-1 */
  391.   { ISFUNC, rl_digit_argument }, /* Meta-2 */
  392.   { ISFUNC, rl_digit_argument }, /* Meta-3 */
  393.   { ISFUNC, rl_digit_argument }, /* Meta-4 */
  394.   { ISFUNC, rl_digit_argument }, /* Meta-5 */
  395.   { ISFUNC, rl_digit_argument }, /* Meta-6 */
  396.   { ISFUNC, rl_digit_argument }, /* Meta-7 */
  397.   { ISFUNC, rl_digit_argument }, /* Meta-8 */
  398.   { ISFUNC, rl_digit_argument }, /* Meta-9 */
  399.  
  400.   /* A little more punctuation. */
  401.   { ISFUNC, (Function *)0x0 },        /* Meta-: */
  402.   { ISFUNC, (Function *)0x0 },        /* Meta-; */
  403.   { ISFUNC, rl_beginning_of_history },    /* Meta-< */
  404.   { ISFUNC, rl_possible_completions },    /* Meta-= */
  405.   { ISFUNC, rl_end_of_history },    /* Meta-> */
  406.   { ISFUNC, rl_possible_completions },    /* Meta-? */
  407.   { ISFUNC, (Function *)0x0 },        /* Meta-@ */
  408.  
  409.   /* Uppercase alphabet. */
  410.   { ISFUNC, rl_do_lowercase_version },    /* Meta-A */
  411.   { ISFUNC, rl_do_lowercase_version },    /* Meta-B */
  412.   { ISFUNC, rl_do_lowercase_version },    /* Meta-C */
  413.   { ISFUNC, rl_do_lowercase_version },    /* Meta-D */
  414.   { ISFUNC, rl_do_lowercase_version },    /* Meta-E */
  415.   { ISFUNC, rl_do_lowercase_version },    /* Meta-F */
  416.   { ISFUNC, rl_do_lowercase_version },    /* Meta-G */
  417.   { ISFUNC, rl_do_lowercase_version },    /* Meta-H */
  418.   { ISFUNC, rl_do_lowercase_version },    /* Meta-I */
  419.   { ISFUNC, rl_do_lowercase_version },    /* Meta-J */
  420.   { ISFUNC, rl_do_lowercase_version },    /* Meta-K */
  421.   { ISFUNC, rl_do_lowercase_version },    /* Meta-L */
  422.   { ISFUNC, rl_do_lowercase_version },    /* Meta-M */
  423.   { ISFUNC, rl_do_lowercase_version },    /* Meta-N */
  424.   { ISFUNC, rl_do_lowercase_version },    /* Meta-O */
  425.   { ISFUNC, rl_do_lowercase_version },    /* Meta-P */
  426.   { ISFUNC, rl_do_lowercase_version },    /* Meta-Q */
  427.   { ISFUNC, rl_do_lowercase_version },    /* Meta-R */
  428.   { ISFUNC, rl_do_lowercase_version },    /* Meta-S */
  429.   { ISFUNC, rl_do_lowercase_version },    /* Meta-T */
  430.   { ISFUNC, rl_do_lowercase_version },    /* Meta-U */
  431.   { ISFUNC, rl_do_lowercase_version },    /* Meta-V */
  432.   { ISFUNC, rl_do_lowercase_version },    /* Meta-W */
  433.   { ISFUNC, rl_do_lowercase_version },    /* Meta-X */
  434.   { ISFUNC, rl_do_lowercase_version },    /* Meta-Y */
  435.   { ISFUNC, rl_do_lowercase_version },    /* Meta-Z */
  436.  
  437.   /* Some more punctuation. */
  438.   { ISFUNC, (Function *)0x0 },        /* Meta-[ */    /* was rl_arrow_keys */
  439.   { ISFUNC, rl_delete_horizontal_space },    /* Meta-\ */
  440.   { ISFUNC, (Function *)0x0 },        /* Meta-] */
  441.   { ISFUNC, (Function *)0x0 },        /* Meta-^ */
  442.   { ISFUNC, rl_yank_last_arg },        /* Meta-_ */
  443.   { ISFUNC, (Function *)0x0 },        /* Meta-` */
  444.  
  445.   /* Lowercase alphabet. */
  446.   { ISFUNC, (Function *)0x0 },    /* Meta-a */
  447.   { ISFUNC, rl_backward_word },    /* Meta-b */
  448.   { ISFUNC, rl_capitalize_word }, /* Meta-c */
  449.   { ISFUNC, rl_kill_word },    /* Meta-d */
  450.   { ISFUNC, (Function *)0x0 },    /* Meta-e */
  451.   { ISFUNC, rl_forward_word },    /* Meta-f */
  452.   { ISFUNC, (Function *)0x0 },    /* Meta-g */
  453.   { ISFUNC, (Function *)0x0 },    /* Meta-h */
  454.   { ISFUNC, (Function *)0x0 },    /* Meta-i */
  455.   { ISFUNC, (Function *)0x0 },    /* Meta-j */
  456.   { ISFUNC, (Function *)0x0 },    /* Meta-k */
  457.   { ISFUNC, rl_downcase_word },    /* Meta-l */
  458.   { ISFUNC, (Function *)0x0 },    /* Meta-m */
  459.   { ISFUNC, rl_noninc_forward_search },    /* Meta-n */
  460.   { ISFUNC, (Function *)0x0 },    /* Meta-o */    /* was rl_arrow_keys */
  461.   { ISFUNC, rl_noninc_reverse_search },    /* Meta-p */
  462.   { ISFUNC, (Function *)0x0 },    /* Meta-q */
  463.   { ISFUNC, rl_revert_line },    /* Meta-r */
  464.   { ISFUNC, (Function *)0x0 },    /* Meta-s */
  465.   { ISFUNC, rl_transpose_words }, /* Meta-t */
  466.   { ISFUNC, rl_upcase_word },    /* Meta-u */
  467.   { ISFUNC, (Function *)0x0 },    /* Meta-v */
  468.   { ISFUNC, (Function *)0x0 },    /* Meta-w */
  469.   { ISFUNC, (Function *)0x0 },    /* Meta-x */
  470.   { ISFUNC, rl_yank_pop },    /* Meta-y */
  471.   { ISFUNC, (Function *)0x0 },    /* Meta-z */
  472.  
  473.   /* Final punctuation. */
  474.   { ISFUNC, (Function *)0x0 },    /* Meta-{ */
  475.   { ISFUNC, (Function *)0x0 },    /* Meta-| */
  476.   { ISFUNC, (Function *)0x0 },    /* Meta-} */
  477.   { ISFUNC, rl_tilde_expand },    /* Meta-~ */
  478.   { ISFUNC, rl_backward_kill_word }, /* Meta-rubout */
  479.  
  480. #if KEYMAP_SIZE > 128
  481.   /* Undefined keys. */
  482.   { ISFUNC, (Function *)0x0 },
  483.   { ISFUNC, (Function *)0x0 },
  484.   { ISFUNC, (Function *)0x0 },
  485.   { ISFUNC, (Function *)0x0 },
  486.   { ISFUNC, (Function *)0x0 },
  487.   { ISFUNC, (Function *)0x0 },
  488.   { ISFUNC, (Function *)0x0 },
  489.   { ISFUNC, (Function *)0x0 },
  490.   { ISFUNC, (Function *)0x0 },
  491.   { ISFUNC, (Function *)0x0 },
  492.   { ISFUNC, (Function *)0x0 },
  493.   { ISFUNC, (Function *)0x0 },
  494.   { ISFUNC, (Function *)0x0 },
  495.   { ISFUNC, (Function *)0x0 },
  496.   { ISFUNC, (Function *)0x0 },
  497.   { ISFUNC, (Function *)0x0 },
  498.   { ISFUNC, (Function *)0x0 },
  499.   { ISFUNC, (Function *)0x0 },
  500.   { ISFUNC, (Function *)0x0 },
  501.   { ISFUNC, (Function *)0x0 },
  502.   { ISFUNC, (Function *)0x0 },
  503.   { ISFUNC, (Function *)0x0 },
  504.   { ISFUNC, (Function *)0x0 },
  505.   { ISFUNC, (Function *)0x0 },
  506.   { ISFUNC, (Function *)0x0 },
  507.   { ISFUNC, (Function *)0x0 },
  508.   { ISFUNC, (Function *)0x0 },
  509.   { ISFUNC, (Function *)0x0 },
  510.   { ISFUNC, (Function *)0x0 },
  511.   { ISFUNC, (Function *)0x0 },
  512.   { ISFUNC, (Function *)0x0 },
  513.   { ISFUNC, (Function *)0x0 },
  514.   { ISFUNC, (Function *)0x0 },
  515.   { ISFUNC, (Function *)0x0 },
  516.   { ISFUNC, (Function *)0x0 },
  517.   { ISFUNC, (Function *)0x0 },
  518.   { ISFUNC, (Function *)0x0 },
  519.   { ISFUNC, (Function *)0x0 },
  520.   { ISFUNC, (Function *)0x0 },
  521.   { ISFUNC, (Function *)0x0 },
  522.   { ISFUNC, (Function *)0x0 },
  523.   { ISFUNC, (Function *)0x0 },
  524.   { ISFUNC, (Function *)0x0 },
  525.   { ISFUNC, (Function *)0x0 },
  526.   { ISFUNC, (Function *)0x0 },
  527.   { ISFUNC, (Function *)0x0 },
  528.   { ISFUNC, (Function *)0x0 },
  529.   { ISFUNC, (Function *)0x0 },
  530.   { ISFUNC, (Function *)0x0 },
  531.   { ISFUNC, (Function *)0x0 },
  532.   { ISFUNC, (Function *)0x0 },
  533.   { ISFUNC, (Function *)0x0 },
  534.   { ISFUNC, (Function *)0x0 },
  535.   { ISFUNC, (Function *)0x0 },
  536.   { ISFUNC, (Function *)0x0 },
  537.   { ISFUNC, (Function *)0x0 },
  538.   { ISFUNC, (Function *)0x0 },
  539.   { ISFUNC, (Function *)0x0 },
  540.   { ISFUNC, (Function *)0x0 },
  541.   { ISFUNC, (Function *)0x0 },
  542.   { ISFUNC, (Function *)0x0 },
  543.   { ISFUNC, (Function *)0x0 },
  544.   { ISFUNC, (Function *)0x0 },
  545.   { ISFUNC, (Function *)0x0 },
  546.   { ISFUNC, (Function *)0x0 },
  547.   { ISFUNC, (Function *)0x0 },
  548.   { ISFUNC, (Function *)0x0 },
  549.   { ISFUNC, (Function *)0x0 },
  550.   { ISFUNC, (Function *)0x0 },
  551.   { ISFUNC, (Function *)0x0 },
  552.   { ISFUNC, (Function *)0x0 },
  553.   { ISFUNC, (Function *)0x0 },
  554.   { ISFUNC, (Function *)0x0 },
  555.   { ISFUNC, (Function *)0x0 },
  556.   { ISFUNC, (Function *)0x0 },
  557.   { ISFUNC, (Function *)0x0 },
  558.   { ISFUNC, (Function *)0x0 },
  559.   { ISFUNC, (Function *)0x0 },
  560.   { ISFUNC, (Function *)0x0 },
  561.   { ISFUNC, (Function *)0x0 },
  562.   { ISFUNC, (Function *)0x0 },
  563.   { ISFUNC, (Function *)0x0 },
  564.   { ISFUNC, (Function *)0x0 },
  565.   { ISFUNC, (Function *)0x0 },
  566.   { ISFUNC, (Function *)0x0 },
  567.   { ISFUNC, (Function *)0x0 },
  568.   { ISFUNC, (Function *)0x0 },
  569.   { ISFUNC, (Function *)0x0 },
  570.   { ISFUNC, (Function *)0x0 },
  571.   { ISFUNC, (Function *)0x0 },
  572.   { ISFUNC, (Function *)0x0 },
  573.   { ISFUNC, (Function *)0x0 },
  574.   { ISFUNC, (Function *)0x0 },
  575.   { ISFUNC, (Function *)0x0 },
  576.   { ISFUNC, (Function *)0x0 },
  577.   { ISFUNC, (Function *)0x0 },
  578.   { ISFUNC, (Function *)0x0 },
  579.   { ISFUNC, (Function *)0x0 },
  580.   { ISFUNC, (Function *)0x0 },
  581.   { ISFUNC, (Function *)0x0 },
  582.   { ISFUNC, (Function *)0x0 },
  583.   { ISFUNC, (Function *)0x0 },
  584.   { ISFUNC, (Function *)0x0 },
  585.   { ISFUNC, (Function *)0x0 },
  586.   { ISFUNC, (Function *)0x0 },
  587.   { ISFUNC, (Function *)0x0 },
  588.   { ISFUNC, (Function *)0x0 },
  589.   { ISFUNC, (Function *)0x0 },
  590.   { ISFUNC, (Function *)0x0 },
  591.   { ISFUNC, (Function *)0x0 },
  592.   { ISFUNC, (Function *)0x0 },
  593.   { ISFUNC, (Function *)0x0 },
  594.   { ISFUNC, (Function *)0x0 },
  595.   { ISFUNC, (Function *)0x0 },
  596.   { ISFUNC, (Function *)0x0 },
  597.   { ISFUNC, (Function *)0x0 },
  598.   { ISFUNC, (Function *)0x0 },
  599.   { ISFUNC, (Function *)0x0 },
  600.   { ISFUNC, (Function *)0x0 },
  601.   { ISFUNC, (Function *)0x0 },
  602.   { ISFUNC, (Function *)0x0 },
  603.   { ISFUNC, (Function *)0x0 },
  604.   { ISFUNC, (Function *)0x0 },
  605.   { ISFUNC, (Function *)0x0 },
  606.   { ISFUNC, (Function *)0x0 },
  607.   { ISFUNC, (Function *)0x0 },
  608.   { ISFUNC, (Function *)0x0 },
  609.   { ISFUNC, (Function *)0x0 }
  610. #endif /* KEYMAP_SIZE > 128 */
  611. };
  612.  
  613. KEYMAP_ENTRY_ARRAY emacs_ctlx_keymap = {
  614.  
  615.   /* Control keys. */
  616.   { ISFUNC, (Function *)0x0 },        /* Control-@ */
  617.   { ISFUNC, (Function *)0x0 },        /* Control-a */
  618.   { ISFUNC, (Function *)0x0 },        /* Control-b */
  619.   { ISFUNC, (Function *)0x0 },        /* Control-c */
  620.   { ISFUNC, (Function *)0x0 },        /* Control-d */
  621.   { ISFUNC, (Function *)0x0 },        /* Control-e */
  622.   { ISFUNC, (Function *)0x0 },        /* Control-f */
  623.   { ISFUNC, rl_abort },            /* Control-g */
  624.   { ISFUNC, (Function *)0x0 },        /* Control-h */
  625.   { ISFUNC, (Function *)0x0 },        /* Control-i */
  626.   { ISFUNC, (Function *)0x0 },        /* Control-j */
  627.   { ISFUNC, (Function *)0x0 },        /* Control-k */
  628.   { ISFUNC, (Function *)0x0 },        /* Control-l */
  629.   { ISFUNC, (Function *)0x0 },        /* Control-m */
  630.   { ISFUNC, (Function *)0x0 },        /* Control-n */
  631.   { ISFUNC, (Function *)0x0 },        /* Control-o */
  632.   { ISFUNC, (Function *)0x0 },        /* Control-p */
  633.   { ISFUNC, (Function *)0x0 },        /* Control-q */
  634.   { ISFUNC, rl_re_read_init_file },    /* Control-r */
  635.   { ISFUNC, (Function *)0x0 },        /* Control-s */
  636.   { ISFUNC, (Function *)0x0 },        /* Control-t */
  637.   { ISFUNC, rl_undo_command },        /* Control-u */
  638.   { ISFUNC, (Function *)0x0 },        /* Control-v */
  639.   { ISFUNC, (Function *)0x0 },        /* Control-w */
  640.   { ISFUNC, rl_exchange_point_and_mark },/* Control-x */
  641.   { ISFUNC, (Function *)0x0 },        /* Control-y */
  642.   { ISFUNC, (Function *)0x0 },        /* Control-z */
  643.   { ISFUNC, (Function *)0x0 },        /* Control-[ */
  644.   { ISFUNC, (Function *)0x0 },        /* Control-\ */
  645.   { ISFUNC, (Function *)0x0 },        /* Control-] */
  646.   { ISFUNC, (Function *)0x0 },        /* Control-^ */
  647.   { ISFUNC, (Function *)0x0 },        /* Control-_ */
  648.  
  649.   /* The start of printing characters. */
  650.   { ISFUNC, (Function *)0x0 },        /* SPACE */
  651.   { ISFUNC, (Function *)0x0 },        /* ! */
  652.   { ISFUNC, (Function *)0x0 },        /* " */
  653.   { ISFUNC, (Function *)0x0 },        /* # */
  654.   { ISFUNC, (Function *)0x0 },        /* $ */
  655.   { ISFUNC, (Function *)0x0 },        /* % */
  656.   { ISFUNC, (Function *)0x0 },        /* & */
  657.   { ISFUNC, (Function *)0x0 },        /* ' */
  658.   { ISFUNC, rl_start_kbd_macro },    /* ( */
  659.   { ISFUNC, rl_end_kbd_macro  },    /* ) */
  660.   { ISFUNC, (Function *)0x0 },        /* * */
  661.   { ISFUNC, (Function *)0x0 },        /* + */
  662.   { ISFUNC, (Function *)0x0 },        /* , */
  663.   { ISFUNC, (Function *)0x0 },        /* - */
  664.   { ISFUNC, (Function *)0x0 },        /* . */
  665.   { ISFUNC, (Function *)0x0 },        /* / */
  666.  
  667.   /* Regular digits. */
  668.   { ISFUNC, (Function *)0x0 },        /* 0 */
  669.   { ISFUNC, (Function *)0x0 },        /* 1 */
  670.   { ISFUNC, (Function *)0x0 },        /* 2 */
  671.   { ISFUNC, (Function *)0x0 },        /* 3 */
  672.   { ISFUNC, (Function *)0x0 },        /* 4 */
  673.   { ISFUNC, (Function *)0x0 },        /* 5 */
  674.   { ISFUNC, (Function *)0x0 },        /* 6 */
  675.   { ISFUNC, (Function *)0x0 },        /* 7 */
  676.   { ISFUNC, (Function *)0x0 },        /* 8 */
  677.   { ISFUNC, (Function *)0x0 },        /* 9 */
  678.  
  679.   /* A little more punctuation. */
  680.   { ISFUNC, (Function *)0x0 },    /* : */
  681.   { ISFUNC, (Function *)0x0 },    /* ; */
  682.   { ISFUNC, (Function *)0x0 },    /* < */
  683.   { ISFUNC, (Function *)0x0 },    /* = */
  684.   { ISFUNC, (Function *)0x0 },    /* > */
  685.   { ISFUNC, (Function *)0x0 },    /* ? */
  686.   { ISFUNC, (Function *)0x0 },    /* @ */
  687.  
  688.   /* Uppercase alphabet. */
  689.   { ISFUNC, rl_do_lowercase_version },    /* A */
  690.   { ISFUNC, rl_do_lowercase_version },    /* B */
  691.   { ISFUNC, rl_do_lowercase_version },    /* C */
  692.   { ISFUNC, rl_do_lowercase_version },    /* D */
  693.   { ISFUNC, rl_do_lowercase_version },    /* E */
  694.   { ISFUNC, rl_do_lowercase_version },    /* F */
  695.   { ISFUNC, rl_do_lowercase_version },    /* G */
  696.   { ISFUNC, rl_do_lowercase_version },    /* H */
  697.   { ISFUNC, rl_do_lowercase_version },    /* I */
  698.   { ISFUNC, rl_do_lowercase_version },    /* J */
  699.   { ISFUNC, rl_do_lowercase_version },    /* K */
  700.   { ISFUNC, rl_do_lowercase_version },    /* L */
  701.   { ISFUNC, rl_do_lowercase_version },    /* M */
  702.   { ISFUNC, rl_do_lowercase_version },    /* N */
  703.   { ISFUNC, rl_do_lowercase_version },    /* O */
  704.   { ISFUNC, rl_do_lowercase_version },    /* P */
  705.   { ISFUNC, rl_do_lowercase_version },    /* Q */
  706.   { ISFUNC, rl_do_lowercase_version },    /* R */
  707.   { ISFUNC, rl_do_lowercase_version },    /* S */
  708.   { ISFUNC, rl_do_lowercase_version },    /* T */
  709.   { ISFUNC, rl_do_lowercase_version },    /* U */
  710.   { ISFUNC, rl_do_lowercase_version },    /* V */
  711.   { ISFUNC, rl_do_lowercase_version },    /* W */
  712.   { ISFUNC, rl_do_lowercase_version },    /* X */
  713.   { ISFUNC, rl_do_lowercase_version },    /* Y */
  714.   { ISFUNC, rl_do_lowercase_version },    /* Z */
  715.  
  716.   /* Some more punctuation. */
  717.   { ISFUNC, (Function *)0x0 },        /* [ */
  718.   { ISFUNC, (Function *)0x0 },        /* \ */
  719.   { ISFUNC, (Function *)0x0 },        /* ] */
  720.   { ISFUNC, (Function *)0x0 },        /* ^ */
  721.   { ISFUNC, (Function *)0x0 },        /* _ */
  722.   { ISFUNC, (Function *)0x0 },        /* ` */
  723.  
  724.   /* Lowercase alphabet. */
  725.   { ISFUNC, (Function *)0x0 },        /* a */
  726.   { ISFUNC, (Function *)0x0 },        /* b */
  727.   { ISFUNC, (Function *)0x0 },        /* c */
  728.   { ISFUNC, (Function *)0x0 },        /* d */
  729.   { ISFUNC, rl_call_last_kbd_macro },    /* e */
  730.   { ISFUNC, (Function *)0x0 },        /* f */
  731.   { ISFUNC, (Function *)0x0 },        /* g */
  732.   { ISFUNC, (Function *)0x0 },        /* h */
  733.   { ISFUNC, (Function *)0x0 },        /* i */
  734.   { ISFUNC, (Function *)0x0 },        /* j */
  735.   { ISFUNC, (Function *)0x0 },        /* k */
  736.   { ISFUNC, (Function *)0x0 },        /* l */
  737.   { ISFUNC, (Function *)0x0 },        /* m */
  738.   { ISFUNC, (Function *)0x0 },        /* n */
  739.   { ISFUNC, (Function *)0x0 },        /* o */
  740.   { ISFUNC, (Function *)0x0 },        /* p */
  741.   { ISFUNC, (Function *)0x0 },        /* q */
  742.   { ISFUNC, (Function *)0x0 },        /* r */
  743.   { ISFUNC, (Function *)0x0 },        /* s */
  744.   { ISFUNC, (Function *)0x0 },        /* t */
  745.   { ISFUNC, (Function *)0x0 },        /* u */
  746.   { ISFUNC, (Function *)0x0 },        /* v */
  747.   { ISFUNC, (Function *)0x0 },        /* w */
  748.   { ISFUNC, (Function *)0x0 },        /* x */
  749.   { ISFUNC, (Function *)0x0 },        /* y */
  750.   { ISFUNC, (Function *)0x0 },        /* z */
  751.  
  752.   /* Final punctuation. */
  753.   { ISFUNC, (Function *)0x0 },        /* { */
  754.   { ISFUNC, (Function *)0x0 },        /* | */
  755.   { ISFUNC, (Function *)0x0 },        /* } */
  756.   { ISFUNC, (Function *)0x0 },        /* ~ */
  757.   { ISFUNC, rl_backward_kill_line },    /* RUBOUT */
  758.  
  759. #if KEYMAP_SIZE > 128
  760.   /* Undefined keys. */
  761.   { ISFUNC, (Function *)0x0 },
  762.   { ISFUNC, (Function *)0x0 },
  763.   { ISFUNC, (Function *)0x0 },
  764.   { ISFUNC, (Function *)0x0 },
  765.   { ISFUNC, (Function *)0x0 },
  766.   { ISFUNC, (Function *)0x0 },
  767.   { ISFUNC, (Function *)0x0 },
  768.   { ISFUNC, (Function *)0x0 },
  769.   { ISFUNC, (Function *)0x0 },
  770.   { ISFUNC, (Function *)0x0 },
  771.   { ISFUNC, (Function *)0x0 },
  772.   { ISFUNC, (Function *)0x0 },
  773.   { ISFUNC, (Function *)0x0 },
  774.   { ISFUNC, (Function *)0x0 },
  775.   { ISFUNC, (Function *)0x0 },
  776.   { ISFUNC, (Function *)0x0 },
  777.   { ISFUNC, (Function *)0x0 },
  778.   { ISFUNC, (Function *)0x0 },
  779.   { ISFUNC, (Function *)0x0 },
  780.   { ISFUNC, (Function *)0x0 },
  781.   { ISFUNC, (Function *)0x0 },
  782.   { ISFUNC, (Function *)0x0 },
  783.   { ISFUNC, (Function *)0x0 },
  784.   { ISFUNC, (Function *)0x0 },
  785.   { ISFUNC, (Function *)0x0 },
  786.   { ISFUNC, (Function *)0x0 },
  787.   { ISFUNC, (Function *)0x0 },
  788.   { ISFUNC, (Function *)0x0 },
  789.   { ISFUNC, (Function *)0x0 },
  790.   { ISFUNC, (Function *)0x0 },
  791.   { ISFUNC, (Function *)0x0 },
  792.   { ISFUNC, (Function *)0x0 },
  793.   { ISFUNC, (Function *)0x0 },
  794.   { ISFUNC, (Function *)0x0 },
  795.   { ISFUNC, (Function *)0x0 },
  796.   { ISFUNC, (Function *)0x0 },
  797.   { ISFUNC, (Function *)0x0 },
  798.   { ISFUNC, (Function *)0x0 },
  799.   { ISFUNC, (Function *)0x0 },
  800.   { ISFUNC, (Function *)0x0 },
  801.   { ISFUNC, (Function *)0x0 },
  802.   { ISFUNC, (Function *)0x0 },
  803.   { ISFUNC, (Function *)0x0 },
  804.   { ISFUNC, (Function *)0x0 },
  805.   { ISFUNC, (Function *)0x0 },
  806.   { ISFUNC, (Function *)0x0 },
  807.   { ISFUNC, (Function *)0x0 },
  808.   { ISFUNC, (Function *)0x0 },
  809.   { ISFUNC, (Function *)0x0 },
  810.   { ISFUNC, (Function *)0x0 },
  811.   { ISFUNC, (Function *)0x0 },
  812.   { ISFUNC, (Function *)0x0 },
  813.   { ISFUNC, (Function *)0x0 },
  814.   { ISFUNC, (Function *)0x0 },
  815.   { ISFUNC, (Function *)0x0 },
  816.   { ISFUNC, (Function *)0x0 },
  817.   { ISFUNC, (Function *)0x0 },
  818.   { ISFUNC, (Function *)0x0 },
  819.   { ISFUNC, (Function *)0x0 },
  820.   { ISFUNC, (Function *)0x0 },
  821.   { ISFUNC, (Function *)0x0 },
  822.   { ISFUNC, (Function *)0x0 },
  823.   { ISFUNC, (Function *)0x0 },
  824.   { ISFUNC, (Function *)0x0 },
  825.   { ISFUNC, (Function *)0x0 },
  826.   { ISFUNC, (Function *)0x0 },
  827.   { ISFUNC, (Function *)0x0 },
  828.   { ISFUNC, (Function *)0x0 },
  829.   { ISFUNC, (Function *)0x0 },
  830.   { ISFUNC, (Function *)0x0 },
  831.   { ISFUNC, (Function *)0x0 },
  832.   { ISFUNC, (Function *)0x0 },
  833.   { ISFUNC, (Function *)0x0 },
  834.   { ISFUNC, (Function *)0x0 },
  835.   { ISFUNC, (Function *)0x0 },
  836.   { ISFUNC, (Function *)0x0 },
  837.   { ISFUNC, (Function *)0x0 },
  838.   { ISFUNC, (Function *)0x0 },
  839.   { ISFUNC, (Function *)0x0 },
  840.   { ISFUNC, (Function *)0x0 },
  841.   { ISFUNC, (Function *)0x0 },
  842.   { ISFUNC, (Function *)0x0 },
  843.   { ISFUNC, (Function *)0x0 },
  844.   { ISFUNC, (Function *)0x0 },
  845.   { ISFUNC, (Function *)0x0 },
  846.   { ISFUNC, (Function *)0x0 },
  847.   { ISFUNC, (Function *)0x0 },
  848.   { ISFUNC, (Function *)0x0 },
  849.   { ISFUNC, (Function *)0x0 },
  850.   { ISFUNC, (Function *)0x0 },
  851.   { ISFUNC, (Function *)0x0 },
  852.   { ISFUNC, (Function *)0x0 },
  853.   { ISFUNC, (Function *)0x0 },
  854.   { ISFUNC, (Function *)0x0 },
  855.   { ISFUNC, (Function *)0x0 },
  856.   { ISFUNC, (Function *)0x0 },
  857.   { ISFUNC, (Function *)0x0 },
  858.   { ISFUNC, (Function *)0x0 },
  859.   { ISFUNC, (Function *)0x0 },
  860.   { ISFUNC, (Function *)0x0 },
  861.   { ISFUNC, (Function *)0x0 },
  862.   { ISFUNC, (Function *)0x0 },
  863.   { ISFUNC, (Function *)0x0 },
  864.   { ISFUNC, (Function *)0x0 },
  865.   { ISFUNC, (Function *)0x0 },
  866.   { ISFUNC, (Function *)0x0 },
  867.   { ISFUNC, (Function *)0x0 },
  868.   { ISFUNC, (Function *)0x0 },
  869.   { ISFUNC, (Function *)0x0 },
  870.   { ISFUNC, (Function *)0x0 },
  871.   { ISFUNC, (Function *)0x0 },
  872.   { ISFUNC, (Function *)0x0 },
  873.   { ISFUNC, (Function *)0x0 },
  874.   { ISFUNC, (Function *)0x0 },
  875.   { ISFUNC, (Function *)0x0 },
  876.   { ISFUNC, (Function *)0x0 },
  877.   { ISFUNC, (Function *)0x0 },
  878.   { ISFUNC, (Function *)0x0 },
  879.   { ISFUNC, (Function *)0x0 },
  880.   { ISFUNC, (Function *)0x0 },
  881.   { ISFUNC, (Function *)0x0 },
  882.   { ISFUNC, (Function *)0x0 },
  883.   { ISFUNC, (Function *)0x0 },
  884.   { ISFUNC, (Function *)0x0 },
  885.   { ISFUNC, (Function *)0x0 },
  886.   { ISFUNC, (Function *)0x0 },
  887.   { ISFUNC, (Function *)0x0 },
  888.   { ISFUNC, (Function *)0x0 }
  889. #endif /* KEYMAP_SIZE > 128 */
  890. };
  891.  
  892. #if defined (__EMX__)
  893.  
  894. KEYMAP_ENTRY_ARRAY emacs_emx_keymap = {
  895.   { ISFUNC, (Function *)0x0 },      /*   0 */
  896.   { ISFUNC, (Function *)0x0 },      /*   1 */
  897.   { ISFUNC, (Function *)0x0 },      /*   2 */
  898.   { ISFUNC, (Function *)0x0 },      /*   3 */
  899.   { ISFUNC, (Function *)0x0 },      /*   4 */
  900.   { ISFUNC, (Function *)0x0 },      /*   5 */
  901.   { ISFUNC, (Function *)0x0 },      /*   6 */
  902.   { ISFUNC, (Function *)0x0 },      /*   7 */
  903.   { ISFUNC, (Function *)0x0 },      /*   8 */
  904.   { ISFUNC, (Function *)0x0 },      /*   9 */
  905.   { ISFUNC, (Function *)0x0 },      /*  10 */
  906.   { ISFUNC, (Function *)0x0 },      /*  11 */
  907.   { ISFUNC, (Function *)0x0 },      /*  12 */
  908.   { ISFUNC, (Function *)0x0 },      /*  13 */
  909.   { ISFUNC, (Function *)0x0 },      /*  14 */
  910.   { ISFUNC, (Function *)0x0 },      /*  15 */
  911.   { ISFUNC, (Function *)0x0 },      /*  16 */
  912.   { ISFUNC, (Function *)0x0 },      /*  17 */
  913.   { ISFUNC, (Function *)0x0 },      /*  18 */
  914.   { ISFUNC, (Function *)0x0 },      /*  19 */
  915.   { ISFUNC, (Function *)0x0 },      /*  20 */
  916.   { ISFUNC, (Function *)0x0 },      /*  21 */
  917.   { ISFUNC, (Function *)0x0 },      /*  22 */
  918.   { ISFUNC, (Function *)0x0 },      /*  23 */
  919.   { ISFUNC, (Function *)0x0 },      /*  24 */
  920.   { ISFUNC, (Function *)0x0 },      /*  25 */
  921.   { ISFUNC, (Function *)0x0 },      /*  26 */
  922.   { ISFUNC, (Function *)0x0 },      /*  27 */
  923.   { ISFUNC, (Function *)0x0 },      /*  28 */
  924.   { ISFUNC, (Function *)0x0 },      /*  29 */
  925.   { ISFUNC, (Function *)0x0 },      /*  30 */
  926.   { ISFUNC, (Function *)0x0 },      /*  31 */
  927.   { ISFUNC, (Function *)0x0 },      /*  32 */
  928.   { ISFUNC, (Function *)0x0 },      /*  33 */
  929.   { ISFUNC, (Function *)0x0 },      /*  34 */
  930.   { ISFUNC, (Function *)0x0 },      /*  35 */
  931.   { ISFUNC, (Function *)0x0 },      /*  36 */
  932.   { ISFUNC, (Function *)0x0 },      /*  37 */
  933.   { ISFUNC, (Function *)0x0 },      /*  38 */
  934.   { ISFUNC, (Function *)0x0 },      /*  39 */
  935.   { ISFUNC, (Function *)0x0 },      /*  40 */
  936.   { ISFUNC, (Function *)0x0 },      /*  41 */
  937.   { ISFUNC, (Function *)0x0 },      /*  42 */
  938.   { ISFUNC, (Function *)0x0 },      /*  43 */
  939.   { ISFUNC, (Function *)0x0 },      /*  44 */
  940.   { ISFUNC, (Function *)0x0 },      /*  45 */
  941.   { ISFUNC, (Function *)0x0 },      /*  46 */
  942.   { ISFUNC, (Function *)0x0 },      /*  47 */
  943.   { ISFUNC, (Function *)0x0 },      /*  48 */
  944.   { ISFUNC, (Function *)0x0 },      /*  49 */
  945.   { ISFUNC, (Function *)0x0 },      /*  50 */
  946.   { ISFUNC, (Function *)0x0 },      /*  51 */
  947.   { ISFUNC, (Function *)0x0 },      /*  52 */
  948.   { ISFUNC, (Function *)0x0 },      /*  53 */
  949.   { ISFUNC, (Function *)0x0 },      /*  54 */
  950.   { ISFUNC, (Function *)0x0 },      /*  55 */
  951.   { ISFUNC, (Function *)0x0 },      /*  56 */
  952.   { ISFUNC, (Function *)0x0 },      /*  57 */
  953.   { ISFUNC, (Function *)0x0 },      /*  58 */
  954.   { ISFUNC, (Function *)0x0 },      /*  59 */
  955.   { ISFUNC, (Function *)0x0 },      /*  60 */
  956.   { ISFUNC, (Function *)0x0 },      /*  61 */
  957.   { ISFUNC, (Function *)0x0 },      /*  62 */
  958.   { ISFUNC, (Function *)0x0 },      /*  63 */
  959.   { ISFUNC, (Function *)0x0 },      /*  64 */
  960.   { ISFUNC, (Function *)0x0 },      /*  65 */
  961.   { ISFUNC, (Function *)0x0 },      /*  66 */
  962.   { ISFUNC, (Function *)0x0 },      /*  67 */
  963.   { ISFUNC, (Function *)0x0 },      /*  68 */
  964.   { ISFUNC, (Function *)0x0 },      /*  69 */
  965.   { ISFUNC, (Function *)0x0 },      /*  70 */
  966.   { ISFUNC, rl_beg_of_line },       /*  71: home */
  967.   { ISFUNC, rl_get_previous_history }, /*  72: cursor up */
  968.   { ISFUNC, rl_beginning_of_history }, /*  73: page up */
  969.   { ISFUNC, (Function *)0x0 },      /*  74 */
  970.   { ISFUNC, rl_backward },          /*  75: cursor left */
  971.   { ISFUNC, (Function *)0x0 },      /*  76: center cursor */
  972.   { ISFUNC, rl_forward },           /*  77: cursor right */
  973.   { ISFUNC, (Function *)0x0 },      /*  78 */
  974.   { ISFUNC, rl_end_of_line },       /*  79: end */
  975.   { ISFUNC, rl_get_next_history },  /*  80: cursor down */
  976.   { ISFUNC, rl_end_of_history },    /*  81: page down */
  977.   { ISFUNC, (Function *)0x0 },      /*  82: ins */
  978.   { ISFUNC, rl_delete },            /*  83: del */
  979.   { ISFUNC, (Function *)0x0 },      /*  84 */
  980.   { ISFUNC, (Function *)0x0 },      /*  85 */
  981.   { ISFUNC, (Function *)0x0 },      /*  86 */
  982.   { ISFUNC, (Function *)0x0 },      /*  87 */
  983.   { ISFUNC, (Function *)0x0 },      /*  88 */
  984.   { ISFUNC, (Function *)0x0 },      /*  89 */
  985.   { ISFUNC, (Function *)0x0 },      /*  90 */
  986.   { ISFUNC, (Function *)0x0 },      /*  91 */
  987.   { ISFUNC, (Function *)0x0 },      /*  92 */
  988.   { ISFUNC, (Function *)0x0 },      /*  93 */
  989.   { ISFUNC, (Function *)0x0 },      /*  94 */
  990.   { ISFUNC, (Function *)0x0 },      /*  95 */
  991.   { ISFUNC, (Function *)0x0 },      /*  96 */
  992.   { ISFUNC, (Function *)0x0 },      /*  97 */
  993.   { ISFUNC, (Function *)0x0 },      /*  98 */
  994.   { ISFUNC, (Function *)0x0 },      /*  99 */
  995.   { ISFUNC, (Function *)0x0 },      /* 100 */
  996.   { ISFUNC, (Function *)0x0 },      /* 101 */
  997.   { ISFUNC, (Function *)0x0 },      /* 102 */
  998.   { ISFUNC, (Function *)0x0 },      /* 103 */
  999.   { ISFUNC, (Function *)0x0 },      /* 104 */
  1000.   { ISFUNC, (Function *)0x0 },      /* 105 */
  1001.   { ISFUNC, (Function *)0x0 },      /* 106 */
  1002.   { ISFUNC, (Function *)0x0 },      /* 107 */
  1003.   { ISFUNC, (Function *)0x0 },      /* 108 */
  1004.   { ISFUNC, (Function *)0x0 },      /* 109 */
  1005.   { ISFUNC, (Function *)0x0 },      /* 110 */
  1006.   { ISFUNC, (Function *)0x0 },      /* 111 */
  1007.   { ISFUNC, (Function *)0x0 },      /* 112 */
  1008.   { ISFUNC, (Function *)0x0 },      /* 113 */
  1009.   { ISFUNC, (Function *)0x0 },      /* 114 */
  1010.   { ISFUNC, rl_backward_word },     /* 115: ctrl cursor left */
  1011.   { ISFUNC, rl_forward_word },      /* 116: ctrl cursor right */
  1012.   { ISFUNC, rl_kill_line },         /* 117: ctrl end */
  1013.   { ISFUNC, (Function *)0x0 },      /* 118: ctrl page down */
  1014.   { ISFUNC, rl_backward_kill_line },/* 119: ctrl home */
  1015.   { ISFUNC, (Function *)0x0 },      /* 120: alt 1 */
  1016.   { ISFUNC, (Function *)0x0 },      /* 121 */
  1017.   { ISFUNC, (Function *)0x0 },      /* 122 */
  1018.   { ISFUNC, (Function *)0x0 },      /* 123 */
  1019.   { ISFUNC, (Function *)0x0 },      /* 124 */
  1020.   { ISFUNC, (Function *)0x0 },      /* 125 */
  1021.   { ISFUNC, (Function *)0x0 },      /* 126 */
  1022.   { ISFUNC, (Function *)0x0 },      /* 127 */
  1023. };
  1024.  
  1025. #endif
  1026.