diff options
Diffstat (limited to 'contrib/tcsh/ed.defns.c')
-rw-r--r-- | contrib/tcsh/ed.defns.c | 1984 |
1 files changed, 0 insertions, 1984 deletions
diff --git a/contrib/tcsh/ed.defns.c b/contrib/tcsh/ed.defns.c deleted file mode 100644 index 5124bde..0000000 --- a/contrib/tcsh/ed.defns.c +++ /dev/null @@ -1,1984 +0,0 @@ -/* $Header: /p/tcsh/cvsroot/tcsh/ed.defns.c,v 3.46 2006/03/02 18:46:44 christos Exp $ */ -/* - * ed.defns.c: Editor function definitions and initialization - */ -/*- - * Copyright (c) 1980, 1991 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -#include "sh.h" - -RCSID("$tcsh: ed.defns.c,v 3.46 2006/03/02 18:46:44 christos Exp $") - -#include "ed.h" - -static void ed_InitMetaBindings (void); - -PFCmd CcFuncTbl[] = { /* table of available commands */ - e_unassigned, -/* no #define here -- this is a dummy to detect initing of the key map */ - e_unassigned, -#define F_UNASSIGNED 1 - e_insert, -#define F_INSERT 2 - e_newline, -#define F_NEWLINE 3 - e_delprev, -#define F_DELPREV 4 - e_delnext, -#define F_DELNEXT 5 - e_toend, -#define F_TOEND 6 - e_tobeg, -#define F_TOBEG 7 - e_charback, -#define F_CHARBACK 8 - e_charfwd, -#define F_CHARFWD 9 - e_quote, -#define F_QUOTE 10 - e_startover, -#define F_STARTOVER 11 - e_redisp, -#define F_REDISP 12 - e_tty_int, -#define F_TTY_INT 13 - e_wordback, -#define F_WORDBACK 14 - e_wordfwd, -#define F_WORDFWD 15 - e_cleardisp, -#define F_CLEARDISP 16 - e_complete, -#define F_COMPLETE 17 - e_correct, -#define F_CORRECT 18 - e_up_hist, -#define F_UP_HIST 19 - e_down_hist, -#define F_DOWN_HIST 20 - e_up_search_hist, -#define F_UP_SEARCH_HIST 21 - e_down_search_hist, -#define F_DOWN_SEARCH_HIST 22 - e_helpme, -#define F_HELPME 23 - e_list_choices, -#define F_LIST_CHOICES 24 - e_delwordprev, -#define F_DELWORDPREV 25 - e_delwordnext, -#define F_DELWORDNEXT 26 - e_digit, -#define F_DIGIT 27 - e_killend, -#define F_KILLEND 28 - e_killbeg, -#define F_KILLBEG 29 - e_metanext, -#define F_METANEXT 30 - e_send_eof, -#define F_SEND_EOF 31 - e_charswitch, -#define F_CHARSWITCH 32 - e_which, -#define F_WHICH 33 - e_yank_kill, -#define F_YANK_KILL 34 - e_tty_dsusp, -#define F_TTY_DSUSP 35 - e_tty_flusho, -#define F_TTY_FLUSHO 36 - e_tty_quit, -#define F_TTY_QUIT 37 - e_tty_tsusp, -#define F_TTY_TSUSP 38 - e_tty_stopo, -#define F_TTY_STOPO 39 - e_tty_starto, -#define F_TTY_STARTO 40 - e_argfour, -#define F_ARGFOUR 41 - e_set_mark, -#define F_SET_MARK 42 - e_exchange_mark, -#define F_EXCHANGE_MARK 43 - e_last_item, -#define F_LAST_ITEM 44 - e_delnext_list_eof, -#define F_DELNEXT_LIST_EOF 45 - v_cmd_mode, -#define V_CMD_MODE 46 - v_insert, -#define V_INSERT 47 - e_argdigit, -#define F_ARGDIGIT 48 - e_killregion, -#define F_KILLREGION 49 - e_copyregion, -#define F_COPYREGION 50 - e_gcharswitch, -#define F_GCHARSWITCH 51 - e_run_fg_editor, -#define F_RUN_FG_EDITOR 52 - e_unassigned, /* place holder for sequence lead in character */ -#define F_XKEY 53 - e_uppercase, -#define F_CASEUPPER 54 - e_lowercase, -#define F_CASELOWER 55 - e_capitolcase, -#define F_CASECAPITAL 56 - v_zero, -#define V_ZERO 57 - v_add, -#define V_ADD 58 - v_addend, -#define V_ADDEND 59 - v_wordbegnext, -#define V_WORDBEGNEXT 60 - e_killall, -#define F_KILLALL 61 - e_unassigned, -/* F_EXTENDNEXT removed */ - v_insbeg, -#define V_INSBEG 63 - v_replmode, -#define V_REPLMODE 64 - v_replone, -#define V_REPLONE 65 - v_substline, -#define V_SUBSTLINE 66 - v_substchar, -#define V_SUBSTCHAR 67 - v_chgtoend, -#define V_CHGTOEND 68 - e_list_eof, -#define F_LIST_EOF 69 - e_list_glob, -#define F_LIST_GLOB 70 - e_expand_history, -#define F_EXPAND_HISTORY 71 - e_magic_space, -#define F_MAGIC_SPACE 72 - e_insovr, -#define F_INSOVR 73 - v_cm_complete, -#define V_CM_COMPLETE 74 - e_copyprev, -#define F_COPYPREV 75 - e_correctl, -#define F_CORRECT_L 76 - e_expand_glob, -#define F_EXPAND_GLOB 77 - e_expand_vars, -#define F_EXPAND_VARS 78 - e_toggle_hist, -#define F_TOGGLE_HIST 79 - v_change_case, -#define V_CHGCASE 80 - e_expand, -#define F_EXPAND 81 - e_load_average, -#define F_LOAD_AVERAGE 82 - v_delprev, -#define V_DELPREV 83 - v_delmeta, -#define V_DELMETA 84 - v_wordfwd, -#define V_WORDFWD 85 - v_wordback, -#define V_WORDBACK 86 - v_endword, -#define V_ENDWORD 87 - v_eword, -#define V_EWORD 88 - v_undo, -#define V_UNDO 89 - v_ush_meta, -#define V_USH_META 90 - v_dsh_meta, -#define V_DSH_META 91 - v_rsrch_fwd, -#define V_RSRCH_FWD 92 - v_rsrch_back, -#define V_RSRCH_BACK 93 - v_char_fwd, -#define V_CHAR_FWD 94 - v_char_back, -#define V_CHAR_BACK 95 - v_chgmeta, -#define V_CHGMETA 96 - e_inc_fwd, -#define F_INC_FWD 97 - e_inc_back, -#define F_INC_BACK 98 - v_rchar_fwd, -#define V_RCHAR_FWD 99 - v_rchar_back, -#define V_RCHAR_BACK 100 - v_charto_fwd, -#define V_CHARTO_FWD 101 - v_charto_back, -#define V_CHARTO_BACK 102 - e_normalize_path, -#define F_PATH_NORM 103 - e_delnext_eof, /* added by mtk@ari.ncl.omron.co.jp (920818) */ -#define F_DELNEXT_EOF 104 - e_stuff_char, -#define F_STUFF_CHAR 105 - e_complete_all, -#define F_COMPLETE_ALL 106 - e_list_all, -#define F_LIST_ALL 107 - e_complete_fwd, -#define F_COMPLETE_FWD 108 - e_complete_back, -#define F_COMPLETE_BACK 109 - e_delnext_list, -#define F_DELNEXT_LIST 110 - e_normalize_command, -#define F_COMMAND_NORM 111 - e_dabbrev_expand, -#define F_DABBREV_EXPAND 112 - e_copy_to_clipboard, -#define F_COPY_CLIP 113 - e_paste_from_clipboard, -#define F_PASTE_CLIP 114 - e_dosify_next, -#define F_DOSIFY_NEXT 115 - e_dosify_prev, -#define F_DOSIFY_PREV 116 - e_page_up, -#define F_PAGE_UP 117 - e_page_down, -#define F_PAGE_DOWN 118 - e_yank_pop, -#define F_YANK_POP 119 - e_newline_hold, -#define F_NEWLINE_HOLD 120 - e_newline_down_hist, -#define F_NEWLINE_DOWN_HIST 121 - 0 /* DUMMY VALUE */ -#define F_NUM_FNS 122 - -}; - -KEYCMD NumFuns = F_NUM_FNS; - -KEYCMD CcKeyMap[NT_NUM_KEYS]; /* the real key map */ -KEYCMD CcAltMap[NT_NUM_KEYS]; /* the alternative key map */ -#define F_NUM_FUNCNAMES (F_NUM_FNS + 2) -struct KeyFuncs FuncNames[F_NUM_FUNCNAMES]; - -#ifdef WINNT_NATIVE -extern KEYCMD CcEmacsMap[]; -extern KEYCMD CcViMap[]; -extern KEYCMD CcViCmdMap[]; -#else /* !WINNT_NATIVE*/ -KEYCMD CcEmacsMap[] = { -/* keymap table, each index into above tbl; should be 256*sizeof(KEYCMD) - bytes long */ - - F_SET_MARK, /* ^@ */ - F_TOBEG, /* ^A */ - F_CHARBACK, /* ^B */ - F_TTY_INT, /* ^C */ - F_DELNEXT_LIST_EOF, /* ^D */ - F_TOEND, /* ^E */ - F_CHARFWD, /* ^F */ - F_UNASSIGNED, /* ^G */ - F_DELPREV, /* ^H */ - F_COMPLETE, /* ^I */ - F_NEWLINE, /* ^J */ - F_KILLEND, /* ^K */ - F_CLEARDISP, /* ^L */ - F_NEWLINE, /* ^M */ - F_DOWN_HIST, /* ^N */ - F_TTY_FLUSHO, /* ^O */ - F_UP_HIST, /* ^P */ - F_TTY_STARTO, /* ^Q */ - F_REDISP, /* ^R */ - F_TTY_STOPO, /* ^S */ - F_CHARSWITCH, /* ^T */ - F_KILLALL, /* ^U */ - F_QUOTE, /* ^V */ - F_KILLREGION, /* ^W */ - F_XKEY, /* ^X */ - F_YANK_KILL, /* ^Y */ - F_TTY_TSUSP, /* ^Z */ - F_METANEXT, /* ^[ */ - F_TTY_QUIT, /* ^\ */ - F_TTY_DSUSP, /* ^] */ - F_UNASSIGNED, /* ^^ */ - F_UNASSIGNED, /* ^_ */ - F_INSERT, /* SPACE */ - F_INSERT, /* ! */ - F_INSERT, /* " */ - F_INSERT, /* # */ - F_INSERT, /* $ */ - F_INSERT, /* % */ - F_INSERT, /* & */ - F_INSERT, /* ' */ - F_INSERT, /* ( */ - F_INSERT, /* ) */ - F_INSERT, /* * */ - F_INSERT, /* + */ - F_INSERT, /* , */ - F_INSERT, /* - */ - F_INSERT, /* . */ - F_INSERT, /* / */ - F_DIGIT, /* 0 */ - F_DIGIT, /* 1 */ - F_DIGIT, /* 2 */ - F_DIGIT, /* 3 */ - F_DIGIT, /* 4 */ - F_DIGIT, /* 5 */ - F_DIGIT, /* 6 */ - F_DIGIT, /* 7 */ - F_DIGIT, /* 8 */ - F_DIGIT, /* 9 */ - F_INSERT, /* : */ - F_INSERT, /* ; */ - F_INSERT, /* < */ - F_INSERT, /* = */ - F_INSERT, /* > */ - F_INSERT, /* ? */ - F_INSERT, /* @ */ - F_INSERT, /* A */ - F_INSERT, /* B */ - F_INSERT, /* C */ - F_INSERT, /* D */ - F_INSERT, /* E */ - F_INSERT, /* F */ - F_INSERT, /* G */ - F_INSERT, /* H */ - F_INSERT, /* I */ - F_INSERT, /* J */ - F_INSERT, /* K */ - F_INSERT, /* L */ - F_INSERT, /* M */ - F_INSERT, /* N */ - F_INSERT, /* O */ - F_INSERT, /* P */ - F_INSERT, /* Q */ - F_INSERT, /* R */ - F_INSERT, /* S */ - F_INSERT, /* T */ - F_INSERT, /* U */ - F_INSERT, /* V */ - F_INSERT, /* W */ - F_INSERT, /* X */ - F_INSERT, /* Y */ - F_INSERT, /* Z */ - F_INSERT, /* [ */ - F_INSERT, /* \ */ - F_INSERT, /* ] */ - F_INSERT, /* ^ */ - F_INSERT, /* _ */ - F_INSERT, /* ` */ - F_INSERT, /* a */ - F_INSERT, /* b */ - F_INSERT, /* c */ - F_INSERT, /* d */ - F_INSERT, /* e */ - F_INSERT, /* f */ - F_INSERT, /* g */ - F_INSERT, /* h */ - F_INSERT, /* i */ - F_INSERT, /* j */ - F_INSERT, /* k */ - F_INSERT, /* l */ - F_INSERT, /* m */ - F_INSERT, /* n */ - F_INSERT, /* o */ - F_INSERT, /* p */ - F_INSERT, /* q */ - F_INSERT, /* r */ - F_INSERT, /* s */ - F_INSERT, /* t */ - F_INSERT, /* u */ - F_INSERT, /* v */ - F_INSERT, /* w */ - F_INSERT, /* x */ - F_INSERT, /* y */ - F_INSERT, /* z */ - F_INSERT, /* { */ - F_INSERT, /* | */ - F_INSERT, /* } */ - F_INSERT, /* ~ */ - F_DELPREV, /* ^? */ - F_UNASSIGNED, /* M-^@ */ - F_UNASSIGNED, /* M-^A */ - F_UNASSIGNED, /* M-^B */ - F_UNASSIGNED, /* M-^C */ - F_LIST_CHOICES, /* M-^D */ - F_UNASSIGNED, /* M-^E */ - F_UNASSIGNED, /* M-^F */ - F_UNASSIGNED, /* M-^G */ - F_DELWORDPREV, /* M-^H */ - F_COMPLETE, /* M-^I */ - F_UNASSIGNED, /* M-^J */ - F_UNASSIGNED, /* M-^K */ - F_CLEARDISP, /* M-^L */ - F_UNASSIGNED, /* M-^M */ - F_UNASSIGNED, /* M-^N */ - F_UNASSIGNED, /* M-^O */ - F_UNASSIGNED, /* M-^P */ - F_UNASSIGNED, /* M-^Q */ - F_UNASSIGNED, /* M-^R */ - F_UNASSIGNED, /* M-^S */ - F_UNASSIGNED, /* M-^T */ - F_UNASSIGNED, /* M-^U */ - F_UNASSIGNED, /* M-^V */ - F_UNASSIGNED, /* M-^W */ - F_UNASSIGNED, /* M-^X */ - F_UNASSIGNED, /* M-^Y */ - F_RUN_FG_EDITOR, /* M-^Z */ - F_COMPLETE, /* M-^[ */ - F_UNASSIGNED, /* M-^\ */ - F_UNASSIGNED, /* M-^] */ - F_UNASSIGNED, /* M-^^ */ - F_COPYPREV, /* M-^_ */ - F_EXPAND_HISTORY, /* M-SPACE */ - F_EXPAND_HISTORY, /* M-! */ - F_UNASSIGNED, /* M-" */ - F_UNASSIGNED, /* M-# */ - F_CORRECT_L, /* M-$ */ - F_UNASSIGNED, /* M-% */ - F_UNASSIGNED, /* M-& */ - F_UNASSIGNED, /* M-' */ - F_UNASSIGNED, /* M-( */ - F_UNASSIGNED, /* M-) */ - F_UNASSIGNED, /* M-* */ - F_UNASSIGNED, /* M-+ */ - F_UNASSIGNED, /* M-, */ - F_UNASSIGNED, /* M-- */ - F_UNASSIGNED, /* M-. */ - F_DABBREV_EXPAND, /* M-/ */ - F_ARGDIGIT, /* M-0 */ - F_ARGDIGIT, /* M-1 */ - F_ARGDIGIT, /* M-2 */ - F_ARGDIGIT, /* M-3 */ - F_ARGDIGIT, /* M-4 */ - F_ARGDIGIT, /* M-5 */ - F_ARGDIGIT, /* M-6 */ - F_ARGDIGIT, /* M-7 */ - F_ARGDIGIT, /* M-8 */ - F_ARGDIGIT, /* M-9 */ - F_UNASSIGNED, /* M-: */ - F_UNASSIGNED, /* M-; */ - F_UNASSIGNED, /* M-< */ - F_UNASSIGNED, /* M-= */ - F_UNASSIGNED, /* M-> */ - F_WHICH, /* M-? */ - F_UNASSIGNED, /* M-@ */ - F_NEWLINE_HOLD, /* M-A */ - F_WORDBACK, /* M-B */ - F_CASECAPITAL, /* M-C */ - F_DELWORDNEXT, /* M-D */ - F_UNASSIGNED, /* M-E */ - F_WORDFWD, /* M-F */ - F_UNASSIGNED, /* M-G */ - F_HELPME, /* M-H */ - F_UNASSIGNED, /* M-I */ - F_UNASSIGNED, /* M-J */ - F_UNASSIGNED, /* M-K */ - F_CASELOWER, /* M-L */ - F_UNASSIGNED, /* M-M */ - F_DOWN_SEARCH_HIST, /* M-N */ - F_XKEY, /* M-O *//* extended key esc PWP Mar 88 */ - F_UP_SEARCH_HIST, /* M-P */ - F_UNASSIGNED, /* M-Q */ - F_TOGGLE_HIST, /* M-R */ - F_CORRECT, /* M-S */ - F_UNASSIGNED, /* M-T */ - F_CASEUPPER, /* M-U */ - F_UNASSIGNED, /* M-V */ - F_COPYREGION, /* M-W */ - F_UNASSIGNED, /* M-X */ - F_YANK_POP, /* M-Y */ - F_UNASSIGNED, /* M-Z */ - F_XKEY, /* M-[ *//* extended key esc -mf Oct 87 */ - F_UNASSIGNED, /* M-\ */ - F_UNASSIGNED, /* M-] */ - F_UNASSIGNED, /* M-^ */ - F_LAST_ITEM, /* M-_ */ - F_UNASSIGNED, /* M-` */ - F_NEWLINE_HOLD, /* M-a */ - F_WORDBACK, /* M-b */ - F_CASECAPITAL, /* M-c */ - F_DELWORDNEXT, /* M-d */ - F_UNASSIGNED, /* M-e */ - F_WORDFWD, /* M-f */ - F_UNASSIGNED, /* M-g */ - F_HELPME, /* M-h */ - F_UNASSIGNED, /* M-i */ - F_UNASSIGNED, /* M-j */ - F_UNASSIGNED, /* M-k */ - F_CASELOWER, /* M-l */ - F_UNASSIGNED, /* M-m */ - F_DOWN_SEARCH_HIST, /* M-n */ - F_UNASSIGNED, /* M-o */ - F_UP_SEARCH_HIST, /* M-p */ - F_UNASSIGNED, /* M-q */ - F_TOGGLE_HIST, /* M-r */ - F_CORRECT, /* M-s */ - F_UNASSIGNED, /* M-t */ - F_CASEUPPER, /* M-u */ - F_UNASSIGNED, /* M-v */ - F_COPYREGION, /* M-w */ - F_UNASSIGNED, /* M-x */ - F_YANK_POP, /* M-y */ - F_UNASSIGNED, /* M-z */ - F_UNASSIGNED, /* M-{ */ - F_UNASSIGNED, /* M-| */ - F_UNASSIGNED, /* M-} */ - F_UNASSIGNED, /* M-~ */ - F_DELWORDPREV /* M-^? */ -}; - -/* - * keymap table for vi. Each index into above tbl; should be - * 256 entries long. Vi mode uses a sticky-extend to do command mode: - * insert mode characters are in the normal keymap, and command mode - * in the extended keymap. - */ -static KEYCMD CcViMap[] = { -#ifdef KSHVI - F_UNASSIGNED, /* ^@ */ - F_INSERT, /* ^A */ - F_INSERT, /* ^B */ - F_INSERT, /* ^C */ - F_INSERT, /* ^D */ - F_INSERT, /* ^E */ - F_INSERT, /* ^F */ - F_INSERT, /* ^G */ - V_DELPREV, /* ^H */ /* BackSpace key */ - F_COMPLETE, /* ^I */ /* Tab Key */ - F_NEWLINE, /* ^J */ - F_INSERT, /* ^K */ - F_INSERT, /* ^L */ - F_NEWLINE, /* ^M */ - F_INSERT, /* ^N */ - F_INSERT, /* ^O */ - F_INSERT, /* ^P */ - F_TTY_STARTO, /* ^Q */ - F_INSERT, /* ^R */ - F_INSERT, /* ^S */ - F_INSERT, /* ^T */ - F_INSERT, /* ^U */ - F_QUOTE, /* ^V */ - F_DELWORDPREV, /* ^W */ /* Only until start edit pos */ - F_INSERT, /* ^X */ - F_INSERT, /* ^Y */ - F_INSERT, /* ^Z */ - V_CMD_MODE, /* ^[ */ /* [ Esc ] key */ - F_TTY_QUIT, /* ^\ */ - F_INSERT, /* ^] */ - F_INSERT, /* ^^ */ - F_INSERT, /* ^_ */ -#else /* !KSHVI */ - F_UNASSIGNED, /* ^@ */ /* NOTE: These mapping do NOT */ - F_TOBEG, /* ^A */ /* Correspond well to the KSH */ - F_CHARBACK, /* ^B */ /* VI editting assignments */ - F_TTY_INT, /* ^C */ /* On the other hand they are */ - F_LIST_EOF, /* ^D */ /* convenient any many people */ - F_TOEND, /* ^E */ /* have gotten used to them */ - F_CHARFWD, /* ^F */ - F_LIST_GLOB, /* ^G */ - F_DELPREV, /* ^H */ /* BackSpace key */ - F_COMPLETE, /* ^I */ /* Tab Key */ - F_NEWLINE, /* ^J */ - F_KILLEND, /* ^K */ - F_CLEARDISP, /* ^L */ - F_NEWLINE, /* ^M */ - F_DOWN_HIST, /* ^N */ - F_TTY_FLUSHO, /* ^O */ - F_UP_HIST, /* ^P */ - F_TTY_STARTO, /* ^Q */ - F_REDISP, /* ^R */ - F_TTY_STOPO, /* ^S */ - F_CHARSWITCH, /* ^T */ - F_KILLBEG, /* ^U */ - F_QUOTE, /* ^V */ - F_DELWORDPREV, /* ^W */ - F_EXPAND, /* ^X */ - F_TTY_DSUSP, /* ^Y */ - F_TTY_TSUSP, /* ^Z */ - V_CMD_MODE, /* ^[ */ - F_TTY_QUIT, /* ^\ */ - F_UNASSIGNED, /* ^] */ - F_UNASSIGNED, /* ^^ */ - F_UNASSIGNED, /* ^_ */ -#endif /* KSHVI */ - F_INSERT, /* SPACE */ - F_INSERT, /* ! */ - F_INSERT, /* " */ - F_INSERT, /* # */ - F_INSERT, /* $ */ - F_INSERT, /* % */ - F_INSERT, /* & */ - F_INSERT, /* ' */ - F_INSERT, /* ( */ - F_INSERT, /* ) */ - F_INSERT, /* * */ - F_INSERT, /* + */ - F_INSERT, /* , */ - F_INSERT, /* - */ - F_INSERT, /* . */ - F_INSERT, /* / */ - F_INSERT, /* 0 */ - F_INSERT, /* 1 */ - F_INSERT, /* 2 */ - F_INSERT, /* 3 */ - F_INSERT, /* 4 */ - F_INSERT, /* 5 */ - F_INSERT, /* 6 */ - F_INSERT, /* 7 */ - F_INSERT, /* 8 */ - F_INSERT, /* 9 */ - F_INSERT, /* : */ - F_INSERT, /* ; */ - F_INSERT, /* < */ - F_INSERT, /* = */ - F_INSERT, /* > */ - F_INSERT, /* ? */ - F_INSERT, /* @ */ - F_INSERT, /* A */ - F_INSERT, /* B */ - F_INSERT, /* C */ - F_INSERT, /* D */ - F_INSERT, /* E */ - F_INSERT, /* F */ - F_INSERT, /* G */ - F_INSERT, /* H */ - F_INSERT, /* I */ - F_INSERT, /* J */ - F_INSERT, /* K */ - F_INSERT, /* L */ - F_INSERT, /* M */ - F_INSERT, /* N */ - F_INSERT, /* O */ - F_INSERT, /* P */ - F_INSERT, /* Q */ - F_INSERT, /* R */ - F_INSERT, /* S */ - F_INSERT, /* T */ - F_INSERT, /* U */ - F_INSERT, /* V */ - F_INSERT, /* W */ - F_INSERT, /* X */ - F_INSERT, /* Y */ - F_INSERT, /* Z */ - F_INSERT, /* [ */ - F_INSERT, /* \ */ - F_INSERT, /* ] */ - F_INSERT, /* ^ */ - F_INSERT, /* _ */ - F_INSERT, /* ` */ - F_INSERT, /* a */ - F_INSERT, /* b */ - F_INSERT, /* c */ - F_INSERT, /* d */ - F_INSERT, /* e */ - F_INSERT, /* f */ - F_INSERT, /* g */ - F_INSERT, /* h */ - F_INSERT, /* i */ - F_INSERT, /* j */ - F_INSERT, /* k */ - F_INSERT, /* l */ - F_INSERT, /* m */ - F_INSERT, /* n */ - F_INSERT, /* o */ - F_INSERT, /* p */ - F_INSERT, /* q */ - F_INSERT, /* r */ - F_INSERT, /* s */ - F_INSERT, /* t */ - F_INSERT, /* u */ - F_INSERT, /* v */ - F_INSERT, /* w */ - F_INSERT, /* x */ - F_INSERT, /* y */ - F_INSERT, /* z */ - F_INSERT, /* { */ - F_INSERT, /* | */ - F_INSERT, /* } */ - F_INSERT, /* ~ */ - F_DELPREV, /* ^? */ - F_UNASSIGNED, /* M-^@ */ - F_UNASSIGNED, /* M-^A */ - F_UNASSIGNED, /* M-^B */ - F_UNASSIGNED, /* M-^C */ - F_UNASSIGNED, /* M-^D */ - F_UNASSIGNED, /* M-^E */ - F_UNASSIGNED, /* M-^F */ - F_UNASSIGNED, /* M-^G */ - F_UNASSIGNED, /* M-^H */ - F_UNASSIGNED, /* M-^I */ - F_UNASSIGNED, /* M-^J */ - F_UNASSIGNED, /* M-^K */ - F_UNASSIGNED, /* M-^L */ - F_UNASSIGNED, /* M-^M */ - F_UNASSIGNED, /* M-^N */ - F_UNASSIGNED, /* M-^O */ - F_UNASSIGNED, /* M-^P */ - F_UNASSIGNED, /* M-^Q */ - F_UNASSIGNED, /* M-^R */ - F_UNASSIGNED, /* M-^S */ - F_UNASSIGNED, /* M-^T */ - F_UNASSIGNED, /* M-^U */ - F_UNASSIGNED, /* M-^V */ - F_UNASSIGNED, /* M-^W */ - F_UNASSIGNED, /* M-^X */ - F_UNASSIGNED, /* M-^Y */ - F_UNASSIGNED, /* M-^Z */ - F_UNASSIGNED, /* M-^[ */ - F_UNASSIGNED, /* M-^\ */ - F_UNASSIGNED, /* M-^] */ - F_UNASSIGNED, /* M-^^ */ - F_UNASSIGNED, /* M-^_ */ - F_UNASSIGNED, /* M-SPACE */ - F_UNASSIGNED, /* M-! */ - F_UNASSIGNED, /* M-" */ - F_UNASSIGNED, /* M-# */ - F_UNASSIGNED, /* M-$ */ - F_UNASSIGNED, /* M-% */ - F_UNASSIGNED, /* M-& */ - F_UNASSIGNED, /* M-' */ - F_UNASSIGNED, /* M-( */ - F_UNASSIGNED, /* M-) */ - F_UNASSIGNED, /* M-* */ - F_UNASSIGNED, /* M-+ */ - F_UNASSIGNED, /* M-, */ - F_UNASSIGNED, /* M-- */ - F_UNASSIGNED, /* M-. */ - F_UNASSIGNED, /* M-/ */ - F_UNASSIGNED, /* M-0 */ - F_UNASSIGNED, /* M-1 */ - F_UNASSIGNED, /* M-2 */ - F_UNASSIGNED, /* M-3 */ - F_UNASSIGNED, /* M-4 */ - F_UNASSIGNED, /* M-5 */ - F_UNASSIGNED, /* M-6 */ - F_UNASSIGNED, /* M-7 */ - F_UNASSIGNED, /* M-8 */ - F_UNASSIGNED, /* M-9 */ - F_UNASSIGNED, /* M-: */ - F_UNASSIGNED, /* M-; */ - F_UNASSIGNED, /* M-< */ - F_UNASSIGNED, /* M-= */ - F_UNASSIGNED, /* M-> */ - F_UNASSIGNED, /* M-? */ - F_UNASSIGNED, /* M-@ */ - F_UNASSIGNED, /* M-A */ - F_UNASSIGNED, /* M-B */ - F_UNASSIGNED, /* M-C */ - F_UNASSIGNED, /* M-D */ - F_UNASSIGNED, /* M-E */ - F_UNASSIGNED, /* M-F */ - F_UNASSIGNED, /* M-G */ - F_UNASSIGNED, /* M-H */ - F_UNASSIGNED, /* M-I */ - F_UNASSIGNED, /* M-J */ - F_UNASSIGNED, /* M-K */ - F_UNASSIGNED, /* M-L */ - F_UNASSIGNED, /* M-M */ - F_UNASSIGNED, /* M-N */ - F_UNASSIGNED, /* M-O */ - F_UNASSIGNED, /* M-P */ - F_UNASSIGNED, /* M-Q */ - F_UNASSIGNED, /* M-R */ - F_UNASSIGNED, /* M-S */ - F_UNASSIGNED, /* M-T */ - F_UNASSIGNED, /* M-U */ - F_UNASSIGNED, /* M-V */ - F_UNASSIGNED, /* M-W */ - F_UNASSIGNED, /* M-X */ - F_UNASSIGNED, /* M-Y */ - F_UNASSIGNED, /* M-Z */ - F_UNASSIGNED, /* M-[ */ - F_UNASSIGNED, /* M-\ */ - F_UNASSIGNED, /* M-] */ - F_UNASSIGNED, /* M-^ */ - F_UNASSIGNED, /* M-_ */ - F_UNASSIGNED, /* M-` */ - F_UNASSIGNED, /* M-a */ - F_UNASSIGNED, /* M-b */ - F_UNASSIGNED, /* M-c */ - F_UNASSIGNED, /* M-d */ - F_UNASSIGNED, /* M-e */ - F_UNASSIGNED, /* M-f */ - F_UNASSIGNED, /* M-g */ - F_UNASSIGNED, /* M-h */ - F_UNASSIGNED, /* M-i */ - F_UNASSIGNED, /* M-j */ - F_UNASSIGNED, /* M-k */ - F_UNASSIGNED, /* M-l */ - F_UNASSIGNED, /* M-m */ - F_UNASSIGNED, /* M-n */ - F_UNASSIGNED, /* M-o */ - F_UNASSIGNED, /* M-p */ - F_UNASSIGNED, /* M-q */ - F_UNASSIGNED, /* M-r */ - F_UNASSIGNED, /* M-s */ - F_UNASSIGNED, /* M-t */ - F_UNASSIGNED, /* M-u */ - F_UNASSIGNED, /* M-v */ - F_UNASSIGNED, /* M-w */ - F_UNASSIGNED, /* M-x */ - F_UNASSIGNED, /* M-y */ - F_UNASSIGNED, /* M-z */ - F_UNASSIGNED, /* M-{ */ - F_UNASSIGNED, /* M-| */ - F_UNASSIGNED, /* M-} */ - F_UNASSIGNED, /* M-~ */ - F_UNASSIGNED /* M-^? */ -}; - -KEYCMD CcViCmdMap[] = { - F_UNASSIGNED, /* ^@ */ - F_TOBEG, /* ^A */ - F_UNASSIGNED, /* ^B */ - F_TTY_INT, /* ^C */ - F_LIST_CHOICES, /* ^D */ - F_TOEND, /* ^E */ - F_UNASSIGNED, /* ^F */ - F_LIST_GLOB, /* ^G */ - F_CHARBACK, /* ^H */ - V_CM_COMPLETE, /* ^I */ - F_NEWLINE, /* ^J */ - F_KILLEND, /* ^K */ - F_CLEARDISP, /* ^L */ - F_NEWLINE, /* ^M */ - F_DOWN_HIST, /* ^N */ - F_TTY_FLUSHO, /* ^O */ - F_UP_HIST, /* ^P */ - F_TTY_STARTO, /* ^Q */ - F_REDISP, /* ^R */ - F_TTY_STOPO, /* ^S */ - F_UNASSIGNED, /* ^T */ - F_KILLBEG, /* ^U */ - F_UNASSIGNED, /* ^V */ - F_DELWORDPREV, /* ^W */ - F_EXPAND, /* ^X */ - F_UNASSIGNED, /* ^Y */ - F_UNASSIGNED, /* ^Z */ - F_METANEXT, /* ^[ */ - F_TTY_QUIT, /* ^\ */ - F_UNASSIGNED, /* ^] */ - F_UNASSIGNED, /* ^^ */ - F_UNASSIGNED, /* ^_ */ - F_CHARFWD, /* SPACE */ - F_EXPAND_HISTORY, /* ! */ - F_UNASSIGNED, /* " */ - F_UNASSIGNED, /* # */ - F_TOEND, /* $ */ - F_UNASSIGNED, /* % */ - F_UNASSIGNED, /* & */ - F_UNASSIGNED, /* ' */ - F_UNASSIGNED, /* ( */ - F_UNASSIGNED, /* ) */ - F_EXPAND_GLOB, /* * */ - F_DOWN_HIST, /* + */ - V_RCHAR_BACK, /* , */ - F_UP_HIST, /* - */ - F_UNASSIGNED, /* . */ - V_DSH_META, /* / */ - V_ZERO, /* 0 */ - F_ARGDIGIT, /* 1 */ - F_ARGDIGIT, /* 2 */ - F_ARGDIGIT, /* 3 */ - F_ARGDIGIT, /* 4 */ - F_ARGDIGIT, /* 5 */ - F_ARGDIGIT, /* 6 */ - F_ARGDIGIT, /* 7 */ - F_ARGDIGIT, /* 8 */ - F_ARGDIGIT, /* 9 */ - F_UNASSIGNED, /* : */ - V_RCHAR_FWD, /* ; */ - F_UNASSIGNED, /* < */ - F_UNASSIGNED, /* = */ - F_UNASSIGNED, /* > */ - V_USH_META, /* ? */ - F_UNASSIGNED, /* @ */ - V_ADDEND, /* A */ - V_WORDBACK, /* B */ - V_CHGTOEND, /* C */ - F_KILLEND, /* D */ - V_ENDWORD, /* E */ - V_CHAR_BACK, /* F */ - F_UNASSIGNED, /* G */ - F_UNASSIGNED, /* H */ - V_INSBEG, /* I */ - F_DOWN_SEARCH_HIST, /* J */ - F_UP_SEARCH_HIST, /* K */ - F_UNASSIGNED, /* L */ - F_UNASSIGNED, /* M */ - V_RSRCH_BACK, /* N */ - F_XKEY, /* O */ - F_UNASSIGNED, /* P */ - F_UNASSIGNED, /* Q */ - V_REPLMODE, /* R */ - V_SUBSTLINE, /* S */ - V_CHARTO_BACK, /* T */ - F_UNASSIGNED, /* U */ - F_EXPAND_VARS, /* V */ - V_WORDFWD, /* W */ - F_DELPREV, /* X */ - F_UNASSIGNED, /* Y */ - F_UNASSIGNED, /* Z */ - F_XKEY, /* [ */ - F_UNASSIGNED, /* \ */ - F_UNASSIGNED, /* ] */ - F_TOBEG, /* ^ */ - F_UNASSIGNED, /* _ */ - F_UNASSIGNED, /* ` */ - V_ADD, /* a */ - F_WORDBACK, /* b */ - V_CHGMETA, /* c */ - V_DELMETA, /* d */ - V_EWORD, /* e */ - V_CHAR_FWD, /* f */ - F_UNASSIGNED, /* g */ - F_CHARBACK, /* h */ - V_INSERT, /* i */ - F_DOWN_HIST, /* j */ - F_UP_HIST, /* k */ - F_CHARFWD, /* l */ - F_UNASSIGNED, /* m */ - V_RSRCH_FWD, /* n */ - F_UNASSIGNED, /* o */ - F_UNASSIGNED, /* p */ - F_UNASSIGNED, /* q */ - V_REPLONE, /* r */ - V_SUBSTCHAR, /* s */ - V_CHARTO_FWD, /* t */ - V_UNDO, /* u */ - F_EXPAND_VARS, /* v */ - V_WORDBEGNEXT, /* w */ - F_DELNEXT_EOF, /* x */ - F_UNASSIGNED, /* y */ - F_UNASSIGNED, /* z */ - F_UNASSIGNED, /* { */ - F_UNASSIGNED, /* | */ - F_UNASSIGNED, /* } */ - V_CHGCASE, /* ~ */ - F_DELPREV, /* ^? */ - F_UNASSIGNED, /* M-^@ */ - F_UNASSIGNED, /* M-^A */ - F_UNASSIGNED, /* M-^B */ - F_UNASSIGNED, /* M-^C */ - F_UNASSIGNED, /* M-^D */ - F_UNASSIGNED, /* M-^E */ - F_UNASSIGNED, /* M-^F */ - F_UNASSIGNED, /* M-^G */ - F_UNASSIGNED, /* M-^H */ - F_UNASSIGNED, /* M-^I */ - F_UNASSIGNED, /* M-^J */ - F_UNASSIGNED, /* M-^K */ - F_UNASSIGNED, /* M-^L */ - F_UNASSIGNED, /* M-^M */ - F_UNASSIGNED, /* M-^N */ - F_UNASSIGNED, /* M-^O */ - F_UNASSIGNED, /* M-^P */ - F_UNASSIGNED, /* M-^Q */ - F_UNASSIGNED, /* M-^R */ - F_UNASSIGNED, /* M-^S */ - F_UNASSIGNED, /* M-^T */ - F_UNASSIGNED, /* M-^U */ - F_UNASSIGNED, /* M-^V */ - F_UNASSIGNED, /* M-^W */ - F_UNASSIGNED, /* M-^X */ - F_UNASSIGNED, /* M-^Y */ - F_UNASSIGNED, /* M-^Z */ - F_UNASSIGNED, /* M-^[ */ - F_UNASSIGNED, /* M-^\ */ - F_UNASSIGNED, /* M-^] */ - F_UNASSIGNED, /* M-^^ */ - F_UNASSIGNED, /* M-^_ */ - F_UNASSIGNED, /* M-SPACE */ - F_UNASSIGNED, /* M-! */ - F_UNASSIGNED, /* M-" */ - F_UNASSIGNED, /* M-# */ - F_UNASSIGNED, /* M-$ */ - F_UNASSIGNED, /* M-% */ - F_UNASSIGNED, /* M-& */ - F_UNASSIGNED, /* M-' */ - F_UNASSIGNED, /* M-( */ - F_UNASSIGNED, /* M-) */ - F_UNASSIGNED, /* M-* */ - F_UNASSIGNED, /* M-+ */ - F_UNASSIGNED, /* M-, */ - F_UNASSIGNED, /* M-- */ - F_UNASSIGNED, /* M-. */ - F_UNASSIGNED, /* M-/ */ - F_UNASSIGNED, /* M-0 */ - F_UNASSIGNED, /* M-1 */ - F_UNASSIGNED, /* M-2 */ - F_UNASSIGNED, /* M-3 */ - F_UNASSIGNED, /* M-4 */ - F_UNASSIGNED, /* M-5 */ - F_UNASSIGNED, /* M-6 */ - F_UNASSIGNED, /* M-7 */ - F_UNASSIGNED, /* M-8 */ - F_UNASSIGNED, /* M-9 */ - F_UNASSIGNED, /* M-: */ - F_UNASSIGNED, /* M-; */ - F_UNASSIGNED, /* M-< */ - F_UNASSIGNED, /* M-= */ - F_UNASSIGNED, /* M-> */ - F_HELPME, /* M-? */ - F_UNASSIGNED, /* M-@ */ - F_UNASSIGNED, /* M-A */ - F_UNASSIGNED, /* M-B */ - F_UNASSIGNED, /* M-C */ - F_UNASSIGNED, /* M-D */ - F_UNASSIGNED, /* M-E */ - F_UNASSIGNED, /* M-F */ - F_UNASSIGNED, /* M-G */ - F_UNASSIGNED, /* M-H */ - F_UNASSIGNED, /* M-I */ - F_UNASSIGNED, /* M-J */ - F_UNASSIGNED, /* M-K */ - F_UNASSIGNED, /* M-L */ - F_UNASSIGNED, /* M-M */ - F_UNASSIGNED, /* M-N */ - F_XKEY, /* M-O *//* extended key esc PWP Mar 88 */ - F_UNASSIGNED, /* M-P */ - F_UNASSIGNED, /* M-Q */ - F_UNASSIGNED, /* M-R */ - F_UNASSIGNED, /* M-S */ - F_UNASSIGNED, /* M-T */ - F_UNASSIGNED, /* M-U */ - F_UNASSIGNED, /* M-V */ - F_UNASSIGNED, /* M-W */ - F_UNASSIGNED, /* M-X */ - F_UNASSIGNED, /* M-Y */ - F_UNASSIGNED, /* M-Z */ - F_XKEY, /* M-[ *//* extended key esc -mf Oct 87 */ - F_UNASSIGNED, /* M-\ */ - F_UNASSIGNED, /* M-] */ - F_UNASSIGNED, /* M-^ */ - F_UNASSIGNED, /* M-_ */ - F_UNASSIGNED, /* M-` */ - F_UNASSIGNED, /* M-a */ - F_UNASSIGNED, /* M-b */ - F_UNASSIGNED, /* M-c */ - F_UNASSIGNED, /* M-d */ - F_UNASSIGNED, /* M-e */ - F_UNASSIGNED, /* M-f */ - F_UNASSIGNED, /* M-g */ - F_UNASSIGNED, /* M-h */ - F_UNASSIGNED, /* M-i */ - F_UNASSIGNED, /* M-j */ - F_UNASSIGNED, /* M-k */ - F_UNASSIGNED, /* M-l */ - F_UNASSIGNED, /* M-m */ - F_UNASSIGNED, /* M-n */ - F_UNASSIGNED, /* M-o */ - F_UNASSIGNED, /* M-p */ - F_UNASSIGNED, /* M-q */ - F_UNASSIGNED, /* M-r */ - F_UNASSIGNED, /* M-s */ - F_UNASSIGNED, /* M-t */ - F_UNASSIGNED, /* M-u */ - F_UNASSIGNED, /* M-v */ - F_UNASSIGNED, /* M-w */ - F_UNASSIGNED, /* M-x */ - F_UNASSIGNED, /* M-y */ - F_UNASSIGNED, /* M-z */ - F_UNASSIGNED, /* M-{ */ - F_UNASSIGNED, /* M-| */ - F_UNASSIGNED, /* M-} */ - F_UNASSIGNED, /* M-~ */ - F_UNASSIGNED /* M-^? */ -}; -#endif /* WINNT_NATIVE */ - - -void -editinit(void) -{ - struct KeyFuncs *f; - -#if defined(NLS_CATALOGS) || defined(WINNT_NATIVE) - int i; - - for (i = 0; i < F_NUM_FUNCNAMES; i++) - xfree((ptr_t)(intptr_t)FuncNames[i].desc); -#endif - - f = FuncNames; - f->name = "backward-char"; - f->func = F_CHARBACK; - f->desc = CSAVS(3, 1, "Move back a character"); - - f++; - f->name = "backward-delete-char"; - f->func = F_DELPREV; - f->desc = CSAVS(3, 2, "Delete the character behind cursor"); - - f++; - f->name = "backward-delete-word"; - f->func = F_DELWORDPREV; - f->desc = CSAVS(3, 3, - "Cut from beginning of current word to cursor - saved in cut buffer"); - - f++; - f->name = "backward-kill-line"; - f->func = F_KILLBEG; - f->desc = CSAVS(3, 4, - "Cut from beginning of line to cursor - save in cut buffer"); - - f++; - f->name = "backward-word"; - f->func = F_WORDBACK; - f->desc = CSAVS(3, 5, "Move to beginning of current word"); - - f++; - f->name = "beginning-of-line"; - f->func = F_TOBEG; - f->desc = CSAVS(3, 6, "Move to beginning of line"); - - f++; - f->name = "capitalize-word"; - f->func = F_CASECAPITAL; - f->desc = CSAVS(3, 7, - "Capitalize the characters from cursor to end of current word"); - - f++; - f->name = "change-case"; - f->func = V_CHGCASE; - f->desc = CSAVS(3, 8, - "Vi change case of character under cursor and advance one character"); - - f++; - f->name = "change-till-end-of-line"; - f->func = V_CHGTOEND; /* backward compat. */ - f->desc = CSAVS(3, 9, "Vi change to end of line"); - - f++; - f->name = "clear-screen"; - f->func = F_CLEARDISP; - f->desc = CSAVS(3, 10, "Clear screen leaving current line on top"); - - f++; - f->name = "complete-word"; - f->func = F_COMPLETE; - f->desc = CSAVS(3, 11, "Complete current word"); - - f++; - f->name = "complete-word-fwd"; - f->func = F_COMPLETE_FWD; - f->desc = CSAVS(3, 12, "Tab forward through files"); - - f++; - f->name = "complete-word-back"; - f->func = F_COMPLETE_BACK; - f->desc = CSAVS(3, 13, "Tab backward through files"); - - f++; - f->name = "complete-word-raw"; - f->func = F_COMPLETE_ALL; - f->desc = CSAVS(3, 14, - "Complete current word ignoring programmable completions"); - - f++; - f->name = "copy-prev-word"; - f->func = F_COPYPREV; - f->desc = CSAVS(3, 15, "Copy current word to cursor"); - - f++; - f->name = "copy-region-as-kill"; - f->func = F_COPYREGION; - f->desc = CSAVS(3, 16, "Copy area between mark and cursor to cut buffer"); - - f++; - f->name = "dabbrev-expand"; - f->func = F_DABBREV_EXPAND; - f->desc = CSAVS(3, 17, - "Expand to preceding word for which this is a prefix"); - - f++; - f->name = "delete-char"; - f->func = F_DELNEXT; - f->desc = CSAVS(3, 18, "Delete character under cursor"); - - f++; - f->name = "delete-char-or-eof"; - f->func = F_DELNEXT_EOF; - f->desc = CSAVS(3, 19, - "Delete character under cursor or signal end of file on an empty line"); - - f++; - f->name = "delete-char-or-list"; - f->func = F_DELNEXT_LIST; - f->desc = CSAVS(3, 20, - "Delete character under cursor or list completions if at end of line"); - - f++; - f->name = "delete-char-or-list-or-eof"; - f->func = F_DELNEXT_LIST_EOF; - f->desc = CSAVS(3, 21, - "Delete character under cursor, list completions or signal end of file"); - - f++; - f->name = "delete-word"; - f->func = F_DELWORDNEXT; - f->desc = CSAVS(3, 22, - "Cut from cursor to end of current word - save in cut buffer"); - - f++; - f->name = "digit"; - f->func = F_DIGIT; - f->desc = CSAVS(3, 23, "Adds to argument if started or enters digit"); - - f++; - f->name = "digit-argument"; - f->func = F_ARGDIGIT; - f->desc = CSAVS(3, 24, "Digit that starts argument"); - - f++; - f->name = "down-history"; - f->func = F_DOWN_HIST; - f->desc = CSAVS(3, 25, "Move to next history line"); - - f++; - f->name = "downcase-word"; - f->func = F_CASELOWER; - f->desc = CSAVS(3, 26, - "Lowercase the characters from cursor to end of current word"); - - f++; - f->name = "end-of-file"; - f->func = F_SEND_EOF; - f->desc = CSAVS(3, 27, "Indicate end of file"); - - f++; - f->name = "end-of-line"; - f->func = F_TOEND; - f->desc = CSAVS(3, 28, "Move cursor to end of line"); - - f++; - f->name = "exchange-point-and-mark"; - f->func = F_EXCHANGE_MARK; - f->desc = CSAVS(3, 29, "Exchange the cursor and mark"); - - f++; - f->name = "expand-glob"; - f->func = F_EXPAND_GLOB; - f->desc = CSAVS(3, 30, "Expand file name wildcards"); - - f++; - f->name = "expand-history"; - f->func = F_EXPAND_HISTORY; - f->desc = CSAVS(3, 31, "Expand history escapes"); - - f++; - f->name = "expand-line"; - f->func = F_EXPAND; - f->desc = CSAVS(3, 32, "Expand the history escapes in a line"); - - f++; - f->name = "expand-variables"; - f->func = F_EXPAND_VARS; - f->desc = CSAVS(3, 33, "Expand variables"); - - f++; - f->name = "forward-char"; - f->func = F_CHARFWD; - f->desc = CSAVS(3, 34, "Move forward one character"); - - f++; - f->name = "forward-word"; - f->func = F_WORDFWD; - f->desc = CSAVS(3, 35, "Move forward to end of current word"); - - f++; - f->name = "gosmacs-transpose-chars"; - f->func = F_GCHARSWITCH; - f->desc = CSAVS(3, 36, "Exchange the two characters before the cursor"); - - f++; - f->name = "history-search-backward"; - f->func = F_UP_SEARCH_HIST; - f->desc = CSAVS(3, 37, - "Search in history backward for line beginning as current"); - - f++; - f->name = "history-search-forward"; - f->func = F_DOWN_SEARCH_HIST; - f->desc = CSAVS(3, 38, - "Search in history forward for line beginning as current"); - - f++; - f->name = "insert-last-word"; - f->func = F_LAST_ITEM; - f->desc = CSAVS(3, 39, "Insert last item of previous command"); - - f++; - f->name = "i-search-fwd"; - f->func = F_INC_FWD; - f->desc = CSAVS(3, 40, "Incremental search forward"); - - f++; - f->name = "i-search-back"; - f->func = F_INC_BACK; - f->desc = CSAVS(3, 41, "Incremental search backward"); - - f++; - f->name = "keyboard-quit"; - f->func = F_STARTOVER; - f->desc = CSAVS(3, 42, "Clear line"); - - f++; - f->name = "kill-line"; - f->func = F_KILLEND; - f->desc = CSAVS(3, 43, "Cut to end of line and save in cut buffer"); - - f++; - f->name = "kill-region"; - f->func = F_KILLREGION; - f->desc = CSAVS(3, 44, - "Cut area between mark and cursor and save in cut buffer"); - - f++; - f->name = "kill-whole-line"; - f->func = F_KILLALL; - f->desc = CSAVS(3, 45, "Cut the entire line and save in cut buffer"); - - f++; - f->name = "list-choices"; - f->func = F_LIST_CHOICES; - f->desc = CSAVS(3, 46, "List choices for completion"); - - f++; - f->name = "list-choices-raw"; - f->func = F_LIST_ALL; - f->desc = CSAVS(3, 47, - "List choices for completion overriding programmable completion"); - - f++; - f->name = "list-glob"; - f->func = F_LIST_GLOB; - f->desc = CSAVS(3, 48, "List file name wildcard matches"); - - f++; - f->name = "list-or-eof"; - f->func = F_LIST_EOF; - f->desc = CSAVS(3, 49, - "List choices for completion or indicate end of file if empty line"); - - f++; - f->name = "load-average"; - f->func = F_LOAD_AVERAGE; - f->desc = CSAVS(3, 50, "Display load average and current process status"); - - f++; - f->name = "magic-space"; - f->func = F_MAGIC_SPACE; - f->desc = CSAVS(3, 51, "Expand history escapes and insert a space"); - - f++; - f->name = "newline"; - f->func = F_NEWLINE; - f->desc = CSAVS(3, 52, "Execute command"); - - f++; - f->name = "newline-and-hold"; - f->func = F_NEWLINE_HOLD; - f->desc = CSAVS(3, 122, "Execute command and keep current line"); - - f++; - f->name = "newline-and-down-history"; - f->func = F_NEWLINE_DOWN_HIST; - f->desc = CSAVS(3, 123, "Execute command and move to next history line"); - - f++; - f->name = "normalize-path"; - f->func = F_PATH_NORM; - f->desc = CSAVS(3, 53, - "Expand pathnames, eliminating leading .'s and ..'s"); - - f++; - f->name = "normalize-command"; - f->func = F_COMMAND_NORM; - f->desc = CSAVS(3, 54, - "Expand commands to the resulting pathname or alias"); - - f++; - f->name = "overwrite-mode"; - f->func = F_INSOVR; - f->desc = CSAVS(3, 55, - "Switch from insert to overwrite mode or vice versa"); - - f++; - f->name = "prefix-meta"; - f->func = F_METANEXT; - f->desc = CSAVS(3, 56, "Add 8th bit to next character typed"); - - f++; - f->name = "quoted-insert"; - f->func = F_QUOTE; - f->desc = CSAVS(3, 57, "Add the next character typed to the line verbatim"); - - f++; - f->name = "redisplay"; - f->func = F_REDISP; - f->desc = CSAVS(3, 58, "Redisplay everything"); - - f++; - f->name = "run-fg-editor"; - f->func = F_RUN_FG_EDITOR; - f->desc = CSAVS(3, 59, "Restart stopped editor"); - - f++; - f->name = "run-help"; - f->func = F_HELPME; - f->desc = CSAVS(3, 60, "Look for help on current command"); - - f++; - f->name = "self-insert-command"; - f->func = F_INSERT; - f->desc = CSAVS(3, 61, "This character is added to the line"); - - f++; - f->name = "sequence-lead-in"; - f->func = F_XKEY; - f->desc = CSAVS(3, 62, - "This character is the first in a character sequence"); - - f++; - f->name = "set-mark-command"; - f->func = F_SET_MARK; - f->desc = CSAVS(3, 63, "Set the mark at cursor"); - - f++; - f->name = "spell-word"; - f->func = F_CORRECT; - f->desc = CSAVS(3, 64, "Correct the spelling of current word"); - - f++; - f->name = "spell-line"; - f->func = F_CORRECT_L; - f->desc = CSAVS(3, 65, "Correct the spelling of entire line"); - - f++; - f->name = "stuff-char"; - f->func = F_STUFF_CHAR; - f->desc = CSAVS(3, 66, "Send character to tty in cooked mode"); - - f++; - f->name = "toggle-literal-history"; - f->func = F_TOGGLE_HIST; - f->desc = CSAVS(3, 67, - "Toggle between literal and lexical current history line"); - - f++; - f->name = "transpose-chars"; - f->func = F_CHARSWITCH; - f->desc = CSAVS(3, 68, - "Exchange the character to the left of the cursor with the one under"); - - f++; - f->name = "transpose-gosling"; - f->func = F_GCHARSWITCH; - f->desc = CSAVS(3, 69, "Exchange the two characters before the cursor"); - - f++; - f->name = "tty-dsusp"; - f->func = F_TTY_DSUSP; - f->desc = CSAVS(3, 70, "Tty delayed suspend character"); - - f++; - f->name = "tty-flush-output"; - f->func = F_TTY_FLUSHO; - f->desc = CSAVS(3, 71, "Tty flush output character"); - - f++; - f->name = "tty-sigintr"; - f->func = F_TTY_INT; - f->desc = CSAVS(3, 72, "Tty interrupt character"); - - f++; - f->name = "tty-sigquit"; - f->func = F_TTY_QUIT; - f->desc = CSAVS(3, 73, "Tty quit character"); - - f++; - f->name = "tty-sigtsusp"; - f->func = F_TTY_TSUSP; - f->desc = CSAVS(3, 74, "Tty suspend character"); - - f++; - f->name = "tty-start-output"; - f->func = F_TTY_STARTO; - f->desc = CSAVS(3, 75, "Tty allow output character"); - - f++; - f->name = "tty-stop-output"; - f->func = F_TTY_STOPO; - f->desc = CSAVS(3, 76, "Tty disallow output character"); - - f++; - f->name = "undefined-key"; - f->func = F_UNASSIGNED; - f->desc = CSAVS(3, 77, "Indicates unbound character"); - - f++; - f->name = "universal-argument"; - f->func = F_ARGFOUR; - f->desc = CSAVS(3, 78, "Emacs universal argument (argument times 4)"); - - f++; - f->name = "up-history"; - f->func = F_UP_HIST; - f->desc = CSAVS(3, 79, "Move to previous history line"); - - f++; - f->name = "upcase-word"; - f->func = F_CASEUPPER; - f->desc = CSAVS(3, 80, - "Uppercase the characters from cursor to end of current word"); - - f++; - f->name = "vi-beginning-of-next-word"; - f->func = V_WORDBEGNEXT; - f->desc = CSAVS(3, 81, "Vi goto the beginning of next word"); - - f++; - f->name = "vi-add"; - f->func = V_ADD; - f->desc = CSAVS(3, 82, "Vi enter insert mode after the cursor"); - - f++; - f->name = "vi-add-at-eol"; - f->func = V_ADDEND; - f->desc = CSAVS(3, 83, "Vi enter insert mode at end of line"); - - f++; - f->name = "vi-chg-case"; - f->func = V_CHGCASE; - f->desc = CSAVS(3, 84, - "Vi change case of character under cursor and advance one character"); - - f++; - f->name = "vi-chg-meta"; - f->func = V_CHGMETA; - f->desc = CSAVS(3, 85, "Vi change prefix command"); - - f++; - f->name = "vi-chg-to-eol"; - f->func = V_CHGTOEND; - f->desc = CSAVS(3, 86, "Vi change to end of line"); - - f++; - f->name = "vi-cmd-mode"; - f->func = V_CMD_MODE; - f->desc = CSAVS(3, 87, - "Enter vi command mode (use alternative key bindings)"); - - f++; - f->name = "vi-cmd-mode-complete"; - f->func = V_CM_COMPLETE; - f->desc = CSAVS(3, 88, "Vi command mode complete current word"); - - f++; - f->name = "vi-delprev"; - f->func = V_DELPREV; - f->desc = CSAVS(3, 89, "Vi move to previous character (backspace)"); - - f++; - f->name = "vi-delmeta"; - f->func = V_DELMETA; - f->desc = CSAVS(3, 90, "Vi delete prefix command"); - - f++; - f->name = "vi-endword"; - f->func = V_ENDWORD; - f->desc = CSAVS(3, 91, - "Vi move to the end of the current space delimited word"); - - f++; - f->name = "vi-eword"; - f->func = V_EWORD; - f->desc = CSAVS(3, 92, "Vi move to the end of the current word"); - - f++; - f->name = "vi-char-back"; - f->func = V_CHAR_BACK; - f->desc = CSAVS(3, 93, "Vi move to the character specified backward"); - - f++; - f->name = "vi-char-fwd"; - f->func = V_CHAR_FWD; - f->desc = CSAVS(3, 94, "Vi move to the character specified forward"); - - f++; - f->name = "vi-charto-back"; - f->func = V_CHARTO_BACK; - f->desc = CSAVS(3, 95, "Vi move up to the character specified backward"); - - f++; - f->name = "vi-charto-fwd"; - f->func = V_CHARTO_FWD; - f->desc = CSAVS(3, 96, "Vi move up to the character specified forward"); - - f++; - f->name = "vi-insert"; - f->func = V_INSERT; - f->desc = CSAVS(3, 97, "Enter vi insert mode"); - - f++; - f->name = "vi-insert-at-bol"; - f->func = V_INSBEG; - f->desc = CSAVS(3, 98, "Enter vi insert mode at beginning of line"); - - f++; - f->name = "vi-repeat-char-fwd"; - f->func = V_RCHAR_FWD; - f->desc = CSAVS(3, 99, - "Vi repeat current character search in the same search direction"); - - f++; - f->name = "vi-repeat-char-back"; - f->func = V_RCHAR_BACK; - f->desc = CSAVS(3, 100, - "Vi repeat current character search in the opposite search direction"); - - f++; - f->name = "vi-repeat-search-fwd"; - f->func = V_RSRCH_FWD; - f->desc = CSAVS(3, 101, - "Vi repeat current search in the same search direction"); - - f++; - f->name = "vi-repeat-search-back"; - f->func = V_RSRCH_BACK; - f->desc = CSAVS(3, 102, - "Vi repeat current search in the opposite search direction"); - - f++; - f->name = "vi-replace-char"; - f->func = V_REPLONE; - f->desc = CSAVS(3, 103, - "Vi replace character under the cursor with the next character typed"); - - f++; - f->name = "vi-replace-mode"; - f->func = V_REPLMODE; - f->desc = CSAVS(3, 104, "Vi replace mode"); - - f++; - f->name = "vi-search-back"; - f->func = V_USH_META; - f->desc = CSAVS(3, 105, "Vi search history backward"); - - f++; - f->name = "vi-search-fwd"; - f->func = V_DSH_META; - f->desc = CSAVS(3, 106, "Vi search history forward"); - - f++; - f->name = "vi-substitute-char"; - f->func = V_SUBSTCHAR; - f->desc = CSAVS(3, 107, - "Vi replace character under the cursor and enter insert mode"); - - f++; - f->name = "vi-substitute-line"; - f->func = V_SUBSTLINE; - f->desc = CSAVS(3, 108, "Vi replace entire line"); - - f++; - f->name = "vi-word-back"; - f->func = V_WORDBACK; - f->desc = CSAVS(3, 109, "Vi move to the previous word"); - - f++; - f->name = "vi-word-fwd"; - f->func = V_WORDFWD; - f->desc = CSAVS(3, 110, "Vi move to the next word"); - - f++; - f->name = "vi-undo"; - f->func = V_UNDO; - f->desc = CSAVS(3, 111, "Vi undo last change"); - - f++; - f->name = "vi-zero"; - f->func = V_ZERO; - f->desc = CSAVS(3, 112, "Vi goto the beginning of line"); - - f++; - f->name = "which-command"; - f->func = F_WHICH; - f->desc = CSAVS(3, 113, "Perform which of current command"); - - f++; - f->name = "yank"; - f->func = F_YANK_KILL; - f->desc = CSAVS(3, 114, "Paste cut buffer at cursor position"); - - f++; - f->name = "yank-pop"; - f->func = F_YANK_POP; - f->desc = CSAVS(3, 115, - "Replace just-yanked text with yank from earlier kill"); - - f++; - f->name = "e_copy_to_clipboard"; - f->func = F_COPY_CLIP; - f->desc = CSAVS(3, 116, - "(WIN32 only) Copy cut buffer to system clipboard"); - - f++; - f->name = "e_paste_from_clipboard"; - f->func = F_PASTE_CLIP; - f->desc = CSAVS(3, 117, - "(WIN32 only) Paste clipboard buffer at cursor position"); - - f++; - f->name = "e_dosify_next"; - f->func = F_DOSIFY_NEXT; - f->desc = CSAVS(3, 118, - "(WIN32 only) Convert each '/' in next word to '\\\\'"); - - f++; - f->name = "e_dosify_prev"; - f->func = F_DOSIFY_PREV; - f->desc = CSAVS(3, 119, - "(WIN32 only) Convert each '/' in previous word to '\\\\'"); - - f++; - f->name = "e_page_up"; - f->func = F_PAGE_UP; - f->desc = CSAVS(3, 120, "(WIN32 only) Page visible console window up"); - - f++; - f->name = "e_page_down"; - f->func = F_PAGE_DOWN; - f->desc = CSAVS(3, 121, "(WIN32 only) Page visible console window down"); - - f++; - f->name = NULL; - f->func = 0; - f->desc = NULL; - - f++; - if (f - FuncNames != F_NUM_FUNCNAMES) - abort(); -} - -#ifdef DEBUG_EDIT -void -CheckMaps(void) -{ /* check the size of the key maps */ - int c1 = (NT_NUM_KEYS * sizeof(KEYCMD)); - - if ((sizeof(CcKeyMap)) != c1) - xprintf("CcKeyMap should be %d entries, but is %d.\r\n", - NT_NUM_KEYS, sizeof(CcKeyMap) / sizeof(KEYCMD))); - - if ((sizeof(CcAltMap)) != c1) - xprintf("CcAltMap should be %d entries, but is %d.\r\n", - NT_NUM_KEYS, (sizeof(CcAltMap) / sizeof(KEYCMD))); - - if ((sizeof(CcEmacsMap)) != c1) - xprintf("CcEmacsMap should be %d entries, but is %d.\r\n", - NT_NUM_KEYS, (sizeof(CcEmacsMap) / sizeof(KEYCMD))); - - if ((sizeof(CcViMap)) != c1) - xprintf("CcViMap should be %d entries, but is %d.\r\n", - NT_NUM_KEYS, (sizeof(CcViMap) / sizeof(KEYCMD))); - - if ((sizeof(CcViCmdMap)) != c1) - xprintf("CcViCmdMap should be %d entries, but is %d.\r\n", - NT_NUM_KEYS, (sizeof(CcViCmdMap) / sizeof(KEYCMD))); -} - -#endif - -int MapsAreInited = 0; -int NLSMapsAreInited = 0; -int NoNLSRebind; - -void -ed_InitNLSMaps(void) -{ - int i; - - if (AsciiOnly) - return; - if (NoNLSRebind) - return; - for (i = 0200; i <= 0377; i++) { - if (Isprint(CTL_ESC(i))) { - CcKeyMap[CTL_ESC(i)] = F_INSERT; - } - } - NLSMapsAreInited = 1; -} - -static void -ed_InitMetaBindings(void) -{ - Char buf[3]; - int i; - CStr cstr; - KEYCMD *map; - - map = CcKeyMap; - for (i = 0; i <= 0377 && CcKeyMap[CTL_ESC(i)] != F_METANEXT; i++) - continue; - if (i > 0377) { - for (i = 0; i <= 0377 && CcAltMap[CTL_ESC(i)] != F_METANEXT; i++) - continue; - if (i > 0377) { - i = '\033'; - if (VImode) - map = CcAltMap; - } - else { - map = CcAltMap; - } - } - buf[0] = (Char)CTL_ESC(i); - buf[2] = 0; - cstr.buf = buf; - cstr.len = 2; - for (i = 0200; i <= 0377; i++) { - if (map[CTL_ESC(i)] != F_INSERT && map[CTL_ESC(i)] != F_UNASSIGNED && map[CTL_ESC(i)] != F_XKEY) { - buf[1] = CTL_ESC(i & ASCII); - AddXkey(&cstr, XmapCmd((int) map[CTL_ESC(i)]), XK_CMD); - } - } - map[buf[0]] = F_XKEY; -} - -void -ed_InitVIMaps(void) -{ - int i; - - VImode = 1; - ResetXmap(); - for (i = 0; i < NT_NUM_KEYS; i++) { - CcKeyMap[i] = CcViMap[i]; - CcAltMap[i] = CcViCmdMap[i]; - } - ed_InitMetaBindings(); - ed_InitNLSMaps(); - ResetArrowKeys(); - BindArrowKeys(); -} - -void -ed_InitEmacsMaps(void) -{ - int i; - Char buf[3]; - CStr cstr; - cstr.buf = buf; - cstr.len = 2; - - VImode = 0; - ResetXmap(); - for (i = 0; i < NT_NUM_KEYS; i++) { - CcKeyMap[i] = CcEmacsMap[i]; - CcAltMap[i] = F_UNASSIGNED; - } - ed_InitMetaBindings(); - ed_InitNLSMaps(); - buf[0] = CTL_ESC('\030'); - buf[2] = 0; - buf[1] = CTL_ESC('\030'); - AddXkey(&cstr, XmapCmd(F_EXCHANGE_MARK), XK_CMD); - buf[1] = '*'; - AddXkey(&cstr, XmapCmd(F_EXPAND_GLOB), XK_CMD); - buf[1] = '$'; - AddXkey(&cstr, XmapCmd(F_EXPAND_VARS), XK_CMD); - buf[1] = 'G'; - AddXkey(&cstr, XmapCmd(F_LIST_GLOB), XK_CMD); - buf[1] = 'g'; - AddXkey(&cstr, XmapCmd(F_LIST_GLOB), XK_CMD); - buf[1] = 'n'; - AddXkey(&cstr, XmapCmd(F_PATH_NORM), XK_CMD); - buf[1] = 'N'; - AddXkey(&cstr, XmapCmd(F_PATH_NORM), XK_CMD); - buf[1] = '?'; - AddXkey(&cstr, XmapCmd(F_COMMAND_NORM), XK_CMD); - buf[1] = '\t'; - AddXkey(&cstr, XmapCmd(F_COMPLETE_ALL), XK_CMD); - buf[1] = CTL_ESC('\004'); /* ^D */ - AddXkey(&cstr, XmapCmd(F_LIST_ALL), XK_CMD); - ResetArrowKeys(); - BindArrowKeys(); -} - -void -ed_InitMaps(void) -{ - if (MapsAreInited) - return; -#ifndef IS_ASCII - /* This machine has an EBCDIC charset. The assumptions made for the - * initialized keymaps therefore don't hold, since they are based on - * ASCII (or ISO8859-1). - * Here, we do a one-time transformation to EBCDIC environment - * for the key initializations. - */ - { - KEYCMD temp[NT_NUM_KEYS]; - static KEYCMD *const list[3] = { CcEmacsMap, CcViMap, CcViCmdMap }; - int i, table; - - for (table=0; table<3; ++table) - { - /* copy ASCII ordered map to temp table */ - for (i = 0; i < NT_NUM_KEYS; i++) { - temp[i] = list[table][i]; - } - /* write back as EBCDIC ordered map */ - for (i = 0; i < NT_NUM_KEYS; i++) { - list[table][_toebcdic[i]] = temp[i]; - } - } - } -#endif /* !IS_ASCII */ - -#ifdef VIDEFAULT - ed_InitVIMaps(); -#else - ed_InitEmacsMaps(); -#endif - - MapsAreInited = 1; -} |