add DB's overhaul of the cutting code and related file-writing code, his
fixes to check_operating_dir(), and a few minor cleanups and fixes of
mine


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1600 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
diff --git a/src/winio.c b/src/winio.c
index 24fec70..ec60a2f 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -1090,12 +1090,12 @@
 		    fprintf(stderr, "Aha! \'%c\' (%d)\n", kbinput,
 			    kbinput);
 #endif
-		    if (meta == 1 && kbinput == t->altval)
-			/* We hit an Alt key.  Do like above.  We don't
-			   just ungetch() the letter and let it get
-			   caught above cause that screws the
-			   keypad... */
-			return t->altval;
+		    if (meta == 1 && (kbinput == t->metaval || kbinput == t->misc))
+			/* We hit a Meta key.  Do like above.  We don't
+			 * just ungetch() the letter and let it get
+			 * caught above cause that screws the
+			 * keypad... */
+			return kbinput;
 		}
 
 	    if (is_cntrl_char(kbinput))
@@ -1223,8 +1223,8 @@
 		    strcpy(keystr, "^?");
 		else
 		    sprintf(keystr, "^%c", s->val + 64);
-	    } else if (s->altval != NANO_NO_KEY)
-		sprintf(keystr, "M-%c", toupper(s->altval));
+	    } else if (s->metaval != NANO_NO_KEY)
+		sprintf(keystr, "M-%c", toupper(s->metaval));
 
 	    onekey(keystr, s->desc, COLS / numcols);