changeset 34515:35d7808fe9f6

(get_keyelt): Only eval the filter if `autoload' is set.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 13 Dec 2000 14:13:10 +0000
parents cd02b61654e4
children d175a5c9ef33
files src/keymap.c
diffstat 1 files changed, 2 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/keymap.c	Wed Dec 13 14:12:02 2000 +0000
+++ b/src/keymap.c	Wed Dec 13 14:13:10 2000 +0000
@@ -615,18 +615,14 @@
 
 	      /* If there's a `:filter FILTER', apply FILTER to the
 		 menu-item's definition to get the real definition to
-		 use.  Temporarily inhibit GC while evaluating FILTER,
-	         because not functions calling get_keyelt are prepared
-		 for a GC.  */
+		 use.  */
 	      for (; CONSP (tem) && CONSP (XCDR (tem)); tem = XCDR (tem))
-		if (EQ (XCAR (tem), QCfilter))
+		if (EQ (XCAR (tem), QCfilter) && autoload)
 		  {
-		    int count = inhibit_garbage_collection ();
 		    Lisp_Object filter;
 		    filter = XCAR (XCDR (tem));
 		    filter = list2 (filter, list2 (Qquote, object));
 		    object = menu_item_eval_property (filter);
-		    unbind_to (count, Qnil);
 		    break;
 		  }
 	    }