Blame doc/Todo.emacskey.dif

Packit 15a96c
--- window.c	Wed May 22 23:40:36 1996
Packit 15a96c
+++ ../../source/window.c	Thu May  9 23:55:04 1996
Packit 15a96c
@@ -38,6 +38,7 @@
Packit 15a96c
 
Packit 15a96c
 #ifndef BBS
Packit 15a96c
 #include "config.h"
Packit 15a96c
+#include "configsym.h"
Packit 15a96c
 #endif
Packit 15a96c
 
Packit 15a96c
 #define BUFFERSIZE 2048
Packit 15a96c
@@ -1589,6 +1590,9 @@
Packit 15a96c
   int direct = dirflush;
Packit 15a96c
   int delete = 1;
Packit 15a96c
 
Packit 15a96c
+  char *emacskeymap_from = "\001\002\004\005\006" /*"\013"*/ ; 
Packit 15a96c
+  int emacskeymap_to[] = { K_HOME, K_LT, K_DEL, K_END, K_RT } ;
Packit 15a96c
+
Packit 15a96c
   x = w->curx;
Packit 15a96c
   y = w->cury;
Packit 15a96c
 
Packit 15a96c
@@ -1609,6 +1613,11 @@
Packit 15a96c
 		once--;
Packit 15a96c
 	} else {
Packit 15a96c
 		c = getch();
Packit 15a96c
+		/* maybe this stuff (below) should be #ifndef BBS?? */
Packit 15a96c
+		if (P_EMACSKEYS[0] == 'Y' && strchr(emacskeymap_from,c))
Packit 15a96c
+			c = emacskeymap_to[(int)strchr(emacskeymap_from,c) -
Packit 15a96c
+				(int)emacskeymap_from];
Packit 15a96c
+			
Packit 15a96c
 		if (c > 255 || c == K_BS || c == K_DEL) delete = 0;
Packit 15a96c
 	}
Packit 15a96c
 	switch(c) {
Packit 15a96c
@@ -1677,7 +1686,18 @@
Packit 15a96c
 			wlocate(w, x + idx - offs, y);
Packit 15a96c
 			wflush();
Packit 15a96c
 			break;
Packit 15a96c
+		case 'K'-'@':	/* CTRL-K */
Packit 15a96c
+				/* Delete rest of line */
Packit 15a96c
+			if(P_EMACSKEYS[0] == 'Y') {
Packit 15a96c
+				buf[idx] = 0;
Packit 15a96c
+				lredraw(w, x + idx - offs, y, buf + idx,
Packit 15a96c
+					linelen - (idx - offs));
Packit 15a96c
+				wlocate(w, x + idx - offs, y);
Packit 15a96c
+				wflush();
Packit 15a96c
+			}
Packit 15a96c
+			break;
Packit 15a96c
 		default:
Packit 15a96c
+			if (c < 32 || c > 127) break;
Packit 15a96c
 			/* If delete == 1, delete the buffer. */
Packit 15a96c
 			if (delete) {
Packit 15a96c
 				if ((i = strlen(buf)) > linelen)
Packit 15a96c
@@ -1691,7 +1711,6 @@
Packit 15a96c
 			}
Packit 15a96c
 
Packit 15a96c
 			/* Insert character at cursor position. */
Packit 15a96c
-			if (c < 32 || c > 127) break;
Packit 15a96c
 			if (idx + 1 >= maxlen) break;
Packit 15a96c
 			for(f = strlen(buf) + 1; f > idx; f--)
Packit 15a96c
 				buf[f] = buf[f-1];
Packit 15a96c
--- ./config.c	Wed May 22 23:23:18 1996
Packit 15a96c
+++ ../source/config.c	Thu May  9 22:58:38 1996
Packit 15a96c
@@ -593,13 +593,13 @@
Packit 15a96c
   int tmp_c;    /* fmg - need it to color keep in sanity checks */
Packit 15a96c
   char buf[16];
Packit 15a96c
   int miny = 4, 
Packit 15a96c
-  maxy = 17;
Packit 15a96c
+  maxy = 18;
Packit 15a96c
   int old_stat = P_STATLINE[0];
Packit 15a96c
 #if _HAVE_MACROS
Packit 15a96c
   FILE	*fp;
Packit 15a96c
 
Packit 15a96c
   miny = 3;
Packit 15a96c
-  maxy = 19;
Packit 15a96c
+  maxy = 20;
Packit 15a96c
 #endif
Packit 15a96c
 
Packit 15a96c
   w = wopen(15, miny, 69, maxy, BDOUBLE, stdattr, mfcolor, mbcolor, 0, 0, 1);
Packit 15a96c
@@ -621,11 +621,13 @@
Packit 15a96c
   /* MARK updated 02/17/95 - Configurable history buffer size */
Packit 15a96c
   wprintf(w, " K - History Buffer Size    : %s\n", P_HISTSIZE);
Packit 15a96c
 
Packit 15a96c
+  wprintf(w, " L - Enable Emacs keys      : %s\n", P_EMACSKEYS);
Packit 15a96c
+
Packit 15a96c
 #if _HAVE_MACROS
Packit 15a96c
   /* fmg - macros support */
Packit 15a96c
-  wprintf(w, " L - Macros file            : %s\n", P_MACROS);
Packit 15a96c
-  wprintf(w, " M - Edit Macros\n");
Packit 15a96c
-  wprintf(w, " N - Macros enabled         : %s\n", P_MACENAB);
Packit 15a96c
+  wprintf(w, " M - Macros file            : %s\n", P_MACROS);
Packit 15a96c
+  wprintf(w, " N - Edit Macros\n");
Packit 15a96c
+  wprintf(w, " O - Macros enabled         : %s\n", P_MACENAB);
Packit 15a96c
 #endif
Packit 15a96c
 
Packit 15a96c
   wredraw(w, 1);
Packit 15a96c
@@ -855,9 +857,14 @@
Packit 15a96c
 			werror("This system does not support history");
Packit 15a96c
 #endif
Packit 15a96c
 			break;
Packit 15a96c
+		case 'L': /* enable emacs editing keys */
Packit 15a96c
+			psets(P_EMACSKEYS, yesno(P_EMACSKEYS[0] == 'N'));
Packit 15a96c
+			wlocate(w, 30, 12);
Packit 15a96c
+			wprintf(w, "%s", P_EMACSKEYS);
Packit 15a96c
+			break;
Packit 15a96c
 #if _HAVE_MACROS
Packit 15a96c
-                case 'L': /* fmg - get local macros storage file */
Packit 15a96c
-                        pgets(w, 30, 12, P_MACROS, 64, 64);
Packit 15a96c
+                case 'M': /* fmg - get local macros storage file */
Packit 15a96c
+                        pgets(w, 30, 13, P_MACROS, 64, 64);
Packit 15a96c
 
Packit 15a96c
 			/* Try to open the file to read it in. */
Packit 15a96c
 			fp = sfopen(pfix_home(P_MACROS), "r+");
Packit 15a96c
@@ -880,12 +887,12 @@
Packit 15a96c
 			readmacs(fp, 0);
Packit 15a96c
 			fclose(fp);
Packit 15a96c
                         break;
Packit 15a96c
-                case 'M': /* fmg - Bring up macro editing window */
Packit 15a96c
+                case 'N': /* fmg - Bring up macro editing window */
Packit 15a96c
                         domacros();
Packit 15a96c
                         break;
Packit 15a96c
-		case 'N':
Packit 15a96c
+		case 'O':
Packit 15a96c
 			psets(P_MACENAB, yesno(P_MACENAB[0] == 'N'));
Packit 15a96c
-			wlocate(w, 30, 14);
Packit 15a96c
+			wlocate(w, 30, 15);
Packit 15a96c
 			wprintf(w, "%s", P_MACENAB);
Packit 15a96c
 			break;
Packit 15a96c
 #endif
Packit 15a96c
--- orig_source/configsym.h	Wed Mar 15 18:37:36 1995
Packit 15a96c
+++ source/configsym.h	Thu May  9 22:34:32 1996
Packit 15a96c
@@ -117,7 +117,8 @@
Packit 15a96c
 
Packit 15a96c
 #define P_SOUND		mpars[75].value
Packit 15a96c
 #define P_HISTSIZE      mpars[76].value  /* History buffer size */
Packit 15a96c
- 
Packit 15a96c
+#define P_EMACSKEYS	mpars[77].value  /* Enable emacs keys in line edits */
Packit 15a96c
+
Packit 15a96c
 /* fmg - macros struct */
Packit 15a96c
 
Packit 15a96c
 #define P_MAC1          mmacs[0].value
Packit 15a96c
--- orig_source/rwconf.c	Wed Mar 15 18:37:36 1995
Packit 15a96c
+++ source/rwconf.c	Thu May  9 22:35:56 1996
Packit 15a96c
@@ -140,6 +140,9 @@
Packit 15a96c
   /* MARK updated 02/17/95 - History buffer size */
Packit 15a96c
   { "256",             PUBLIC,    "histlines" },
Packit 15a96c
 
Packit 15a96c
+  /* Enable Emacs editing keys in line editings */
Packit 15a96c
+  { "Yes",		PUBLIC,   "emacskeys" },
Packit 15a96c
+
Packit 15a96c
   /* That's all folks */
Packit 15a96c
   { "",                 0,         (char *)NULL },
Packit 15a96c
 };