diff options
author | Thomas E. Dickey <dickey@invisible-island.net> | 2013-10-12 00:24:53 -0400 |
---|---|---|
committer | Thomas E. Dickey <dickey@invisible-island.net> | 2013-10-12 00:24:53 -0400 |
commit | f1977d62c94d74a72d1c7a4abbbecdec21e3980e (patch) | |
tree | ecb76b7a0c4542b1a71eb73bd0eb78c128d51f8f | |
parent | 6c554d1e336d6263a0e1436690451566ce256abc (diff) | |
download | lynx-snapshots-f1977d62c94d74a72d1c7a4abbbecdec21e3980e.tar.gz |
snapshot of project "lynx", label v2-8-8dev_16p
-rw-r--r-- | CHANGES | 9 | ||||
-rw-r--r-- | PACKAGE/lynx.nsi | 40 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTFTP.c | 33 | ||||
-rw-r--r-- | samples/lynx.bat | 17 | ||||
-rw-r--r-- | samples/oldlynx.bat | 22 | ||||
-rw-r--r-- | src/LYClean.c | 73 | ||||
-rw-r--r-- | src/LYClean.h | 1 | ||||
-rw-r--r-- | src/LYCurses.h | 4 | ||||
-rw-r--r-- | src/LYEditmap.c | 2168 | ||||
-rw-r--r-- | src/LYForms.c | 4 | ||||
-rw-r--r-- | src/LYKeymap.c | 8 | ||||
-rw-r--r-- | src/LYKeymap.h | 8 | ||||
-rw-r--r-- | src/LYMain.c | 3 | ||||
-rw-r--r-- | src/LYMainLoop.c | 14 | ||||
-rw-r--r-- | src/LYOptions.c | 5 | ||||
-rw-r--r-- | src/LYStrings.h | 23 | ||||
-rw-r--r-- | src/LYUtils.c | 5 |
17 files changed, 1421 insertions, 1016 deletions
diff --git a/CHANGES b/CHANGES index 26f25970..ce0ecf82 100644 --- a/CHANGES +++ b/CHANGES @@ -1,9 +1,14 @@ --- $LynxId: CHANGES,v 1.677 2013/10/09 19:20:47 tom Exp $ +-- $LynxId: CHANGES,v 1.678 2013/10/11 09:47:44 tom Exp $ =============================================================================== Changes since Lynx 2.8 release =============================================================================== -2013-10-09 (2.8.8dev.17) +2013-10-11 (2.8.8dev.17) +* modify tables for edit-bindings to allow them to be reloaded to their initial + values -TD +* add check in get_connection() for ftp-connections to ensure that a password + from a URL is non-empty -TD +* add samples/oldlynx.bat to demonstrate how to use non-color-style -TD * add NSIS script, to allow building Windows installer via cross-compiling -TD * fixes to configure script and makefiles to work with empty $prefix, e.g., as used in MSYS -TD diff --git a/PACKAGE/lynx.nsi b/PACKAGE/lynx.nsi index 25bbec1b..c7c0e51b 100644 --- a/PACKAGE/lynx.nsi +++ b/PACKAGE/lynx.nsi @@ -1,4 +1,4 @@ -; $LynxId: lynx.nsi,v 1.3 2013/10/09 19:06:24 tom Exp $ +; $LynxId: lynx.nsi,v 1.5 2013/10/10 09:34:22 tom Exp $ ; Script originally generated with the Venis Install Wizard, but customized. ; The Inno Setup script is preferred; but this can be built via cross-compiling. @@ -83,38 +83,31 @@ Section "${APPNAME}" Section1 CreateShortCut "$SENDTO\${APPNAME}.lnk" "$INSTDIR\${EXENAME}" CreateDirectory "$SMPROGRAMS\${INSTALL}" CreateShortCut "$SMPROGRAMS\${INSTALL}\${INSTALL}.lnk" "$INSTDIR\${EXENAME}" + CreateShortCut "$SMPROGRAMS\${INSTALL}\${APPNAME} - Help.lnk" "$INSTDIR\help\lynx_help_main.html" CreateShortCut "$SMPROGRAMS\${INSTALL}\Uninstall.lnk" "$INSTDIR\uninstall.exe" File ".\share\lynx_doc\samples\*.lss" ; preinstall lynx.cfg as a temporary file - File /oname=config.tmp ".\etc\${LYNX_CFG}" + File /oname=${LYNX_CFG} ".\etc\${LYNX_CFG}" ; at install-time, append our customization - FileOpen $0 "config.tmp" r - FileOpen $1 ".\${LYNX_CFG}" w - loop: - FileRead $0 $2 - IfErrors done - FileWrite $1 "$2" - goto loop - done: - FileWrite $1 "HELPFILE:$INSTDIR\help\Lynx_help_main.html.gz$\n" - FileWrite $1 "COLOR_STYLE:$INSTDIR\opaque.lss$\n" - FileWrite $1 "CHMOD_PATH:$\n" - FileWrite $1 "COPY_PATH:$\n" - FileWrite $1 "MKDIR_PATH:$\n" - FileWrite $1 "MV_PATH:$\n" - FileWrite $1 "RMDIR_PATH:$\n" - FileWrite $1 "RM_PATH:$\n" - FileWrite $1 "TOUCH_PATH:$\n" + FileOpen $0 "${LYNX_CFG}" a + FileSeek $0 0 END + FileWrite $0 "HELPFILE:$INSTDIR\help\Lynx_help_main.html.gz$\n" + FileWrite $0 "COLOR_STYLE:$INSTDIR\opaque.lss$\n" + FileWrite $0 "CHMOD_PATH:$\n" + FileWrite $0 "COPY_PATH:$\n" + FileWrite $0 "MKDIR_PATH:$\n" + FileWrite $0 "MV_PATH:$\n" + FileWrite $0 "RMDIR_PATH:$\n" + FileWrite $0 "RM_PATH:$\n" + FileWrite $0 "TOUCH_PATH:$\n" FileClose $0 - FileClose $1 - - Delete "config.tmp" File "..\samples\lynx.bat" File "..\samples\lynx-demo.cfg" + File "..\samples\oldlynx.bat" File "..\samples\jumps.htm" File "..\samples\home.htm" @@ -199,7 +192,8 @@ Section Uninstall ; Delete Shortcuts Delete "$DESKTOP\${APPNAME}.lnk" Delete "$SENDTO\${APPNAME}.lnk" - Delete "$SMPROGRAMS\${INSTALL}\${APPNAME}.lnk" + Delete "$SMPROGRAMS\${INSTALL}\${INSTALL}.lnk" + Delete "$SMPROGRAMS\${INSTALL}\${APPNAME} - Help.lnk" Delete "$SMPROGRAMS\${INSTALL}\Uninstall.lnk" ; Clean up application diff --git a/WWW/Library/Implementation/HTFTP.c b/WWW/Library/Implementation/HTFTP.c index 904ed845..5653cd69 100644 --- a/WWW/Library/Implementation/HTFTP.c +++ b/WWW/Library/Implementation/HTFTP.c @@ -1,5 +1,5 @@ /* - * $LynxId: HTFTP.c,v 1.121 2013/05/06 00:09:50 tom Exp $ + * $LynxId: HTFTP.c,v 1.124 2013/10/11 09:21:37 tom Exp $ * * File Transfer Protocol (FTP) Client * for a WorldWideWeb browser @@ -96,9 +96,8 @@ typedef struct _connection { struct _connection *next; /* Link on list */ - unsigned long addr; /* IP address */ int socket; /* Socket number for communication */ - BOOL binary; /* Binary mode? */ + BOOL is_binary; /* Binary mode? */ } connection; /* Hypertext object building machinery @@ -812,20 +811,15 @@ static int get_connection(const char *arg, firstuse = FALSE; } - if (control) { - /* - * Reuse this object - KW, DW & FM - */ + if (control != 0) { + connection *next = control->next; + if (control->socket != -1) { NETCLOSE(control->socket); } - con = control; - con->addr = 0; - con->binary = FALSE; + memset(con = control, 0, sizeof(*con)); + con->next = next; } else { - /* - * Allocate and init control struct. - */ con = typecalloc(connection); if (con == NULL) outofmem(__FILE__, "get_connection"); @@ -957,14 +951,11 @@ static int get_connection(const char *arg, CheckForInterrupt("while sending username"); } if (status == 3) { /* Send password */ - if (password) { - /* - * We have non-zero length password, so send it. - FM - */ + if (non_empty(password)) { HTSprintf0(&command, "PASS %s%c%c", password, CR, LF); } else { /* - * Create and send a mail address as the password. - FM + * No password was given; use mail-address. */ const char *the_address; char *user = NULL; @@ -3650,7 +3641,7 @@ int HTFTPLoad(const char *name, */ binary = FALSE; } - if (binary != control->binary) { + if (binary != control->is_binary) { /* * Act on our setting if not already set. - FM */ @@ -3661,7 +3652,7 @@ int HTFTPLoad(const char *name, init_help_message_cache(); /* to free memory */ return ((status < 0) ? status : -status); } - control->binary = binary; + control->is_binary = binary; } switch (server_type) { /* @@ -3965,7 +3956,7 @@ int HTFTPLoad(const char *name, * ftp servers which implement RFC 3659. Knowing the size lets * us in turn display ETA in the progress message -TD */ - if (control->binary) { + if (control->is_binary) { int code; off_t size; diff --git a/samples/lynx.bat b/samples/lynx.bat index a017cdfc..368145e5 100644 --- a/samples/lynx.bat +++ b/samples/lynx.bat @@ -1,10 +1,11 @@ -@rem $LynxId: lynx.bat,v 1.1 2007/08/01 23:54:17 tom Exp $ +@echo off +@rem $LynxId: lynx.bat,v 1.2 2013/10/10 09:25:44 tom Exp $ @rem Claudio Santambrogio -@ECHO OFF -command /C -set term=vt100 -set home=%CD% -set temp=%HOME%\tmp -set lynx_cfg=%HOME%\lynx-demo.cfg -set lynx_lss=%HOME%\opaque.lss +setlocal +set TERM=vt100 +set HOME=%CD% +set TEMP=%HOME%\tmp +set LYNX_CFG=%HOME%\lynx-demo.cfg +set LYNX_LSS=%HOME%\opaque.lss %HOME%\lynx.exe %1 %2 %3 %4 %5 +endlocal diff --git a/samples/oldlynx.bat b/samples/oldlynx.bat new file mode 100644 index 00000000..115c1eb2 --- /dev/null +++ b/samples/oldlynx.bat @@ -0,0 +1,22 @@ +@ECHO OFF +@rem $LynxId: oldlynx.bat,v 1.1 2013/10/10 09:09:58 tom Exp $ +@rem demonstrate lynx without color-style -TD +setlocal + +set TERM=vt100 +set HOME=%CD% +set TEMP=%HOME%\tmp + +set LYNX_CFG=%HOME%\oldlynx.cfg +set LYNX_LSS= + +if exist %LYNX_CFG% goto done + +echo "DEFAULT_COLORS:off" >>%LYNX_CFG% +echo "include:lynx-demo.cfg" >>%LYNX_CFG% +echo "COLOR_STYLE:" >>%LYNX_CFG% +echo "NESTED_TABLES:off" >>%LYNX_CFG% + +:done +%HOME%\lynx.exe -lss="" %1 %2 %3 %4 %5 %6 %7 %8 %9 +endlocal diff --git a/src/LYClean.c b/src/LYClean.c index efeb3841..3679d876 100644 --- a/src/LYClean.c +++ b/src/LYClean.c @@ -1,4 +1,4 @@ -/* $LynxId: LYClean.c,v 1.38 2008/02/11 00:50:19 Paul.B.Mahol Exp $ */ +/* $LynxId: LYClean.c,v 1.40 2013/10/10 23:47:25 tom Exp $ */ #include <HTUtils.h> #include <LYCurses.h> #include <LYUtils.h> @@ -51,42 +51,35 @@ void cleanup_sig(int sig) #ifdef VMS if (!dump_output_immediately) { - int c; /* * Reassert the AST. */ (void) signal(SIGINT, cleanup_sig); - if (!LYCursesON) - return; + if (LYCursesON) { + lynx_force_repaint(); /* wipe away the "cancel" message */ + LYrefresh(); - /* - * Refresh screen to get rid of "cancel" message, then query. - */ - lynx_force_repaint(); - LYrefresh(); - - /* - * Ask if exit is intended. - */ - if (LYQuitDefaultYes == TRUE) { - c = HTConfirmDefault(REALLY_EXIT, YES); - } else { - c = HTConfirmDefault(REALLY_EXIT, NO); - } - HadVMSInterrupt = TRUE; - if (LYQuitDefaultYes == TRUE) { - if (c == NO) { - return; + /* + * Ask if exit is intended. + */ + if (LYQuitDefaultYes == TRUE) { + int Dft = ((LYQuitDefaultYes == TRUE) ? YES : NO); + int c = HTConfirmDefault(REALLY_EXIT, Dft); + + HadVMSInterrupt = TRUE; + if (c != Dft) { + return; + } } - } else if (c != YES) { + } else { return; } } #endif /* VMS */ /* - * Ignore further interrupts. - mhc: 11/2/91 + * Ignore signals from terminal. */ #ifndef NOSIGHUP (void) signal(SIGHUP, SIG_IGN); @@ -97,11 +90,11 @@ void cleanup_sig(int sig) * Use ttclose() from cleanup() for VMS if not dumping. */ if (dump_output_immediately) + (void) signal(SIGTERM, SIG_IGN); #else /* Unix: */ (void) signal(SIGINT, SIG_IGN); -#endif /* VMS */ - (void) signal(SIGTERM, SIG_IGN); +#endif /* VMS */ if (traversal) dump_traversal_history(); @@ -127,10 +120,8 @@ void cleanup_sig(int sig) } else { #ifdef USE_SESSIONS /* - * Wondering is this right place and time to do it. - * We need this, for example it is usefull to save session - * if user closed lynx in non standard way, like closing - * xterm window or in worst one like crash. + * It is useful to save the session if a user closed lynx in a + * nonstandard way, such as closing xterm window or in even a crash. */ SaveSession(); #endif /* USE_SESSIONS */ @@ -145,7 +136,7 @@ void cleanup_sig(int sig) } /* - * Called by Interrupt handler or at quit time. Erases the temporary files + * Called by interrupt handler or at quit-time, this erases the temporary files * that lynx created. */ void cleanup_files(void) @@ -156,27 +147,19 @@ void cleanup_files(void) void cleanup(void) { -#ifdef VMS - extern BOOLEAN DidCleanup; -#endif /* VMS */ - /* - * Cleanup signals - just in case. Ignore further interrupts. - mhc: - * 11/2/91 + * Ignore signals from terminal. */ #ifndef NOSIGHUP (void) signal(SIGHUP, SIG_IGN); #endif /* NOSIGHUP */ - (void) signal(SIGTERM, SIG_IGN); - #ifndef VMS /* use ttclose() from cleanup() for VMS */ (void) signal(SIGINT, SIG_IGN); #endif /* !VMS */ + (void) signal(SIGTERM, SIG_IGN); if (LYCursesON) { - LYmove(LYlines - 1, 0); - LYclrtoeol(); - + LYParkCursor(); lynx_stop_all_colors(); LYrefresh(); @@ -185,8 +168,7 @@ void cleanup(void) #ifdef EXP_CHARTRANS_AUTOSWITCH /* * Currently implemented only for LINUX: Restore original font. - */ - UCChangeTerminalCodepage(-1, (LYUCcharset *) 0); + */ UCChangeTerminalCodepage(-1, (LYUCcharset *) 0); #endif /* EXP_CHARTRANS_AUTOSWITCH */ #ifdef USE_PERSISTENT_COOKIES @@ -201,9 +183,6 @@ void cleanup(void) LYStoreCookies(LYCookieSaveFile); #endif #ifdef USE_SESSIONS - /* - * Wondering is this right place and time to do it. - */ SaveSession(); #endif /* USE_SESSIONS */ diff --git a/src/LYClean.h b/src/LYClean.h index 6126c2c6..d7f54beb 100644 --- a/src/LYClean.h +++ b/src/LYClean.h @@ -9,6 +9,7 @@ extern "C" { #endif #ifdef VMS + extern BOOLEAN DidCleanup; extern BOOLEAN HadVMSInterrupt; #endif diff --git a/src/LYCurses.h b/src/LYCurses.h index 0a9c0ebe..f9858eeb 100644 --- a/src/LYCurses.h +++ b/src/LYCurses.h @@ -1,4 +1,4 @@ -/* $LynxId: LYCurses.h,v 1.90 2013/05/31 00:23:39 tom Exp $ */ +/* $LynxId: LYCurses.h,v 1.91 2013/10/10 23:28:33 tom Exp $ */ #ifndef LYCURSES_H #define LYCURSES_H @@ -839,6 +839,8 @@ FANCY_CURSES. Check your config.log to see why the FANCY_CURSES test failed. #define LYHideCursor() LYmove((LYlines - 1), (LYcolLimit - 2)) #endif +#define LYParkCursor() LYmove((LYlines - 1), 0); LYclrtoeol() + extern void LYstowCursor(WINDOW * win, int row, int col); extern void LYSetDisplayLines(void); diff --git a/src/LYEditmap.c b/src/LYEditmap.c index 669c2a38..eadc6aca 100644 --- a/src/LYEditmap.c +++ b/src/LYEditmap.c @@ -1,8 +1,8 @@ /* - * $LynxId: LYEditmap.c,v 1.29 2013/01/04 00:03:24 tom Exp $ + * $LynxId: LYEditmap.c,v 1.42 2013/10/12 00:16:50 tom Exp $ * * LYEditMap.c - * Keybindings for line and form editting. + * Keybindings for line and form editing. */ #include <HTUtils.h> @@ -35,737 +35,11 @@ int escape_bound = 0; /* User wanted Escape to perform actions? */ /* * See LYStrings.h for the LYE definitions. */ -/* *INDENT-OFF* */ -static LYEditCode DefaultEditBinding[KEYMAP_SIZE - 1] = { - -LYE_NOP, LYE_BOL, LYE_DELPW, LYE_ABORT, -/* nul ^A ^B ^C */ - -LYE_DELN, LYE_EOL, LYE_DELNW, LYE_ABORT, -/* ^D ^E ^F ^G */ - -LYE_DELP, LYE_TAB, LYE_ENTER, LYE_LOWER, -/* bs tab nl ^K */ - -LYE_NOP, LYE_ENTER, LYE_FORWW, LYE_ABORT, -/* ^L cr ^N ^O */ - -LYE_BACKW, LYE_NOP, LYE_DELN, LYE_NOP, -/* ^P XON ^R XOFF */ - -#ifdef CAN_CUT_AND_PASTE -LYE_UPPER, LYE_ERASE, LYE_LKCMD, LYE_PASTE, -#else -LYE_UPPER, LYE_ERASE, LYE_LKCMD, LYE_NOP, -#endif -/* ^T ^U ^V ^W */ - -LYE_SETM1, LYE_NOP, LYE_NOP, LYE_NOP, -/* ^X ^Y ^Z ESC */ - -LYE_NOP, LYE_NOP, LYE_SWMAP, LYE_DELEL, -/* ^\ ^] ^^ ^_ */ - -/* sp .. RUBOUT */ -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_DELP, - -/* 80..9F ISO-8859-1 8-bit escape characters. */ -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -#ifdef CJK_EX /* 1997/11/03 (Mon) 20:30:54 */ -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -#else -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_AIX, -/* 97 AIX */ -#endif -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, - -/* A0..FF (permissible ISO-8859-1) 8-bit characters. */ -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, - -/* 100..10F function key definitions in LYStrings.h */ -LYE_FORM_PASS, LYE_FORM_PASS, LYE_FORW, LYE_BACK, -/* UPARROW DNARROW RTARROW LTARROW */ - -LYE_FORM_PASS, LYE_FORM_PASS, LYE_BOL, LYE_EOL, -/* PGDOWN PGUP HOME END */ - -#if (defined(_WINDOWS) || defined(__DJGPP__)) - -LYE_FORM_PASS, LYE_NOP, LYE_NOP, LYE_NOP, -/* F1 */ - -#else - -LYE_FORM_PASS, LYE_TAB, LYE_BOL, LYE_EOL, -/* F1 Do key Find key Select key */ - -#endif /* _WINDOWS || __DJGPP__ */ - -LYE_NOP, LYE_DELP, LYE_NOP, LYE_FORM_PASS, -/* Insert key Remove key DO_NOTHING Back tab */ - -/* 110..18F */ -#if (defined(_WINDOWS) || defined(__DJGPP__)) && defined(USE_SLANG) && !defined(DJGPP_KEYHANDLER) - -LYE_DELP, LYE_ENTER, LYE_NOP, LYE_NOP, -/* Backspace Enter */ - -#else - -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, - -#endif /* USE_SLANG &&(_WINDOWS || __DJGPP) && !DJGPP_KEYHANDLER */ - -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -/* MOUSE_KEY */ -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -/* 190..20F */ - -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -/* 210..28F */ - -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -/* 290..293 */ -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -}; - -/* - * Add your favorite key bindings HERE - */ - -/* KED-01 */ /* Default except: ^B=cursor-backward, ^F=cursor-forward, */ - /* ^K=delete-to-EOL, ^X=delete-to-BOL, */ - /* ^R=delete-prev-word, ^T=delete-next-word, */ - /* ^^=upper-case-line, ^_=lower-case-line */ -/* Why the difference for tab? - kw */ +static LYEditCode DefaultEditBinding[KEYMAP_SIZE - 1]; #ifdef USE_ALT_BINDINGS -static LYEditCode BetterEditBinding[KEYMAP_SIZE - 1]={ - -LYE_NOP, LYE_BOL, LYE_BACK, LYE_ABORT, -/* nul ^A ^B ^C */ - -LYE_DELN, LYE_EOL, LYE_FORW, LYE_ABORT, -/* ^D ^E ^F ^G */ - -LYE_DELP, LYE_ENTER, LYE_ENTER, LYE_DELEL, -/* bs tab nl ^K */ - -LYE_NOP, LYE_ENTER, LYE_FORWW, LYE_ABORT, -/* ^L cr ^N ^O */ - -LYE_BACKW, LYE_NOP, LYE_DELPW, LYE_NOP, -/* ^P XON ^R XOFF */ - -#ifdef CAN_CUT_AND_PASTE -LYE_DELNW, LYE_ERASE, LYE_LKCMD, LYE_PASTE, -#else -LYE_DELNW, LYE_ERASE, LYE_LKCMD, LYE_NOP, -#endif -/* ^T ^U ^V ^W */ - -LYE_SETM1, LYE_NOP, LYE_NOP, LYE_NOP, -/* ^X ^Y ^Z ESC */ - -LYE_NOP, LYE_NOP, LYE_UPPER, LYE_LOWER, -/* ^\ ^] ^^ ^_ */ - -/* sp .. RUBOUT */ -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_DELP, - -/* 80..9F ISO-8859-1 8-bit escape characters. */ -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -#ifdef CJK_EX /* 1997/11/03 (Mon) 20:30:54 */ -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -#else -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_AIX, -/* 97 AIX */ -#endif -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, - -/* A0..FF (permissible ISO-8859-1) 8-bit characters. */ -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, - -/* 100..10F function key definitions in LYStrings.h */ -LYE_FORM_PASS, LYE_FORM_PASS, LYE_FORW, LYE_BACK, -/* UPARROW DNARROW RTARROW LTARROW */ - -LYE_FORM_PASS, LYE_FORM_PASS, LYE_BOL, LYE_EOL, -/* PGDOWN PGUP HOME END */ - -#if (defined(_WINDOWS) || defined(__DJGPP__)) - -LYE_FORM_PASS, LYE_NOP, LYE_NOP, LYE_NOP, -/* F1 */ - -#else - -LYE_FORM_PASS, LYE_TAB, LYE_BOL, LYE_EOL, -/* F1 Do key Find key Select key */ - -#endif /* _WINDOWS || __DJGPP__ */ - -LYE_NOP, LYE_DELP, LYE_NOP, LYE_FORM_PASS, -/* Insert key Remove key DO_NOTHING Back tab */ - -/* 110..18F */ -#if (defined(_WINDOWS) || defined(__DJGPP__)) && defined(USE_SLANG) && !defined(DJGPP_KEYHANDLER) - -LYE_DELP, LYE_ENTER, LYE_NOP, LYE_NOP, -/* Backspace Enter */ - -#else - -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, - -#endif /* USE_SLANG &&(_WINDOWS || __DJGPP) && !DJGPP_KEYHANDLER */ - -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -/* MOUSE_KEY */ -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -/* 190..20F */ - -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -/* 210..28F */ - -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -/* 290..293 */ -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -}; - -/* kw */ /* Default except: ^B=cursor-backward[+],^F=cursor-forward[+], */ - /* ^K=delete-to-EOL[+][++],^X=Modifier Prefix, */ - /* ^[ (ESC)=Modifier Prefix, */ - /* ^R=BACKW, ^S=FORWW, */ - /* ^T=transpose-chars, */ - /* ^U=delete-to-BOL, ^W=delete-prev-word, */ - /* ^@ (NUL)=SETMARK, ^Y=YANK, */ - /* ^_=ABORT (undo), */ - /* ^P=FORM_PASS, ^N=FORM_PASS, */ - /* ^O=FORM_PASS, ^L=FORM_PASS, */ - /* ^\=FORM_PASS, ^]=FORM_PASS, */ - /* ^Z=FORM_PASS, F1=FORM_PASS, */ - /* ^E=EOL[++], Remove=DELN */ - /* [+]: same as BetterEditBinding */ - /* [++]: additionally set double-key modifier */ - -/* Default where BetterEditBinding deviates: ^^=SWMAP, */ - /* tab=LYE_TAB */ - -/* Some functions for which the modifier binding is preferred: */ - /* M-bs,M-del=delete-prev-word, M-d=delete-next-word, */ - /* M-b=BACKW, M-f=FORWW, */ - -static LYEditCode BashlikeEditBinding[KEYMAP_SIZE - 1] = { - -LYE_SETMARK, LYE_BOL, LYE_BACK, LYE_ABORT, -/* nul ^A ^B ^C */ - -LYE_DELN, LYE_EOL|LYE_DF, LYE_FORW, LYE_ABORT, -/* ^D ^E ^F ^G */ - -LYE_DELP, LYE_TAB, LYE_ENTER, LYE_DELEL|LYE_DF, -/* bs tab nl ^K */ - -LYE_FORM_PASS, LYE_ENTER, LYE_FORM_PASS, LYE_FORM_PASS, -/* ^L cr ^N ^O */ - -LYE_FORM_PASS, LYE_NOP, LYE_BACKW, LYE_FORWW, -/* ^P XON ^R ^S/XOFF */ - -LYE_TPOS, LYE_DELBL, LYE_LKCMD, LYE_DELPW, -/* ^T ^U ^V ^W */ - -LYE_SETM1, LYE_YANK, LYE_FORM_PASS, LYE_SETM2, -/* ^X ^Y ^Z ESC */ - -LYE_FORM_PASS, LYE_FORM_PASS, LYE_SWMAP, LYE_ABORT, -/* ^\ ^] ^^ ^_ */ - -/* sp .. RUBOUT */ -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_DELP, - -/* 80..9F ISO-8859-1 8-bit escape characters. */ -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_AIX, -/* 97 AIX */ -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, - -/* A0..FF (permissible ISO-8859-1) 8-bit characters. */ -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, -LYE_CHAR, LYE_CHAR, LYE_CHAR, LYE_CHAR, - -/* 100..10F function key definitions in LYStrings.h */ -LYE_FORM_PASS, LYE_FORM_PASS, LYE_FORW, LYE_BACK, -/* UPARROW DNARROW RTARROW LTARROW */ - -LYE_FORM_PASS, LYE_FORM_PASS, LYE_BOL, LYE_EOL, -/* PGDOWN PGUP HOME END */ - -#if (defined(_WINDOWS) || defined(__DJGPP__)) - -LYE_FORM_PASS, LYE_NOP, LYE_NOP, LYE_NOP, -/* F1 */ - -#else - -LYE_FORM_PASS, LYE_TAB, LYE_BOL, LYE_EOL, -/* F1 Do key Find key Select key */ - -#endif /* _WINDOWS || __DJGPP__ */ - -LYE_NOP, LYE_DELN, LYE_NOP, LYE_FORM_PASS, -/* Insert key Remove key DO_NOTHING Back tab */ - -/* 110..18F */ -#if (defined(_WINDOWS) || defined(__DJGPP__)) && defined(USE_SLANG) && !defined(DJGPP_KEYHANDLER) - -LYE_DELP, LYE_ENTER, LYE_NOP, LYE_NOP, -/* Backspace Enter */ - -#else - -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, - -#endif /* USE_SLANG &&(_WINDOWS || __DJGPP) && !DJGPP_KEYHANDLER */ - -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -/* MOUSE_KEY */ -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -/* 190..20F */ - -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -/* 210..28F */ - -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -/* 290..293 */ -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -}; +static LYEditCode BetterEditBinding[KEYMAP_SIZE - 1]; +static LYEditCode BashlikeEditBinding[KEYMAP_SIZE - 1]; /* Oh no, not another one of those tables... * @@ -781,178 +55,1110 @@ LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, * effect only for those Bindings that map a lynxkeycode to LYE_SETMn. ( This * doesn't apply if the modifier is already being set in LYgetch(). ) - kw */ -static short Mod1Binding[LAST_MOD1_LKC+1]={ - -LYE_NOP, LYE_BOL, LYE_BACKW, LYE_UNMOD, -/* nul ^A ^B ^C */ - -LYE_FORM_LAC|LYK_NEXT_LINK, - LYE_FORM_LAC|LYK_EDIT_TEXTAREA, - LYE_FORWW, LYE_ABORT, -/* ^D ^E ^F ^G */ - -LYE_DELPW, LYE_UNMOD, LYE_ENTER, LYE_FORM_LAC|LYK_LPOS_NEXT_LINK, -/* bs tab nl ^K */ - -LYE_FORM_PASS, LYE_ENTER, LYE_FORWW, LYE_UNMOD, -/* ^L cr ^N ^O */ - -LYE_BACKW, LYE_NOP, LYE_BACKW, LYE_NOP, -/* ^P XON ^R ^S/XOFF */ +static LYEditCode Mod1Binding[KEYMAP_SIZE - 1]; -LYE_NOP, LYE_FORM_PASS, LYE_NOP, LYE_KILLREG, -/* ^T ^U ^V ^W */ - -LYE_XPMARK, LYE_UNMOD, LYE_FORM_PASS, LYE_NOP, -/* ^X ^Y ^Z ESC */ - -LYE_FORM_PASS, LYE_FORM_PASS, LYE_UNMOD, LYE_NOP, -/* ^\ ^] ^^ ^_ */ - -/* sp .. ? */ -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_FORM_PASS, - -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_FORM_LAC|LYK_HOME, - LYE_UNMOD, LYE_FORM_LAC|LYK_END, - LYE_UNMOD, - -/* @, A .. Z, [, \, ], ^, _ */ -LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, -LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, -LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, -LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, -LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, -LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, -LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, -LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, LYE_C1CHAR, - -/* `, a .. z, {, |, }, ~, RUBOUT */ -LYE_UNMOD, LYE_BOL, LYE_BACKW, LYE_UNMOD, -LYE_DELNW, LYE_FORM_LAC|LYK_EDIT_TEXTAREA, - LYE_FORWW, LYE_FORM_LAC|LYK_GROW_TEXTAREA, -LYE_CHAR, LYE_FORM_LAC|LYK_INSERT_FILE, - LYE_CHAR, LYE_ERASE, -LYE_LOWER, LYE_CHAR, LYE_FORM_PASS, LYE_UNMOD, -LYE_CHAR, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_UPPER, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_DELPW, - -/* 80..9F ISO-8859-1 8-bit escape characters. */ -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, -LYE_NOP, LYE_NOP, LYE_NOP, LYE_NOP, - -/* A0..FF (permissible ISO-8859-1) 8-bit characters. */ -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, - -/* 100..10F function key definitions in LYStrings.h */ -LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -/* UPARROW DNARROW RTARROW LTARROW */ - -LYE_UNMOD, LYE_UNMOD, LYE_FORM_PASS, LYE_FORM_PASS, -/* PGDOWN PGUP HOME END */ +/* Two more tables here, but currently they are all the same. + In other words, we are cheating to save space, until there + is a need for different tables. - kw */ +static LYEditCode *Mod2Binding = Mod1Binding; +static LYEditCode *Mod3Binding = Mod1Binding; +static const LYEditInit initMod1Binding[] = +{ + {1, LYE_BOL}, /* ^B */ + {2, LYE_BACKW}, /* ^C */ + {3, LYE_UNMOD}, /* ^D */ + {4, LYK_NEXT_LINK | LYE_FORM_LAC}, /* ^E */ + {5, LYK_EDITTEXTAREA | LYE_FORM_LAC}, /* ^F */ + {6, LYE_FORWW}, /* ^G */ + {7, LYE_ABORT}, /* ^H */ + {8, LYE_DELPW}, /* ^I */ + {9, LYE_UNMOD}, /* ^J */ + {10, LYE_ENTER}, /* ^K */ + {11, LYK_LPOS_NEXT_LINK | LYE_FORM_LAC}, /* ^L */ + {12, LYE_FORM_PASS}, /* ^M */ + {13, LYE_ENTER}, /* ^N */ + {14, LYE_FORWW}, /* ^O */ + {15, LYE_UNMOD}, /* ^P */ + {16, LYE_BACKW}, /* ^Q */ + {18, LYE_BACKW}, /* ^S */ + {21, LYE_FORM_PASS}, /* ^V */ + {23, LYE_KILLREG}, /* ^X */ + {24, LYE_XPMARK}, /* ^Y */ + {25, LYE_UNMOD}, /* ^Z */ + {26, LYE_FORM_PASS}, /* ^[ */ + {28, LYE_FORM_PASS}, /* ^] */ + {29, LYE_FORM_PASS}, /* ^^ */ + {30, LYE_UNMOD}, /* ^_ */ + {32, LYE_UNMOD}, /* */ + {33, LYE_UNMOD}, /* ! */ + {34, LYE_UNMOD}, /* " */ + {35, LYE_UNMOD}, /* # */ + {36, LYE_UNMOD}, /* $ */ + {37, LYE_UNMOD}, /* % */ + {38, LYE_UNMOD}, /* & */ + {39, LYE_UNMOD}, /* ' */ + {40, LYE_UNMOD}, /* ( */ + {41, LYE_UNMOD}, /* ) */ + {42, LYE_UNMOD}, /* * */ + {43, LYE_UNMOD}, /* + */ + {44, LYE_UNMOD}, /* , */ + {45, LYE_UNMOD}, /* - */ + {46, LYE_UNMOD}, /* . */ + {47, LYE_FORM_PASS}, /* / */ + {48, LYE_UNMOD}, /* 0 */ + {49, LYE_UNMOD}, /* 1 */ + {50, LYE_UNMOD}, /* 2 */ + {51, LYE_UNMOD}, /* 3 */ + {52, LYE_UNMOD}, /* 4 */ + {53, LYE_UNMOD}, /* 5 */ + {54, LYE_UNMOD}, /* 6 */ + {55, LYE_UNMOD}, /* 7 */ + {56, LYE_UNMOD}, /* 8 */ + {57, LYE_UNMOD}, /* 9 */ + {58, LYE_UNMOD}, /* : */ + {59, LYE_UNMOD}, /* ; */ + {60, LYK_HOME | LYE_FORM_LAC}, /* < */ + {61, LYE_UNMOD}, /* = */ + {62, LYK_END | LYE_FORM_LAC}, /* > */ + {63, LYE_UNMOD}, /* ? */ + {64, LYE_C1CHAR}, /* @ */ + {65, LYE_C1CHAR}, /* A */ + {66, LYE_C1CHAR}, /* B */ + {67, LYE_C1CHAR}, /* C */ + {68, LYE_C1CHAR}, /* D */ + {69, LYE_C1CHAR}, /* E */ + {70, LYE_C1CHAR}, /* F */ + {71, LYE_C1CHAR}, /* G */ + {72, LYE_C1CHAR}, /* H */ + {73, LYE_C1CHAR}, /* I */ + {74, LYE_C1CHAR}, /* J */ + {75, LYE_C1CHAR}, /* K */ + {76, LYE_C1CHAR}, /* L */ + {77, LYE_C1CHAR}, /* M */ + {78, LYE_C1CHAR}, /* N */ + {79, LYE_C1CHAR}, /* O */ + {80, LYE_C1CHAR}, /* P */ + {81, LYE_C1CHAR}, /* Q */ + {82, LYE_C1CHAR}, /* R */ + {83, LYE_C1CHAR}, /* S */ + {84, LYE_C1CHAR}, /* T */ + {85, LYE_C1CHAR}, /* U */ + {86, LYE_C1CHAR}, /* V */ + {87, LYE_C1CHAR}, /* W */ + {88, LYE_C1CHAR}, /* X */ + {89, LYE_C1CHAR}, /* Y */ + {90, LYE_C1CHAR}, /* Z */ + {91, LYE_C1CHAR}, /* [ */ + {92, LYE_C1CHAR}, /* \ */ + {93, LYE_C1CHAR}, /* ] */ + {94, LYE_C1CHAR}, /* ^ */ + {95, LYE_C1CHAR}, /* _ */ + {96, LYE_UNMOD}, /* ` */ + {97, LYE_BOL}, /* a */ + {98, LYE_BACKW}, /* b */ + {99, LYE_UNMOD}, /* c */ + {100, LYE_DELNW}, /* d */ + {101, LYK_EDITTEXTAREA | LYE_FORM_LAC}, /* e */ + {102, LYE_FORWW}, /* f */ + {103, LYK_GROWTEXTAREA | LYE_FORM_LAC}, /* g */ + {104, LYE_CHAR}, /* h */ + {105, LYK_INSERTFILE | LYE_FORM_LAC}, /* i */ + {106, LYE_CHAR}, /* j */ + {107, LYE_ERASE}, /* k */ + {108, LYE_LOWER}, /* l */ + {109, LYE_CHAR}, /* m */ + {110, LYE_FORM_PASS}, /* n */ + {111, LYE_UNMOD}, /* o */ + {112, LYE_CHAR}, /* p */ + {117, LYE_UPPER}, /* u */ + {122, LYE_UNMOD}, /* z */ + {123, LYE_UNMOD}, /* { */ + {124, LYE_UNMOD}, /* | */ + {125, LYE_UNMOD}, /* } */ + {126, LYE_UNMOD}, /* ~ */ + {127, LYE_DELPW}, + {160, LYE_UNMOD}, + {161, LYE_UNMOD}, + {162, LYE_UNMOD}, + {163, LYE_UNMOD}, + {164, LYE_UNMOD}, + {165, LYE_UNMOD}, + {166, LYE_UNMOD}, + {167, LYE_UNMOD}, + {168, LYE_UNMOD}, + {169, LYE_UNMOD}, + {170, LYE_UNMOD}, + {171, LYE_UNMOD}, + {172, LYE_UNMOD}, + {173, LYE_UNMOD}, + {174, LYE_UNMOD}, + {175, LYE_UNMOD}, + {176, LYE_UNMOD}, + {177, LYE_UNMOD}, + {178, LYE_UNMOD}, + {179, LYE_UNMOD}, + {180, LYE_UNMOD}, + {181, LYE_UNMOD}, + {182, LYE_UNMOD}, + {183, LYE_UNMOD}, + {184, LYE_UNMOD}, + {185, LYE_UNMOD}, + {186, LYE_UNMOD}, + {187, LYE_UNMOD}, + {188, LYE_UNMOD}, + {189, LYE_UNMOD}, + {190, LYE_UNMOD}, + {191, LYE_UNMOD}, + {192, LYE_UNMOD}, + {193, LYE_UNMOD}, + {194, LYE_UNMOD}, + {195, LYE_UNMOD}, + {196, LYE_UNMOD}, + {197, LYE_UNMOD}, + {198, LYE_UNMOD}, + {199, LYE_UNMOD}, + {200, LYE_UNMOD}, + {201, LYE_UNMOD}, + {202, LYE_UNMOD}, + {203, LYE_UNMOD}, + {204, LYE_UNMOD}, + {205, LYE_UNMOD}, + {206, LYE_UNMOD}, + {207, LYE_UNMOD}, + {208, LYE_UNMOD}, + {209, LYE_UNMOD}, + {210, LYE_UNMOD}, + {211, LYE_UNMOD}, + {212, LYE_UNMOD}, + {213, LYE_UNMOD}, + {214, LYE_UNMOD}, + {215, LYE_UNMOD}, + {216, LYE_UNMOD}, + {217, LYE_UNMOD}, + {218, LYE_UNMOD}, + {219, LYE_UNMOD}, + {220, LYE_UNMOD}, + {221, LYE_UNMOD}, + {222, LYE_UNMOD}, + {223, LYE_UNMOD}, + {224, LYE_UNMOD}, + {225, LYE_UNMOD}, + {226, LYE_UNMOD}, + {227, LYE_UNMOD}, + {228, LYE_UNMOD}, + {229, LYE_UNMOD}, + {230, LYE_UNMOD}, + {231, LYE_UNMOD}, + {232, LYE_UNMOD}, + {233, LYE_UNMOD}, + {234, LYE_UNMOD}, + {235, LYE_UNMOD}, + {236, LYE_UNMOD}, + {237, LYE_UNMOD}, + {238, LYE_UNMOD}, + {239, LYE_UNMOD}, + {240, LYE_UNMOD}, + {241, LYE_UNMOD}, + {242, LYE_UNMOD}, + {243, LYE_UNMOD}, + {244, LYE_UNMOD}, + {245, LYE_UNMOD}, + {246, LYE_UNMOD}, + {247, LYE_UNMOD}, + {248, LYE_UNMOD}, + {249, LYE_UNMOD}, + {250, LYE_UNMOD}, + {251, LYE_UNMOD}, + {252, LYE_UNMOD}, + {253, LYE_UNMOD}, + {254, LYE_UNMOD}, + {255, LYE_UNMOD}, + {256, LYE_UNMOD}, /* UPARROW */ + {257, LYE_UNMOD}, /* DNARROW */ + {258, LYE_UNMOD}, /* RTARROW */ + {259, LYE_UNMOD}, /* LTARROW */ + {260, LYE_UNMOD}, /* PGDOWN */ + {261, LYE_UNMOD}, /* PGUP */ + {262, LYE_FORM_PASS}, /* HOME */ + {263, LYE_FORM_PASS}, /* END_KEY */ + {264, LYK_DWIMHELP | LYE_FORM_LAC}, /* F1 */ + {265, LYE_UNMOD}, /* DO_KEY */ #if (defined(_WINDOWS) || defined(__DJGPP__)) - -LYE_FORM_LAC|LYK_DWIMHELP, - LYE_UNMOD, LYE_UNMOD, LYE_UNMOD, -/* F1 */ - + {266, LYE_UNMOD}, /* FIND_KEY */ + {267, LYE_UNMOD}, /* SELECT_KEY */ #else - -LYE_FORM_LAC|LYK_DWIMHELP, - LYE_UNMOD, LYE_FORM_LAC|LYK_WHEREIS, LYE_FORM_LAC|LYK_NEXT, -/* F1 Do key Find key Select key */ - -#endif /* _WINDOWS || __DJGPP__ */ - -LYE_UNMOD, LYE_NOP, LYE_UNMOD, LYE_UNMOD, -/* Insert key Remove key DO_NOTHING Back tab */ - -/* 110..111 */ + {266, LYK_WHEREIS | LYE_FORM_LAC}, /* FIND_KEY */ + {267, LYK_NEXT | LYE_FORM_LAC}, /* SELECT_KEY */ +#endif + {268, LYE_UNMOD}, /* INSERT_KEY */ + {270, LYE_UNMOD}, /* DO_NOTHING */ + {271, LYE_UNMOD}, /* BACKTAB_KEY */ #if (defined(_WINDOWS) || defined(__DJGPP__)) && defined(USE_SLANG) && !defined(DJGPP_KEYHANDLER) - -LYE_DELPW, LYE_UNMOD, -/* Backspace Enter */ - + {272, LYE_DELPW}, #else - -LYE_UNMOD, LYE_UNMOD, - -#endif /* USE_SLANG &&(_WINDOWS || __DJGPP) && !DJGPP_KEYHANDLER */ + {272, LYE_UNMOD}, +#endif + {273, LYE_UNMOD}, + {-1, LYE_UNKNOWN} }; -/* Two more tables here, but currently they are all the same. - In other words, we are cheating to save space, until there - is a need for different tables. - kw */ -static short *Mod2Binding = Mod1Binding; -static short *Mod3Binding = Mod1Binding; +LYEditConfig LYModifierBindings[] = +{ + {"Modifier Binding", initMod1Binding, Mod1Binding}, +}; #endif /* USE_ALT_BINDINGS */ -/* *INDENT-ON* */ -/* - * Add the array name to LYLineEditors - */ - -LYEditCode *LYLineEditors[] = +static const LYEditInit initDefaultEditor[] = { - DefaultEditBinding, /* You can't please everyone, so you ... DW */ + {1, LYE_BOL}, /* ^B */ + {2, LYE_DELPW}, /* ^C */ + {3, LYE_ABORT}, /* ^D */ + {4, LYE_DELN}, /* ^E */ + {5, LYE_EOL}, /* ^F */ + {6, LYE_DELNW}, /* ^G */ + {7, LYE_ABORT}, /* ^H */ + {8, LYE_DELP}, /* ^I */ + {9, LYE_TAB}, /* ^J */ + {10, LYE_ENTER}, /* ^K */ + {11, LYE_LOWER}, /* ^L */ + {13, LYE_ENTER}, /* ^N */ + {14, LYE_FORWW}, /* ^O */ + {15, LYE_ABORT}, /* ^P */ + {16, LYE_BACKW}, /* ^Q */ + {18, LYE_DELN}, /* ^S */ + {20, LYE_UPPER}, /* ^U */ + {21, LYE_ERASE}, /* ^V */ + {22, LYE_LKCMD}, /* ^W */ +#ifdef CAN_CUT_AND_PASTE + {23, LYE_PASTE}, /* ^X */ +#endif + {24, LYE_SETM1}, /* ^Y */ + {30, LYE_SWMAP}, /* ^_ */ + {31, LYE_DELEL}, /* ^` */ + {32, LYE_CHAR}, /* */ + {33, LYE_CHAR}, /* ! */ + {34, LYE_CHAR}, /* " */ + {35, LYE_CHAR}, /* # */ + {36, LYE_CHAR}, /* $ */ + {37, LYE_CHAR}, /* % */ + {38, LYE_CHAR}, /* & */ + {39, LYE_CHAR}, /* ' */ + {40, LYE_CHAR}, /* ( */ + {41, LYE_CHAR}, /* ) */ + {42, LYE_CHAR}, /* * */ + {43, LYE_CHAR}, /* + */ + {44, LYE_CHAR}, /* , */ + {45, LYE_CHAR}, /* - */ + {46, LYE_CHAR}, /* . */ + {47, LYE_CHAR}, /* / */ + {48, LYE_CHAR}, /* 0 */ + {49, LYE_CHAR}, /* 1 */ + {50, LYE_CHAR}, /* 2 */ + {51, LYE_CHAR}, /* 3 */ + {52, LYE_CHAR}, /* 4 */ + {53, LYE_CHAR}, /* 5 */ + {54, LYE_CHAR}, /* 6 */ + {55, LYE_CHAR}, /* 7 */ + {56, LYE_CHAR}, /* 8 */ + {57, LYE_CHAR}, /* 9 */ + {58, LYE_CHAR}, /* : */ + {59, LYE_CHAR}, /* ; */ + {60, LYE_CHAR}, /* < */ + {61, LYE_CHAR}, /* = */ + {62, LYE_CHAR}, /* > */ + {63, LYE_CHAR}, /* ? */ + {64, LYE_CHAR}, /* @ */ + {65, LYE_CHAR}, /* A */ + {66, LYE_CHAR}, /* B */ + {67, LYE_CHAR}, /* C */ + {68, LYE_CHAR}, /* D */ + {69, LYE_CHAR}, /* E */ + {70, LYE_CHAR}, /* F */ + {71, LYE_CHAR}, /* G */ + {72, LYE_CHAR}, /* H */ + {73, LYE_CHAR}, /* I */ + {74, LYE_CHAR}, /* J */ + {75, LYE_CHAR}, /* K */ + {76, LYE_CHAR}, /* L */ + {77, LYE_CHAR}, /* M */ + {78, LYE_CHAR}, /* N */ + {79, LYE_CHAR}, /* O */ + {80, LYE_CHAR}, /* P */ + {81, LYE_CHAR}, /* Q */ + {82, LYE_CHAR}, /* R */ + {83, LYE_CHAR}, /* S */ + {84, LYE_CHAR}, /* T */ + {85, LYE_CHAR}, /* U */ + {86, LYE_CHAR}, /* V */ + {87, LYE_CHAR}, /* W */ + {88, LYE_CHAR}, /* X */ + {89, LYE_CHAR}, /* Y */ + {90, LYE_CHAR}, /* Z */ + {91, LYE_CHAR}, /* [ */ + {92, LYE_CHAR}, /* \ */ + {93, LYE_CHAR}, /* ] */ + {94, LYE_CHAR}, /* ^ */ + {95, LYE_CHAR}, /* _ */ + {96, LYE_CHAR}, /* ` */ + {97, LYE_CHAR}, /* a */ + {98, LYE_CHAR}, /* b */ + {99, LYE_CHAR}, /* c */ + {100, LYE_CHAR}, /* d */ + {101, LYE_CHAR}, /* e */ + {102, LYE_CHAR}, /* f */ + {103, LYE_CHAR}, /* g */ + {104, LYE_CHAR}, /* h */ + {105, LYE_CHAR}, /* i */ + {106, LYE_CHAR}, /* j */ + {107, LYE_CHAR}, /* k */ + {108, LYE_CHAR}, /* l */ + {109, LYE_CHAR}, /* m */ + {110, LYE_CHAR}, /* n */ + {111, LYE_CHAR}, /* o */ + {112, LYE_CHAR}, /* p */ + {113, LYE_CHAR}, /* q */ + {114, LYE_CHAR}, /* r */ + {115, LYE_CHAR}, /* s */ + {116, LYE_CHAR}, /* t */ + {117, LYE_CHAR}, /* u */ + {118, LYE_CHAR}, /* v */ + {119, LYE_CHAR}, /* w */ + {120, LYE_CHAR}, /* x */ + {121, LYE_CHAR}, /* y */ + {122, LYE_CHAR}, /* z */ + {123, LYE_CHAR}, /* { */ + {124, LYE_CHAR}, /* | */ + {125, LYE_CHAR}, /* } */ + {126, LYE_CHAR}, /* ~ */ + {127, LYE_DELP}, + {128, LYE_CHAR}, + {129, LYE_CHAR}, + {130, LYE_CHAR}, + {131, LYE_CHAR}, + {132, LYE_CHAR}, + {133, LYE_CHAR}, + {134, LYE_CHAR}, + {135, LYE_CHAR}, + {136, LYE_CHAR}, + {137, LYE_CHAR}, + {138, LYE_CHAR}, + {139, LYE_CHAR}, + {140, LYE_CHAR}, + {141, LYE_CHAR}, +#ifdef CJK_EX /* 1997/11/03 (Mon) 20:30:54 */ + {142, LYE_CHAR}, +#else + {142, LYE_AIX}, +#endif + {143, LYE_CHAR}, + {144, LYE_CHAR}, + {145, LYE_CHAR}, + {146, LYE_CHAR}, + {147, LYE_CHAR}, + {148, LYE_CHAR}, + {149, LYE_CHAR}, + {150, LYE_CHAR}, + {151, LYE_CHAR}, + {152, LYE_CHAR}, + {153, LYE_CHAR}, + {154, LYE_CHAR}, + {155, LYE_CHAR}, + {156, LYE_CHAR}, + {157, LYE_CHAR}, + {158, LYE_CHAR}, + {159, LYE_CHAR}, + {160, LYE_CHAR}, + {161, LYE_CHAR}, + {162, LYE_CHAR}, + {163, LYE_CHAR}, + {164, LYE_CHAR}, + {165, LYE_CHAR}, + {166, LYE_CHAR}, + {167, LYE_CHAR}, + {168, LYE_CHAR}, + {169, LYE_CHAR}, + {170, LYE_CHAR}, + {171, LYE_CHAR}, + {172, LYE_CHAR}, + {173, LYE_CHAR}, + {174, LYE_CHAR}, + {175, LYE_CHAR}, + {176, LYE_CHAR}, + {177, LYE_CHAR}, + {178, LYE_CHAR}, + {179, LYE_CHAR}, + {180, LYE_CHAR}, + {181, LYE_CHAR}, + {182, LYE_CHAR}, + {183, LYE_CHAR}, + {184, LYE_CHAR}, + {185, LYE_CHAR}, + {186, LYE_CHAR}, + {187, LYE_CHAR}, + {188, LYE_CHAR}, + {189, LYE_CHAR}, + {190, LYE_CHAR}, + {191, LYE_CHAR}, + {192, LYE_CHAR}, + {193, LYE_CHAR}, + {194, LYE_CHAR}, + {195, LYE_CHAR}, + {196, LYE_CHAR}, + {197, LYE_CHAR}, + {198, LYE_CHAR}, + {199, LYE_CHAR}, + {200, LYE_CHAR}, + {201, LYE_CHAR}, + {202, LYE_CHAR}, + {203, LYE_CHAR}, + {204, LYE_CHAR}, + {205, LYE_CHAR}, + {206, LYE_CHAR}, + {207, LYE_CHAR}, + {208, LYE_CHAR}, + {209, LYE_CHAR}, + {210, LYE_CHAR}, + {211, LYE_CHAR}, + {212, LYE_CHAR}, + {213, LYE_CHAR}, + {214, LYE_CHAR}, + {215, LYE_CHAR}, + {216, LYE_CHAR}, + {217, LYE_CHAR}, + {218, LYE_CHAR}, + {219, LYE_CHAR}, + {220, LYE_CHAR}, + {221, LYE_CHAR}, + {222, LYE_CHAR}, + {223, LYE_CHAR}, + {224, LYE_CHAR}, + {225, LYE_CHAR}, + {226, LYE_CHAR}, + {227, LYE_CHAR}, + {228, LYE_CHAR}, + {229, LYE_CHAR}, + {230, LYE_CHAR}, + {231, LYE_CHAR}, + {232, LYE_CHAR}, + {233, LYE_CHAR}, + {234, LYE_CHAR}, + {235, LYE_CHAR}, + {236, LYE_CHAR}, + {237, LYE_CHAR}, + {238, LYE_CHAR}, + {239, LYE_CHAR}, + {240, LYE_CHAR}, + {241, LYE_CHAR}, + {242, LYE_CHAR}, + {243, LYE_CHAR}, + {244, LYE_CHAR}, + {245, LYE_CHAR}, + {246, LYE_CHAR}, + {247, LYE_CHAR}, + {248, LYE_CHAR}, + {249, LYE_CHAR}, + {250, LYE_CHAR}, + {251, LYE_CHAR}, + {252, LYE_CHAR}, + {253, LYE_CHAR}, + {254, LYE_CHAR}, + {255, LYE_CHAR}, + {256, LYE_FORM_PASS}, /* UPARROW */ + {257, LYE_FORM_PASS}, /* DNARROW */ + {258, LYE_FORW}, /* RTARROW */ + {259, LYE_BACK}, /* LTARROW */ + {260, LYE_FORM_PASS}, /* PGDOWN */ + {261, LYE_FORM_PASS}, /* PGUP */ + {262, LYE_BOL}, /* HOME */ + {263, LYE_EOL}, /* END_KEY */ + {264, LYE_FORM_PASS}, /* F1 */ +#if !(defined(_WINDOWS) || defined(__DJGPP__)) + {265, LYE_TAB}, /* DO_KEY */ + {266, LYE_BOL}, /* FIND_KEY */ + {267, LYE_EOL}, /* SELECT_KEY */ +#endif + {269, LYE_DELP}, /* REMOVE_KEY */ + {271, LYE_FORM_PASS}, /* BACKTAB_KEY */ +#if (defined(_WINDOWS) || defined(__DJGPP__)) && defined(USE_SLANG) && !defined(DJGPP_KEYHANDLER) + {272, LYE_DELP}, + {273, LYE_ENTER}, +#endif + {-1, LYE_UNKNOWN} +}; + #ifdef USE_ALT_BINDINGS - BetterEditBinding, /* No, you certainly can't ... /ked 10/27/98 */ - BashlikeEditBinding, /* and one more... - kw 1999-02-15 */ +static const LYEditInit initBetterEditor[] = +{ + {1, LYE_BOL}, /* ^B */ + {2, LYE_BACK}, /* ^C */ + {3, LYE_ABORT}, /* ^D */ + {4, LYE_DELN}, /* ^E */ + {5, LYE_EOL}, /* ^F */ + {6, LYE_FORW}, /* ^G */ + {7, LYE_ABORT}, /* ^H */ + {8, LYE_DELP}, /* ^I */ + {9, LYE_ENTER}, /* ^J */ + {10, LYE_ENTER}, /* ^K */ + {11, LYE_DELEL}, /* ^L */ + {13, LYE_ENTER}, /* ^N */ + {14, LYE_FORWW}, /* ^O */ + {15, LYE_ABORT}, /* ^P */ + {16, LYE_BACKW}, /* ^Q */ + {18, LYE_DELPW}, /* ^S */ + {20, LYE_DELNW}, /* ^U */ + {21, LYE_ERASE}, /* ^V */ + {22, LYE_LKCMD}, /* ^W */ +#ifdef CAN_CUT_AND_PASTE + {23, LYE_PASTE}, /* ^X */ #endif + {24, LYE_SETM1}, /* ^Y */ + {30, LYE_UPPER}, /* ^_ */ + {31, LYE_LOWER}, /* ^` */ + {32, LYE_CHAR}, /* */ + {33, LYE_CHAR}, /* ! */ + {34, LYE_CHAR}, /* " */ + {35, LYE_CHAR}, /* # */ + {36, LYE_CHAR}, /* $ */ + {37, LYE_CHAR}, /* % */ + {38, LYE_CHAR}, /* & */ + {39, LYE_CHAR}, /* ' */ + {40, LYE_CHAR}, /* ( */ + {41, LYE_CHAR}, /* ) */ + {42, LYE_CHAR}, /* * */ + {43, LYE_CHAR}, /* + */ + {44, LYE_CHAR}, /* , */ + {45, LYE_CHAR}, /* - */ + {46, LYE_CHAR}, /* . */ + {47, LYE_CHAR}, /* / */ + {48, LYE_CHAR}, /* 0 */ + {49, LYE_CHAR}, /* 1 */ + {50, LYE_CHAR}, /* 2 */ + {51, LYE_CHAR}, /* 3 */ + {52, LYE_CHAR}, /* 4 */ + {53, LYE_CHAR}, /* 5 */ + {54, LYE_CHAR}, /* 6 */ + {55, LYE_CHAR}, /* 7 */ + {56, LYE_CHAR}, /* 8 */ + {57, LYE_CHAR}, /* 9 */ + {58, LYE_CHAR}, /* : */ + {59, LYE_CHAR}, /* ; */ + {60, LYE_CHAR}, /* < */ + {61, LYE_CHAR}, /* = */ + {62, LYE_CHAR}, /* > */ + {63, LYE_CHAR}, /* ? */ + {64, LYE_CHAR}, /* @ */ + {65, LYE_CHAR}, /* A */ + {66, LYE_CHAR}, /* B */ + {67, LYE_CHAR}, /* C */ + {68, LYE_CHAR}, /* D */ + {69, LYE_CHAR}, /* E */ + {70, LYE_CHAR}, /* F */ + {71, LYE_CHAR}, /* G */ + {72, LYE_CHAR}, /* H */ + {73, LYE_CHAR}, /* I */ + {74, LYE_CHAR}, /* J */ + {75, LYE_CHAR}, /* K */ + {76, LYE_CHAR}, /* L */ + {77, LYE_CHAR}, /* M */ + {78, LYE_CHAR}, /* N */ + {79, LYE_CHAR}, /* O */ + {80, LYE_CHAR}, /* P */ + {81, LYE_CHAR}, /* Q */ + {82, LYE_CHAR}, /* R */ + {83, LYE_CHAR}, /* S */ + {84, LYE_CHAR}, /* T */ + {85, LYE_CHAR}, /* U */ + {86, LYE_CHAR}, /* V */ + {87, LYE_CHAR}, /* W */ + {88, LYE_CHAR}, /* X */ + {89, LYE_CHAR}, /* Y */ + {90, LYE_CHAR}, /* Z */ + {91, LYE_CHAR}, /* [ */ + {92, LYE_CHAR}, /* \ */ + {93, LYE_CHAR}, /* ] */ + {94, LYE_CHAR}, /* ^ */ + {95, LYE_CHAR}, /* _ */ + {96, LYE_CHAR}, /* ` */ + {97, LYE_CHAR}, /* a */ + {98, LYE_CHAR}, /* b */ + {99, LYE_CHAR}, /* c */ + {100, LYE_CHAR}, /* d */ + {101, LYE_CHAR}, /* e */ + {102, LYE_CHAR}, /* f */ + {103, LYE_CHAR}, /* g */ + {104, LYE_CHAR}, /* h */ + {105, LYE_CHAR}, /* i */ + {106, LYE_CHAR}, /* j */ + {107, LYE_CHAR}, /* k */ + {108, LYE_CHAR}, /* l */ + {109, LYE_CHAR}, /* m */ + {110, LYE_CHAR}, /* n */ + {111, LYE_CHAR}, /* o */ + {112, LYE_CHAR}, /* p */ + {113, LYE_CHAR}, /* q */ + {114, LYE_CHAR}, /* r */ + {115, LYE_CHAR}, /* s */ + {116, LYE_CHAR}, /* t */ + {117, LYE_CHAR}, /* u */ + {118, LYE_CHAR}, /* v */ + {119, LYE_CHAR}, /* w */ + {120, LYE_CHAR}, /* x */ + {121, LYE_CHAR}, /* y */ + {122, LYE_CHAR}, /* z */ + {123, LYE_CHAR}, /* { */ + {124, LYE_CHAR}, /* | */ + {125, LYE_CHAR}, /* } */ + {126, LYE_CHAR}, /* ~ */ + {127, LYE_DELP}, + {128, LYE_CHAR}, + {129, LYE_CHAR}, + {130, LYE_CHAR}, + {131, LYE_CHAR}, + {132, LYE_CHAR}, + {133, LYE_CHAR}, + {134, LYE_CHAR}, + {135, LYE_CHAR}, + {136, LYE_CHAR}, + {137, LYE_CHAR}, + {138, LYE_CHAR}, + {139, LYE_CHAR}, + {140, LYE_CHAR}, + {141, LYE_CHAR}, +#ifdef CJK_EX /* 1997/11/03 (Mon) 20:30:54 */ + {142, LYE_CHAR}, +#else + {142, LYE_AIX}, +#endif + {143, LYE_CHAR}, + {144, LYE_CHAR}, + {145, LYE_CHAR}, + {146, LYE_CHAR}, + {147, LYE_CHAR}, + {148, LYE_CHAR}, + {149, LYE_CHAR}, + {150, LYE_CHAR}, + {151, LYE_CHAR}, + {152, LYE_CHAR}, + {153, LYE_CHAR}, + {154, LYE_CHAR}, + {155, LYE_CHAR}, + {156, LYE_CHAR}, + {157, LYE_CHAR}, + {158, LYE_CHAR}, + {159, LYE_CHAR}, + {160, LYE_CHAR}, + {161, LYE_CHAR}, + {162, LYE_CHAR}, + {163, LYE_CHAR}, + {164, LYE_CHAR}, + {165, LYE_CHAR}, + {166, LYE_CHAR}, + {167, LYE_CHAR}, + {168, LYE_CHAR}, + {169, LYE_CHAR}, + {170, LYE_CHAR}, + {171, LYE_CHAR}, + {172, LYE_CHAR}, + {173, LYE_CHAR}, + {174, LYE_CHAR}, + {175, LYE_CHAR}, + {176, LYE_CHAR}, + {177, LYE_CHAR}, + {178, LYE_CHAR}, + {179, LYE_CHAR}, + {180, LYE_CHAR}, + {181, LYE_CHAR}, + {182, LYE_CHAR}, + {183, LYE_CHAR}, + {184, LYE_CHAR}, + {185, LYE_CHAR}, + {186, LYE_CHAR}, + {187, LYE_CHAR}, + {188, LYE_CHAR}, + {189, LYE_CHAR}, + {190, LYE_CHAR}, + {191, LYE_CHAR}, + {192, LYE_CHAR}, + {193, LYE_CHAR}, + {194, LYE_CHAR}, + {195, LYE_CHAR}, + {196, LYE_CHAR}, + {197, LYE_CHAR}, + {198, LYE_CHAR}, + {199, LYE_CHAR}, + {200, LYE_CHAR}, + {201, LYE_CHAR}, + {202, LYE_CHAR}, + {203, LYE_CHAR}, + {204, LYE_CHAR}, + {205, LYE_CHAR}, + {206, LYE_CHAR}, + {207, LYE_CHAR}, + {208, LYE_CHAR}, + {209, LYE_CHAR}, + {210, LYE_CHAR}, + {211, LYE_CHAR}, + {212, LYE_CHAR}, + {213, LYE_CHAR}, + {214, LYE_CHAR}, + {215, LYE_CHAR}, + {216, LYE_CHAR}, + {217, LYE_CHAR}, + {218, LYE_CHAR}, + {219, LYE_CHAR}, + {220, LYE_CHAR}, + {221, LYE_CHAR}, + {222, LYE_CHAR}, + {223, LYE_CHAR}, + {224, LYE_CHAR}, + {225, LYE_CHAR}, + {226, LYE_CHAR}, + {227, LYE_CHAR}, + {228, LYE_CHAR}, + {229, LYE_CHAR}, + {230, LYE_CHAR}, + {231, LYE_CHAR}, + {232, LYE_CHAR}, + {233, LYE_CHAR}, + {234, LYE_CHAR}, + {235, LYE_CHAR}, + {236, LYE_CHAR}, + {237, LYE_CHAR}, + {238, LYE_CHAR}, + {239, LYE_CHAR}, + {240, LYE_CHAR}, + {241, LYE_CHAR}, + {242, LYE_CHAR}, + {243, LYE_CHAR}, + {244, LYE_CHAR}, + {245, LYE_CHAR}, + {246, LYE_CHAR}, + {247, LYE_CHAR}, + {248, LYE_CHAR}, + {249, LYE_CHAR}, + {250, LYE_CHAR}, + {251, LYE_CHAR}, + {252, LYE_CHAR}, + {253, LYE_CHAR}, + {254, LYE_CHAR}, + {255, LYE_CHAR}, + {256, LYE_FORM_PASS}, /* UPARROW */ + {257, LYE_FORM_PASS}, /* DNARROW */ + {258, LYE_FORW}, /* RTARROW */ + {259, LYE_BACK}, /* LTARROW */ + {260, LYE_FORM_PASS}, /* PGDOWN */ + {261, LYE_FORM_PASS}, /* PGUP */ + {262, LYE_BOL}, /* HOME */ + {263, LYE_EOL}, /* END_KEY */ + {264, LYE_FORM_PASS}, /* F1 */ +#if !(defined(_WINDOWS) || defined(__DJGPP__)) + {265, LYE_TAB}, /* DO_KEY */ + {266, LYE_BOL}, /* FIND_KEY */ + {267, LYE_EOL}, /* SELECT_KEY */ +#endif + {269, LYE_DELP}, /* REMOVE_KEY */ + {271, LYE_FORM_PASS}, /* BACKTAB_KEY */ +#if (defined(_WINDOWS) || defined(__DJGPP__)) && defined(USE_SLANG) && !defined(DJGPP_KEYHANDLER) + {272, LYE_DELP}, + {273, LYE_ENTER}, +#endif + {-1, LYE_UNKNOWN} }; -/* - * Add the name that the user will see below. - * The order of LYLineEditors and LYLineditNames MUST be the same. - */ -const char *LYLineeditNames[] = +static const LYEditInit initBashlikeEditor[] = { - "Default Binding", + {0, LYE_SETMARK}, /* nul */ + {1, LYE_BOL}, /* ^B */ + {2, LYE_BACK}, /* ^C */ + {3, LYE_ABORT}, /* ^D */ + {4, LYE_DELN}, /* ^E */ + {5, LYE_EOL | LYE_DF}, /* ^F */ + {6, LYE_FORW}, /* ^G */ + {7, LYE_ABORT}, /* ^H */ + {8, LYE_DELP}, /* ^I */ + {9, LYE_TAB}, /* ^J */ + {10, LYE_ENTER}, /* ^K */ + {11, LYE_DELEL | LYE_DF}, /* ^L */ + {12, LYE_FORM_PASS}, /* ^M */ + {13, LYE_ENTER}, /* ^N */ + {14, LYE_FORM_PASS}, /* ^O */ + {15, LYE_FORM_PASS}, /* ^P */ + {16, LYE_FORM_PASS}, /* ^Q */ + {18, LYE_BACKW}, /* ^S */ + {19, LYE_FORWW}, /* XOFF */ + {20, LYE_TPOS}, /* ^U */ + {21, LYE_DELBL}, /* ^V */ + {22, LYE_LKCMD}, /* ^W */ + {23, LYE_DELPW}, /* ^X */ + {24, LYE_SETM1}, /* ^Y */ + {25, LYE_YANK}, /* ^Z */ + {26, LYE_FORM_PASS}, /* ^[ */ + {27, LYE_SETM2}, /* ^\ */ + {28, LYE_FORM_PASS}, /* ^] */ + {29, LYE_FORM_PASS}, /* ^^ */ + {30, LYE_SWMAP}, /* ^_ */ + {31, LYE_ABORT}, /* ^` */ + {32, LYE_CHAR}, /* */ + {33, LYE_CHAR}, /* ! */ + {34, LYE_CHAR}, /* " */ + {35, LYE_CHAR}, /* # */ + {36, LYE_CHAR}, /* $ */ + {37, LYE_CHAR}, /* % */ + {38, LYE_CHAR}, /* & */ + {39, LYE_CHAR}, /* ' */ + {40, LYE_CHAR}, /* ( */ + {41, LYE_CHAR}, /* ) */ + {42, LYE_CHAR}, /* * */ + {43, LYE_CHAR}, /* + */ + {44, LYE_CHAR}, /* , */ + {45, LYE_CHAR}, /* - */ + {46, LYE_CHAR}, /* . */ + {47, LYE_CHAR}, /* / */ + {48, LYE_CHAR}, /* 0 */ + {49, LYE_CHAR}, /* 1 */ + {50, LYE_CHAR}, /* 2 */ + {51, LYE_CHAR}, /* 3 */ + {52, LYE_CHAR}, /* 4 */ + {53, LYE_CHAR}, /* 5 */ + {54, LYE_CHAR}, /* 6 */ + {55, LYE_CHAR}, /* 7 */ + {56, LYE_CHAR}, /* 8 */ + {57, LYE_CHAR}, /* 9 */ + {58, LYE_CHAR}, /* : */ + {59, LYE_CHAR}, /* ; */ + {60, LYE_CHAR}, /* < */ + {61, LYE_CHAR}, /* = */ + {62, LYE_CHAR}, /* > */ + {63, LYE_CHAR}, /* ? */ + {64, LYE_CHAR}, /* @ */ + {65, LYE_CHAR}, /* A */ + {66, LYE_CHAR}, /* B */ + {67, LYE_CHAR}, /* C */ + {68, LYE_CHAR}, /* D */ + {69, LYE_CHAR}, /* E */ + {70, LYE_CHAR}, /* F */ + {71, LYE_CHAR}, /* G */ + {72, LYE_CHAR}, /* H */ + {73, LYE_CHAR}, /* I */ + {74, LYE_CHAR}, /* J */ + {75, LYE_CHAR}, /* K */ + {76, LYE_CHAR}, /* L */ + {77, LYE_CHAR}, /* M */ + {78, LYE_CHAR}, /* N */ + {79, LYE_CHAR}, /* O */ + {80, LYE_CHAR}, /* P */ + {81, LYE_CHAR}, /* Q */ + {82, LYE_CHAR}, /* R */ + {83, LYE_CHAR}, /* S */ + {84, LYE_CHAR}, /* T */ + {85, LYE_CHAR}, /* U */ + {86, LYE_CHAR}, /* V */ + {87, LYE_CHAR}, /* W */ + {88, LYE_CHAR}, /* X */ + {89, LYE_CHAR}, /* Y */ + {90, LYE_CHAR}, /* Z */ + {91, LYE_CHAR}, /* [ */ + {92, LYE_CHAR}, /* \ */ + {93, LYE_CHAR}, /* ] */ + {94, LYE_CHAR}, /* ^ */ + {95, LYE_CHAR}, /* _ */ + {96, LYE_CHAR}, /* ` */ + {97, LYE_CHAR}, /* a */ + {98, LYE_CHAR}, /* b */ + {99, LYE_CHAR}, /* c */ + {100, LYE_CHAR}, /* d */ + {101, LYE_CHAR}, /* e */ + {102, LYE_CHAR}, /* f */ + {103, LYE_CHAR}, /* g */ + {104, LYE_CHAR}, /* h */ + {105, LYE_CHAR}, /* i */ + {106, LYE_CHAR}, /* j */ + {107, LYE_CHAR}, /* k */ + {108, LYE_CHAR}, /* l */ + {109, LYE_CHAR}, /* m */ + {110, LYE_CHAR}, /* n */ + {111, LYE_CHAR}, /* o */ + {112, LYE_CHAR}, /* p */ + {113, LYE_CHAR}, /* q */ + {114, LYE_CHAR}, /* r */ + {115, LYE_CHAR}, /* s */ + {116, LYE_CHAR}, /* t */ + {117, LYE_CHAR}, /* u */ + {118, LYE_CHAR}, /* v */ + {119, LYE_CHAR}, /* w */ + {120, LYE_CHAR}, /* x */ + {121, LYE_CHAR}, /* y */ + {122, LYE_CHAR}, /* z */ + {123, LYE_CHAR}, /* { */ + {124, LYE_CHAR}, /* | */ + {125, LYE_CHAR}, /* } */ + {126, LYE_CHAR}, /* ~ */ + {127, LYE_DELP}, + {128, LYE_CHAR}, + {129, LYE_CHAR}, + {130, LYE_CHAR}, + {131, LYE_CHAR}, + {132, LYE_CHAR}, + {133, LYE_CHAR}, + {134, LYE_CHAR}, + {135, LYE_CHAR}, + {136, LYE_CHAR}, + {137, LYE_CHAR}, + {138, LYE_CHAR}, + {139, LYE_CHAR}, + {140, LYE_CHAR}, + {141, LYE_CHAR}, + {142, LYE_CHAR}, + {143, LYE_CHAR}, + {144, LYE_CHAR}, + {145, LYE_CHAR}, + {146, LYE_CHAR}, + {147, LYE_CHAR}, + {148, LYE_CHAR}, + {149, LYE_CHAR}, + {150, LYE_CHAR}, + {151, LYE_AIX}, + {152, LYE_CHAR}, + {153, LYE_CHAR}, + {154, LYE_CHAR}, + {155, LYE_CHAR}, + {156, LYE_CHAR}, + {157, LYE_CHAR}, + {158, LYE_CHAR}, + {159, LYE_CHAR}, + {160, LYE_CHAR}, + {161, LYE_CHAR}, + {162, LYE_CHAR}, + {163, LYE_CHAR}, + {164, LYE_CHAR}, + {165, LYE_CHAR}, + {166, LYE_CHAR}, + {167, LYE_CHAR}, + {168, LYE_CHAR}, + {169, LYE_CHAR}, + {170, LYE_CHAR}, + {171, LYE_CHAR}, + {172, LYE_CHAR}, + {173, LYE_CHAR}, + {174, LYE_CHAR}, + {175, LYE_CHAR}, + {176, LYE_CHAR}, + {177, LYE_CHAR}, + {178, LYE_CHAR}, + {179, LYE_CHAR}, + {180, LYE_CHAR}, + {181, LYE_CHAR}, + {182, LYE_CHAR}, + {183, LYE_CHAR}, + {184, LYE_CHAR}, + {185, LYE_CHAR}, + {186, LYE_CHAR}, + {187, LYE_CHAR}, + {188, LYE_CHAR}, + {189, LYE_CHAR}, + {190, LYE_CHAR}, + {191, LYE_CHAR}, + {192, LYE_CHAR}, + {193, LYE_CHAR}, + {194, LYE_CHAR}, + {195, LYE_CHAR}, + {196, LYE_CHAR}, + {197, LYE_CHAR}, + {198, LYE_CHAR}, + {199, LYE_CHAR}, + {200, LYE_CHAR}, + {201, LYE_CHAR}, + {202, LYE_CHAR}, + {203, LYE_CHAR}, + {204, LYE_CHAR}, + {205, LYE_CHAR}, + {206, LYE_CHAR}, + {207, LYE_CHAR}, + {208, LYE_CHAR}, + {209, LYE_CHAR}, + {210, LYE_CHAR}, + {211, LYE_CHAR}, + {212, LYE_CHAR}, + {213, LYE_CHAR}, + {214, LYE_CHAR}, + {215, LYE_CHAR}, + {216, LYE_CHAR}, + {217, LYE_CHAR}, + {218, LYE_CHAR}, + {219, LYE_CHAR}, + {220, LYE_CHAR}, + {221, LYE_CHAR}, + {222, LYE_CHAR}, + {223, LYE_CHAR}, + {224, LYE_CHAR}, + {225, LYE_CHAR}, + {226, LYE_CHAR}, + {227, LYE_CHAR}, + {228, LYE_CHAR}, + {229, LYE_CHAR}, + {230, LYE_CHAR}, + {231, LYE_CHAR}, + {232, LYE_CHAR}, + {233, LYE_CHAR}, + {234, LYE_CHAR}, + {235, LYE_CHAR}, + {236, LYE_CHAR}, + {237, LYE_CHAR}, + {238, LYE_CHAR}, + {239, LYE_CHAR}, + {240, LYE_CHAR}, + {241, LYE_CHAR}, + {242, LYE_CHAR}, + {243, LYE_CHAR}, + {244, LYE_CHAR}, + {245, LYE_CHAR}, + {246, LYE_CHAR}, + {247, LYE_CHAR}, + {248, LYE_CHAR}, + {249, LYE_CHAR}, + {250, LYE_CHAR}, + {251, LYE_CHAR}, + {252, LYE_CHAR}, + {253, LYE_CHAR}, + {254, LYE_CHAR}, + {255, LYE_CHAR}, + {256, LYE_FORM_PASS}, /* UPARROW */ + {257, LYE_FORM_PASS}, /* DNARROW */ + {258, LYE_FORW}, /* RTARROW */ + {259, LYE_BACK}, /* LTARROW */ + {260, LYE_FORM_PASS}, /* PGDOWN */ + {261, LYE_FORM_PASS}, /* PGUP */ + {262, LYE_BOL}, /* HOME */ + {263, LYE_EOL}, /* END_KEY */ + {264, LYE_FORM_PASS}, /* F1 */ +#if !(defined(_WINDOWS) || defined(__DJGPP__)) + {265, LYE_TAB}, /* DO_KEY */ + {266, LYE_BOL}, /* FIND_KEY */ + {267, LYE_EOL}, /* SELECT_KEY */ +#endif + {269, LYE_DELN}, /* REMOVE_KEY */ + {271, LYE_FORM_PASS}, /* BACKTAB_KEY */ +#if (defined(_WINDOWS) || defined(__DJGPP__)) && defined(USE_SLANG) && !defined(DJGPP_KEYHANDLER) + {272, LYE_DELP}, + {273, LYE_ENTER}, +#endif + {-1, LYE_UNKNOWN} +}; +#endif /* USE_ALT_BINDINGS */ + +LYEditConfig LYLineEditors[] = +{ + {"Default Binding", initDefaultEditor, DefaultEditBinding}, #ifdef USE_ALT_BINDINGS - "Alternate Bindings", - "Bash-like Bindings", + {"Alternate Bindings", initBetterEditor, BetterEditBinding}, + {"Bash-like Bindings", initBashlikeEditor, BashlikeEditBinding}, #endif - (char *) 0 }; +const char *LYLineeditNames[TABLESIZE(LYLineEditors) + 1]; + /* * Add the URL (relative to helpfilepath) used for context-dependent * help on form field editing. @@ -1062,15 +1268,15 @@ BOOL LYRemapEditBinding(int xlkc, return FALSE; /* cannot do, doesn't fit in a char - kw */ if (select_edi > 0) { if ((unsigned int) select_edi < TABLESIZE(LYLineEditors)) { - LYLineEditors[select_edi - 1][c] = (LYEditCode) lec; + LYLineEditors[select_edi - 1].used[c] = (LYEditCode) lec; success = TRUE; } } else { - for (j = 0; LYLineeditNames[j]; j++) { + for (j = 0; j < (int) TABLESIZE(LYLineEditors); j++) { success = TRUE; if (select_edi < 0 && j + 1 + select_edi == 0) continue; - LYLineEditors[j][c] = (LYEditCode) lec; + LYLineEditors[j].used[c] = (LYEditCode) lec; } } } @@ -1297,3 +1503,195 @@ int LYEditmapDeclared(void) return status; } + +#if 0 +static void printEditMap(LYEditConfig * table) +{ + unsigned j, k; + char comment[80]; + int first = TRUE; + + for (j = 0; table->init[j].code >= 0; ++j) { + int code = table->init[j].code; + + if (table->init[j].edit != table->used[code]) { + if (first) { + printf("TABLE %s\n", table->name); + first = FALSE; + } + printf("%u: init %d vs used %d\n", + j, + table->init[j].edit, + table->used[code]); + } + } + for (j = 0; j < KEYMAP_SIZE - 1; ++j) { + int code = (int) j; + BOOL found = FALSE; + + for (k = 0; table->init[k].code >= 0; ++k) { + if (code == table->init[k].code) { + found = TRUE; + break; + } + } + if (!found) { + if (table->used[j] != 0) { + int edit = table->used[j]; + int has_DF = (edit & LYE_DF); + int has_LAC = (edit & LYE_FORM_LAC); + const char *prefix = "LYE_"; + const char *name = 0; + + edit &= 0x7f; + if (has_LAC) { + Kcmd *cmd = LYKeycodeToKcmd(edit); + + if (cmd != 0) { + prefix = "LYK_"; + name = cmd->name; + } + } else { + name = lec_to_lecname(edit); + } + + if (j < 32) { + char temp[80]; + const char *what = 0; + + switch (j) { + case 0: + what = "nul"; + break; + case 17: + what = "XON"; + break; + case 19: + what = "XOFF"; + break; + default: + sprintf(temp, "^%c", j + 'A'); + what = temp; + break; + } + sprintf(comment, "\t/* %s */", what); + } else if (j < 127) { + sprintf(comment, "\t/* %c */", j); + } else { + const char *what; + + switch (j) { + case UPARROW: + what = "UPARROW"; + break; + case DNARROW: + what = "DNARROW"; + break; + case RTARROW: + what = "RTARROW"; + break; + case LTARROW: + what = "LTARROW"; + break; + case PGDOWN: + what = "PGDOWN"; + break; + case PGUP: + what = "PGUP"; + break; + case HOME: + what = "HOME"; + break; + case END_KEY: + what = "END_KEY"; + break; + case F1: + what = "F1"; + break; + case DO_KEY: + what = "DO_KEY"; + break; + case FIND_KEY: + what = "FIND_KEY"; + break; + case SELECT_KEY: + what = "SELECT_KEY"; + break; + case INSERT_KEY: + what = "INSERT_KEY"; + break; + case REMOVE_KEY: + what = "REMOVE_KEY"; + break; + case DO_NOTHING: + what = "DO_NOTHING"; + break; + case BACKTAB_KEY: + what = "BACKTAB_KEY"; + break; + case MOUSE_KEY: + what = "MOUSE_KEY"; + break; + default: + what = ""; + break; + } + if (*what) { + sprintf(comment, "\t/* %s */", what); + } else { + strcpy(comment, ""); + } + } + if (name == 0) { + name = "XXX"; + } else if (!strcmp(name, "PASS")) { + name = "FORM_PASS"; + } + if (first) { + printf("TABLE %s\n", table->name); + first = FALSE; + } + printf("\t{ %d, %s%s%s%s },%s\n", code, prefix, name, + has_DF ? "|LYE_DF" : "", + has_LAC ? "|LYE_FORM_LAC" : "", + comment); + } + } + } +} + +#else +#define printEditMap(table) /* nothing */ +#endif + +static void initLineEditor(LYEditConfig * table) +{ + unsigned k; + LYEditCode *used = table->used; + const LYEditInit *init = table->init; + + memset(used, 0, sizeof(LYEditCode) * (KEYMAP_SIZE - 1)); + for (k = 0; init[k].code >= 0; ++k) { + int code = init[k].code; + int edit = init[k].edit; + + used[code] = edit; + } + printEditMap(table); +} + +/* + * Reset the editor bindings to their default values. + */ +void LYinitEditmap(void) +{ + unsigned j; + + for (j = 0; j < TABLESIZE(LYLineEditors); ++j) { + LYLineeditNames[j] = LYLineEditors[j].name; + initLineEditor(&LYLineEditors[j]); + } + for (j = 0; j < TABLESIZE(LYModifierBindings); ++j) { + initLineEditor(&LYModifierBindings[j]); + } +} diff --git a/src/LYForms.c b/src/LYForms.c index 423d376c..a21436df 100644 --- a/src/LYForms.c +++ b/src/LYForms.c @@ -1,4 +1,4 @@ -/* $LynxId: LYForms.c,v 1.103 2013/05/04 12:58:54 tom Exp $ */ +/* $LynxId: LYForms.c,v 1.104 2013/10/12 00:03:00 tom Exp $ */ #include <HTUtils.h> #include <HTCJK.h> #include <HTTP.h> @@ -1029,7 +1029,7 @@ void show_formlink_statusline(const FormInfo * form, char *xkey_info = NULL; if (!no_editor && non_empty(editor)) { - xkey_info = key_for_func_ext(LYK_EDIT_TEXTAREA, for_what); + xkey_info = key_for_func_ext(LYK_EDITTEXTAREA, for_what); #ifdef TEXTAREA_AUTOEXTEDIT if (!xkey_info) xkey_info = key_for_func_ext(LYK_DWIMEDIT, for_what); diff --git a/src/LYKeymap.c b/src/LYKeymap.c index 7adb9b5d..26c7164d 100644 --- a/src/LYKeymap.c +++ b/src/LYKeymap.c @@ -1,4 +1,4 @@ -/* $LynxId: LYKeymap.c,v 1.85 2013/05/03 23:07:29 tom Exp $ */ +/* $LynxId: LYKeymap.c,v 1.86 2013/10/12 00:04:22 tom Exp $ */ #include <HTUtils.h> #include <LYUtils.h> #include <LYGlobalDefs.h> @@ -887,13 +887,13 @@ static Kcmd revmap[] = { LYK_DWIMEDIT, "DWIMEDIT", "use external editor for context-dependent purpose" ), DATA( - LYK_EDIT_TEXTAREA, "EDITTEXTAREA", + LYK_EDITTEXTAREA, "EDITTEXTAREA", "use an external editor to edit a form's textarea" ), DATA( - LYK_GROW_TEXTAREA, "GROWTEXTAREA", + LYK_GROWTEXTAREA, "GROWTEXTAREA", "add 5 new blank lines to the bottom of a textarea" ), DATA( - LYK_INSERT_FILE, "INSERTFILE", + LYK_INSERTFILE, "INSERTFILE", "insert file into a textarea (just above cursorline)" ), #ifdef USE_ADDRLIST_PAGE DATA( diff --git a/src/LYKeymap.h b/src/LYKeymap.h index 5cc8c4c7..5e4e3591 100644 --- a/src/LYKeymap.h +++ b/src/LYKeymap.h @@ -1,4 +1,4 @@ -/* $LynxId: LYKeymap.h,v 1.48 2012/02/12 18:29:34 tom Exp $ */ +/* $LynxId: LYKeymap.h,v 1.49 2013/10/12 00:04:22 tom Exp $ */ #ifndef LYKEYMAP_H #define LYKEYMAP_H @@ -199,9 +199,9 @@ extern "C" { ,LYK_ELGOTO ,LYK_CHANGE_LINK ,LYK_DWIMEDIT - ,LYK_EDIT_TEXTAREA - ,LYK_GROW_TEXTAREA - ,LYK_INSERT_FILE + ,LYK_EDITTEXTAREA + ,LYK_GROWTEXTAREA + ,LYK_INSERTFILE #ifdef USE_ADDRLIST_PAGE ,LYK_ADDRLIST diff --git a/src/LYMain.c b/src/LYMain.c index 161847fd..6d924436 100644 --- a/src/LYMain.c +++ b/src/LYMain.c @@ -1,5 +1,5 @@ /* - * $LynxId: LYMain.c,v 1.244 2013/10/02 20:08:54 tom Exp $ + * $LynxId: LYMain.c,v 1.245 2013/10/11 10:06:51 tom Exp $ */ #include <HTUtils.h> #include <HTTP.h> @@ -1042,6 +1042,7 @@ int main(int argc, ftp_lasthost = typecalloc(char); #endif + LYinitEditmap(); #ifdef USE_CHARSET_CHOICE memset((char *) charset_subsets, 0, sizeof(charset_subset_t) * MAXCHARSETS); #endif diff --git a/src/LYMainLoop.c b/src/LYMainLoop.c index 5d66b5cc..280de6cf 100644 --- a/src/LYMainLoop.c +++ b/src/LYMainLoop.c @@ -1,5 +1,5 @@ /* - * $LynxId: LYMainLoop.c,v 1.217 2013/05/05 20:36:20 tom Exp $ + * $LynxId: LYMainLoop.c,v 1.219 2013/10/12 00:24:53 tom Exp $ */ #include <HTUtils.h> #include <HTAccess.h> @@ -2430,7 +2430,7 @@ static int handle_LYK_DWIMEDIT(int *cmd, */ if (nlinks > 0 && LinkIsTextarea(curdoc.link)) { - *cmd = LYK_EDIT_TEXTAREA; + *cmd = LYK_EDITTEXTAREA; return 2; } @@ -7564,15 +7564,15 @@ int mainloop(void) goto new_cmd; break; - case LYK_EDIT_TEXTAREA: /* use external editor on a TEXTAREA - KED */ + case LYK_EDITTEXTAREA: /* use external editor on a TEXTAREA - KED */ handle_LYK_EDIT_TEXTAREA(&refresh_screen, &old_c, real_c); break; - case LYK_GROW_TEXTAREA: /* add new lines to bottom of TEXTAREA - KED */ + case LYK_GROWTEXTAREA: /* add new lines to bottom of TEXTAREA - KED */ handle_LYK_GROW_TEXTAREA(&refresh_screen); break; - case LYK_INSERT_FILE: /* insert file in TEXTAREA, above cursor - KED */ + case LYK_INSERTFILE: /* insert file in TEXTAREA, above cursor - KED */ handle_LYK_INSERT_FILE(&refresh_screen, &old_c, real_c); break; @@ -8009,8 +8009,8 @@ static void form_noviceline(int disabled) if (!disabled) { LYaddstr(FORM_NOVICELINE_ONE); } - LYmove(LYlines - 1, 0); - LYclrtoeol(); + LYParkCursor(); + if (disabled) return; if (EditBinding(FROMASCII('\025')) == LYE_ERASE) { diff --git a/src/LYOptions.c b/src/LYOptions.c index 90025a69..8f9cda57 100644 --- a/src/LYOptions.c +++ b/src/LYOptions.c @@ -1,4 +1,4 @@ -/* $LynxId: LYOptions.c,v 1.154 2013/06/02 19:37:05 tom Exp $ */ +/* $LynxId: LYOptions.c,v 1.155 2013/10/10 23:29:51 tom Exp $ */ #include <HTUtils.h> #include <HTFTP.h> #include <HTTP.h> /* 'reloading' flag */ @@ -2034,8 +2034,7 @@ void edit_bookmarks(void) if (MBM_A_subbookmark[a]) LYaddstr(MBM_A_subbookmark[a]); LYclrtoeol(); - LYmove(LYlines - 1, 0); - LYclrtoeol(); + LYParkCursor(); break; } } /* end for */ diff --git a/src/LYStrings.h b/src/LYStrings.h index 219413e9..a1cf0cd7 100644 --- a/src/LYStrings.h +++ b/src/LYStrings.h @@ -1,5 +1,5 @@ /* - * $LynxId: LYStrings.h,v 1.88 2013/05/03 09:37:02 tom Exp $ + * $LynxId: LYStrings.h,v 1.91 2013/10/12 00:06:34 tom Exp $ */ #ifndef LYSTRINGS_H #define LYSTRINGS_H @@ -240,7 +240,8 @@ extern "C" { /* line-edit action encoding */ typedef enum { - LYE_NOP = 0 /* Do Nothing */ + LYE_UNKNOWN = -1 /* no binding */ + ,LYE_NOP = 0 /* Do Nothing */ ,LYE_CHAR /* Insert printable char */ ,LYE_ENTER /* Input complete, return char/lynxkeycode */ ,LYE_TAB /* Input complete, return TAB */ @@ -351,15 +352,27 @@ extern "C" { int disabled, int for_mouse); - typedef unsigned char LYEditCode; + typedef unsigned short LYEditCode; + + typedef struct { + int code; + LYEditCode edit; + } LYEditInit; + + typedef struct { + const char *name; + const LYEditInit *init; + LYEditCode *used; + } LYEditConfig; extern int current_lineedit; extern const char *LYLineeditNames[]; - extern LYEditCode *LYLineEditors[]; + extern LYEditConfig LYLineEditors[]; extern const char *LYLineeditHelpURLs[]; -#define CurrentLineEditor() LYLineEditors[current_lineedit] +#define CurrentLineEditor() LYLineEditors[current_lineedit].used + extern void LYinitEditmap(void); extern const char *LYLineeditHelpURL(void); extern int escape_bound; diff --git a/src/LYUtils.c b/src/LYUtils.c index 43238170..ea645abe 100644 --- a/src/LYUtils.c +++ b/src/LYUtils.c @@ -1,5 +1,5 @@ /* - * $LynxId: LYUtils.c,v 1.243 2013/10/03 08:58:05 tom Exp $ + * $LynxId: LYUtils.c,v 1.244 2013/10/10 23:30:08 tom Exp $ */ #include <HTUtils.h> #include <HTTCP.h> @@ -1593,8 +1593,7 @@ void noviceline(int more_flag GCC_UNUSED) LYclrtoeol(); LYaddstr(NOVICE_LINE_ONE); - LYmove(LYlines - 1, 0); - LYclrtoeol(); + LYParkCursor(); #if defined(DIRED_SUPPORT ) && defined(OK_OVERRIDE) if (lynx_edit_mode && !no_dired_support) LYaddstr(DIRED_NOVICELINE); |