diff src/keymap.c @ 40:7e54bd776075 r19-15b103

Import from CVS: tag r19-15b103
author cvs
date Mon, 13 Aug 2007 08:54:25 +0200
parents 4103f0995bd7
children 131b0175ea99
line wrap: on
line diff
--- a/src/keymap.c	Mon Aug 13 08:54:02 2007 +0200
+++ b/src/keymap.c	Mon Aug 13 08:54:25 2007 +0200
@@ -2381,8 +2381,11 @@
 
 	      if (!EQ (buffer, Vmouse_grabbed_buffer)) /* already pushed */
 		{
+		  Lisp_Object map = XBUFFER (buffer)->keymap;
+
 		  get_relevant_minor_maps (buffer, &closure);
-		  relevant_map_push (XBUFFER (buffer)->keymap, &closure);
+		  if (!NILP(map))
+		    relevant_map_push (map, &closure);
 		}
 	    }
 	}
@@ -2621,6 +2624,8 @@
   assert (EVENTP (event0));
 
   nmaps = get_relevant_keymaps (event0, countof (maps), maps);
+  if (nmaps > countof (maps))
+    nmaps = countof (maps);
   return (process_event_binding_result
 	  (lookup_events (event0, nmaps, maps, accept_default)));
 }