diff src/keyboard.c @ 853:224b0d5d1a38

*** empty log message ***
author Jim Blandy <jimb@redhat.com>
date Wed, 22 Jul 1992 21:20:04 +0000
parents e4093444f9f8
children ef5f79a6535a
line wrap: on
line diff
--- a/src/keyboard.c	Wed Jul 22 21:17:34 1992 +0000
+++ b/src/keyboard.c	Wed Jul 22 21:20:04 1992 +0000
@@ -2697,8 +2697,20 @@
 	  /* Scan from fkey_end until we find a bound suffix.  */
 	  while (fkey_end < t)
 	    {
+	      /* Look up meta-characters by prefixing them
+		 with meta_prefix_char.  I hate this.  */
+	      if (keybuf[fkey_end++] & 0x80)
+		fkey_next =
+		  get_keymap_1 (get_keyelt
+				(access_keymap (fkey_map, meta_prefix_char)),
+				0);
+	      else
+		fkey_next = fkey_map;
+
 	      fkey_next =
-		get_keyelt (access_keymap (fkey_map, keybuf[fkey_end++]));
+		get_keyelt (access_keymap
+			    (fkey_next, keybuf[(fkey_end++) & 0x7f]));
+
 	      /* If keybuf[fkey_start..fkey_next] is bound in the
 		 function key map and it's a suffix of the current
 		 sequence (i.e. fkey_next == t), replace it with