[ dejagnu/ChangeLog ]
[deliverable/binutils-gdb.git] / readline / vi_keymap.c
index 5464dad61388d76f8468eef923e6f92d6c93898b..cf6724cef134b37b1621314839d546f01cf95579 100644 (file)
@@ -1,35 +1,37 @@
 /* vi_keymap.c -- the keymap for vi_mode in readline (). */
 
-/* Copyright (C) 1988,1989 Free Software Foundation, Inc.
+/* Copyright (C) 1987, 1989, 1992 Free Software Foundation, Inc.
 
-   This file is part of GNU Readline, a library for reading lines
-   of text with interactive input and history editing.
+   This file is part of the GNU Readline Library, a library for
+   reading lines of text with interactive input and history editing.
 
-   Readline is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published by the
-   Free Software Foundation; either version 1, or (at your option) any
-   later version.
+   The GNU Readline Library is free software; you can redistribute it
+   and/or modify it under the terms of the GNU General Public License
+   as published by the Free Software Foundation; either version 2, or
+   (at your option) any later version.
 
-   Readline is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
+   The GNU Readline Library is distributed in the hope that it will be
+   useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+   of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with Readline; see the file COPYING.  If not, write to the Free
-   Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+   The GNU General Public License is often shipped with GNU software, and
+   is generally kept in a file called COPYING or LICENSE.  If you do not
+   have a copy of the license, write to the Free Software Foundation,
+   59 Temple Place, Suite 330, Boston, MA 02111 USA. */
 
-#ifndef BUFSIZ
+#if !defined (BUFSIZ)
 #include <stdio.h>
-#endif /* BUFSIZ */
+#endif /* !BUFSIZ */
 
 #include "readline.h"
 
+#if 0
 extern KEYMAP_ENTRY_ARRAY vi_escape_keymap;
+#endif
 
 /* The keymap arrays for handling vi mode. */
 KEYMAP_ENTRY_ARRAY vi_movement_keymap = {
-
   /* The regular control keys come first. */
   { ISFUNC, (Function *)0x0 },         /* Control-@ */
   { ISFUNC, (Function *)0x0 },         /* Control-a */
@@ -39,7 +41,7 @@ KEYMAP_ENTRY_ARRAY vi_movement_keymap = {
   { ISFUNC, rl_emacs_editing_mode },   /* Control-e */
   { ISFUNC, (Function *)0x0 },         /* Control-f */
   { ISFUNC, rl_abort },                        /* Control-g */
-  { ISFUNC, rl_rubout },               /* Control-h */
+  { ISFUNC, rl_backward },             /* Control-h */
   { ISFUNC, (Function *)0x0 },         /* Control-i */
   { ISFUNC, rl_newline },              /* Control-j */
   { ISFUNC, rl_kill_line },            /* Control-k */
@@ -59,20 +61,20 @@ KEYMAP_ENTRY_ARRAY vi_movement_keymap = {
   { ISFUNC, rl_yank },                 /* Control-y */
   { ISFUNC, (Function *)0x0 },         /* Control-z */
 
-  { ISKMAP, (Function *)vi_escape_keymap }, /* Control-[ */
+  { ISFUNC, (Function *)0x0 },         /* Control-[ */ /* vi_escape_keymap */
   { ISFUNC, (Function *)0x0 },         /* Control-\ */
   { ISFUNC, (Function *)0x0 },         /* Control-] */
   { ISFUNC, (Function *)0x0 },         /* Control-^ */
-  { ISFUNC, rl_undo_command },         /* Control-_ */
+  { ISFUNC, rl_vi_undo },              /* Control-_ */
 
   /* The start of printing characters. */
   { ISFUNC, rl_forward },              /* SPACE */
   { ISFUNC, (Function *)0x0 },         /* ! */
   { ISFUNC, (Function *)0x0 },         /* " */
-  { ISFUNC, rl_vi_comment },           /* # */
+  { ISFUNC, rl_insert_comment },       /* # */
   { ISFUNC, rl_end_of_line },          /* $ */
   { ISFUNC, rl_vi_match },             /* % */
-  { ISFUNC, (Function *)0x0 },         /* & */
+  { ISFUNC, rl_vi_tilde_expand },      /* & */
   { ISFUNC, (Function *)0x0 },         /* ' */
   { ISFUNC, (Function *)0x0 },         /* ( */
   { ISFUNC, (Function *)0x0 },         /* ) */
@@ -80,11 +82,11 @@ KEYMAP_ENTRY_ARRAY vi_movement_keymap = {
   { ISFUNC, rl_get_next_history},      /* + */
   { ISFUNC, rl_vi_char_search },       /* , */
   { ISFUNC, rl_get_previous_history }, /* - */
-  { ISFUNC, (Function *)0x0 },         /* . */
+  { ISFUNC, rl_vi_redo },              /* . */
   { ISFUNC, rl_vi_search },            /* / */
 
   /* Regular digits. */
-  { ISFUNC, rl_vi_arg_digit },         /* 0 */
+  { ISFUNC, rl_beg_of_line },          /* 0 */
   { ISFUNC, rl_vi_arg_digit },         /* 1 */
   { ISFUNC, rl_vi_arg_digit },         /* 2 */
   { ISFUNC, rl_vi_arg_digit },         /* 3 */
@@ -138,7 +140,7 @@ KEYMAP_ENTRY_ARRAY vi_movement_keymap = {
   { ISFUNC, (Function *)0x0 },         /* ] */
   { ISFUNC, rl_vi_first_print },       /* ^ */
   { ISFUNC, rl_vi_yank_arg },          /* _ */
-  { ISFUNC, (Function *)0x0 },         /* ` */
+  { ISFUNC, rl_vi_goto_mark },         /* ` */
 
   /* Lowercase alphabet. */
   { ISFUNC, rl_vi_append_mode },       /* a */
@@ -153,7 +155,7 @@ KEYMAP_ENTRY_ARRAY vi_movement_keymap = {
   { ISFUNC, rl_get_next_history },     /* j */
   { ISFUNC, rl_get_previous_history }, /* k */
   { ISFUNC, rl_forward },              /* l */
-  { ISFUNC, (Function *)0x0 },         /* m */
+  { ISFUNC, rl_vi_set_mark },          /* m */
   { ISFUNC, rl_vi_search_again },      /* n */
   { ISFUNC, (Function *)0x0 },         /* o */
   { ISFUNC, rl_vi_put },               /* p */
@@ -161,7 +163,7 @@ KEYMAP_ENTRY_ARRAY vi_movement_keymap = {
   { ISFUNC, rl_vi_change_char },       /* r */
   { ISFUNC, rl_vi_subst },             /* s */
   { ISFUNC, rl_vi_char_search },       /* t */
-  { ISFUNC, rl_undo_command },         /* u */
+  { ISFUNC, rl_vi_undo },              /* u */
   { ISFUNC, (Function *)0x0 },         /* v */
   { ISFUNC, rl_vi_next_word },         /* w */
   { ISFUNC, rl_vi_delete },            /* x */
@@ -173,12 +175,143 @@ KEYMAP_ENTRY_ARRAY vi_movement_keymap = {
   { ISFUNC, rl_vi_column },            /* | */
   { ISFUNC, (Function *)0x0 },         /* } */
   { ISFUNC, rl_vi_change_case },       /* ~ */
-  { ISFUNC, rl_backward }              /* RUBOUT */
+  { ISFUNC, (Function *)0x0 },         /* RUBOUT */
+
+#if KEYMAP_SIZE > 128
+  /* Undefined keys. */
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 }
+#endif /* KEYMAP_SIZE > 128 */
 };
 
 
 KEYMAP_ENTRY_ARRAY vi_insertion_keymap = {
-
   /* The regular control keys come first. */
   { ISFUNC, (Function *)0x0 },         /* Control-@ */
   { ISFUNC, rl_insert },               /* Control-a */
@@ -212,7 +345,7 @@ KEYMAP_ENTRY_ARRAY vi_insertion_keymap = {
   { ISFUNC, rl_insert },               /* Control-\ */
   { ISFUNC, rl_insert },               /* Control-] */
   { ISFUNC, rl_insert },               /* Control-^ */
-  { ISFUNC, rl_undo_command },         /* Control-_ */
+  { ISFUNC, rl_vi_undo },              /* Control-_ */
 
   /* The start of printing characters. */
   { ISFUNC, rl_insert },               /* SPACE */
@@ -322,11 +455,148 @@ KEYMAP_ENTRY_ARRAY vi_insertion_keymap = {
   { ISFUNC, rl_insert },               /* | */
   { ISFUNC, rl_insert },               /* } */
   { ISFUNC, rl_insert },               /* ~ */
-  { ISFUNC, rl_rubout }                        /* RUBOUT */
+  { ISFUNC, rl_rubout },               /* RUBOUT */
+
+#if KEYMAP_SIZE > 128
+  /* Pure 8-bit characters (128 - 159).
+     These might be used in some
+     character sets. */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+  { ISFUNC, rl_insert },       /* ? */
+
+  /* ISO Latin-1 characters (160 - 255) */
+  { ISFUNC, rl_insert },       /* No-break space */
+  { ISFUNC, rl_insert },       /* Inverted exclamation mark */
+  { ISFUNC, rl_insert },       /* Cent sign */
+  { ISFUNC, rl_insert },       /* Pound sign */
+  { ISFUNC, rl_insert },       /* Currency sign */
+  { ISFUNC, rl_insert },       /* Yen sign */
+  { ISFUNC, rl_insert },       /* Broken bar */
+  { ISFUNC, rl_insert },       /* Section sign */
+  { ISFUNC, rl_insert },       /* Diaeresis */
+  { ISFUNC, rl_insert },       /* Copyright sign */
+  { ISFUNC, rl_insert },       /* Feminine ordinal indicator */
+  { ISFUNC, rl_insert },       /* Left pointing double angle quotation mark */
+  { ISFUNC, rl_insert },       /* Not sign */
+  { ISFUNC, rl_insert },       /* Soft hyphen */
+  { ISFUNC, rl_insert },       /* Registered sign */
+  { ISFUNC, rl_insert },       /* Macron */
+  { ISFUNC, rl_insert },       /* Degree sign */
+  { ISFUNC, rl_insert },       /* Plus-minus sign */
+  { ISFUNC, rl_insert },       /* Superscript two */
+  { ISFUNC, rl_insert },       /* Superscript three */
+  { ISFUNC, rl_insert },       /* Acute accent */
+  { ISFUNC, rl_insert },       /* Micro sign */
+  { ISFUNC, rl_insert },       /* Pilcrow sign */
+  { ISFUNC, rl_insert },       /* Middle dot */
+  { ISFUNC, rl_insert },       /* Cedilla */
+  { ISFUNC, rl_insert },       /* Superscript one */
+  { ISFUNC, rl_insert },       /* Masculine ordinal indicator */
+  { ISFUNC, rl_insert },       /* Right pointing double angle quotation mark */
+  { ISFUNC, rl_insert },       /* Vulgar fraction one quarter */
+  { ISFUNC, rl_insert },       /* Vulgar fraction one half */
+  { ISFUNC, rl_insert },       /* Vulgar fraction three quarters */
+  { ISFUNC, rl_insert },       /* Inverted questionk mark */
+  { ISFUNC, rl_insert },       /* Latin capital letter a with grave */
+  { ISFUNC, rl_insert },       /* Latin capital letter a with acute */
+  { ISFUNC, rl_insert },       /* Latin capital letter a with circumflex */
+  { ISFUNC, rl_insert },       /* Latin capital letter a with tilde */
+  { ISFUNC, rl_insert },       /* Latin capital letter a with diaeresis */
+  { ISFUNC, rl_insert },       /* Latin capital letter a with ring above */
+  { ISFUNC, rl_insert },       /* Latin capital letter ae */
+  { ISFUNC, rl_insert },       /* Latin capital letter c with cedilla */
+  { ISFUNC, rl_insert },       /* Latin capital letter e with grave */
+  { ISFUNC, rl_insert },       /* Latin capital letter e with acute */
+  { ISFUNC, rl_insert },       /* Latin capital letter e with circumflex */
+  { ISFUNC, rl_insert },       /* Latin capital letter e with diaeresis */
+  { ISFUNC, rl_insert },       /* Latin capital letter i with grave */
+  { ISFUNC, rl_insert },       /* Latin capital letter i with acute */
+  { ISFUNC, rl_insert },       /* Latin capital letter i with circumflex */
+  { ISFUNC, rl_insert },       /* Latin capital letter i with diaeresis */
+  { ISFUNC, rl_insert },       /* Latin capital letter eth (Icelandic) */
+  { ISFUNC, rl_insert },       /* Latin capital letter n with tilde */
+  { ISFUNC, rl_insert },       /* Latin capital letter o with grave */
+  { ISFUNC, rl_insert },       /* Latin capital letter o with acute */
+  { ISFUNC, rl_insert },       /* Latin capital letter o with circumflex */
+  { ISFUNC, rl_insert },       /* Latin capital letter o with tilde */
+  { ISFUNC, rl_insert },       /* Latin capital letter o with diaeresis */
+  { ISFUNC, rl_insert },       /* Multiplication sign */
+  { ISFUNC, rl_insert },       /* Latin capital letter o with stroke */
+  { ISFUNC, rl_insert },       /* Latin capital letter u with grave */
+  { ISFUNC, rl_insert },       /* Latin capital letter u with acute */
+  { ISFUNC, rl_insert },       /* Latin capital letter u with circumflex */
+  { ISFUNC, rl_insert },       /* Latin capital letter u with diaeresis */
+  { ISFUNC, rl_insert },       /* Latin capital letter Y with acute */
+  { ISFUNC, rl_insert },       /* Latin capital letter thorn (Icelandic) */
+  { ISFUNC, rl_insert },       /* Latin small letter sharp s (German) */
+  { ISFUNC, rl_insert },       /* Latin small letter a with grave */
+  { ISFUNC, rl_insert },       /* Latin small letter a with acute */
+  { ISFUNC, rl_insert },       /* Latin small letter a with circumflex */
+  { ISFUNC, rl_insert },       /* Latin small letter a with tilde */
+  { ISFUNC, rl_insert },       /* Latin small letter a with diaeresis */
+  { ISFUNC, rl_insert },       /* Latin small letter a with ring above */
+  { ISFUNC, rl_insert },       /* Latin small letter ae */
+  { ISFUNC, rl_insert },       /* Latin small letter c with cedilla */
+  { ISFUNC, rl_insert },       /* Latin small letter e with grave */
+  { ISFUNC, rl_insert },       /* Latin small letter e with acute */
+  { ISFUNC, rl_insert },       /* Latin small letter e with circumflex */
+  { ISFUNC, rl_insert },       /* Latin small letter e with diaeresis */
+  { ISFUNC, rl_insert },       /* Latin small letter i with grave */
+  { ISFUNC, rl_insert },       /* Latin small letter i with acute */
+  { ISFUNC, rl_insert },       /* Latin small letter i with circumflex */
+  { ISFUNC, rl_insert },       /* Latin small letter i with diaeresis */
+  { ISFUNC, rl_insert },       /* Latin small letter eth (Icelandic) */
+  { ISFUNC, rl_insert },       /* Latin small letter n with tilde */
+  { ISFUNC, rl_insert },       /* Latin small letter o with grave */
+  { ISFUNC, rl_insert },       /* Latin small letter o with acute */
+  { ISFUNC, rl_insert },       /* Latin small letter o with circumflex */
+  { ISFUNC, rl_insert },       /* Latin small letter o with tilde */
+  { ISFUNC, rl_insert },       /* Latin small letter o with diaeresis */
+  { ISFUNC, rl_insert },       /* Division sign */
+  { ISFUNC, rl_insert },       /* Latin small letter o with stroke */
+  { ISFUNC, rl_insert },       /* Latin small letter u with grave */
+  { ISFUNC, rl_insert },       /* Latin small letter u with acute */
+  { ISFUNC, rl_insert },       /* Latin small letter u with circumflex */
+  { ISFUNC, rl_insert },       /* Latin small letter u with diaeresis */
+  { ISFUNC, rl_insert },       /* Latin small letter y with acute */
+  { ISFUNC, rl_insert },       /* Latin small letter thorn (Icelandic) */
+  { ISFUNC, rl_insert }                /* Latin small letter y with diaeresis */
+#endif /* KEYMAP_SIZE > 128 */
 };
 
+/* Unused for the time being. */
+#if 0
 KEYMAP_ENTRY_ARRAY vi_escape_keymap = {
-
   /* The regular control keys come first. */
   { ISFUNC, (Function *)0x0 },         /* Control-@ */
   { ISFUNC, (Function *)0x0 },         /* Control-a */
@@ -360,7 +630,7 @@ KEYMAP_ENTRY_ARRAY vi_escape_keymap = {
   { ISFUNC, (Function *)0x0 },         /* Control-\ */
   { ISFUNC, (Function *)0x0 },         /* Control-] */
   { ISFUNC, (Function *)0x0 },         /* Control-^ */
-  { ISFUNC, rl_undo_command },         /* Control-_ */
+  { ISFUNC, rl_vi_undo },              /* Control-_ */
 
   /* The start of printing characters. */
   { ISFUNC, (Function *)0x0 },         /* SPACE */
@@ -430,7 +700,7 @@ KEYMAP_ENTRY_ARRAY vi_escape_keymap = {
   { ISFUNC, rl_do_lowercase_version }, /* Z */
 
   /* Some more punctuation. */
-  { ISFUNC, (Function *)0x0 },         /* [ */
+  { ISFUNC, rl_arrow_keys },           /* [ */
   { ISFUNC, (Function *)0x0 },         /* \ */
   { ISFUNC, (Function *)0x0 },         /* ] */
   { ISFUNC, (Function *)0x0 },         /* ^ */
@@ -452,7 +722,7 @@ KEYMAP_ENTRY_ARRAY vi_escape_keymap = {
   { ISFUNC, (Function *)0x0 },         /* l */
   { ISFUNC, (Function *)0x0 },         /* m */
   { ISFUNC, (Function *)0x0 },         /* n */
-  { ISFUNC, (Function *)0x0 },         /* o */
+  { ISFUNC, rl_arrow_keys },           /* o */
   { ISFUNC, (Function *)0x0 },         /* p */
   { ISFUNC, (Function *)0x0 },         /* q */
   { ISFUNC, (Function *)0x0 },         /* r */
@@ -470,5 +740,138 @@ KEYMAP_ENTRY_ARRAY vi_escape_keymap = {
   { ISFUNC, (Function *)0x0 },         /* | */
   { ISFUNC, (Function *)0x0 },         /* } */
   { ISFUNC, (Function *)0x0 },         /* ~ */
-  { ISFUNC, rl_backward_kill_word }    /* RUBOUT */
+  { ISFUNC, rl_backward_kill_word },   /* RUBOUT */
+
+#if KEYMAP_SIZE > 128
+  /* Undefined keys. */
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 },
+  { ISFUNC, (Function *)0x0 }
+#endif /* KEYMAP_SIZE > 128 */
 };
+#endif
This page took 0.057039 seconds and 4 git commands to generate.