]> git.eshelyaron.com Git - emacs.git/commitdiff
(get_keyelt): Only eval the filter if `autoload' is set.
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 13 Dec 2000 14:13:18 +0000 (14:13 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 13 Dec 2000 14:13:18 +0000 (14:13 +0000)
src/ChangeLog
src/keymap.c

index 861de1036c0f10847377a9690cf00deda413636f..7dc51cd46f9cb5829d1c910938fba3dc48543cb1 100644 (file)
@@ -1,7 +1,13 @@
+2000-12-13  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
+
+       * keyboard.c (menu_bar_items, tool_bar_items):
+       Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
+
 2000-12-13  Gerd Moellmann  <gerd@gnu.org>
 
-       * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern
-       char *'
+       * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
 
        * xfns.c (gray_bitmap_bits): Declare `char *'.
 
index 68c673380c8693284ba77be1107076075acc2b81..52b535e5d1539126d050961043b53feee845bfa4 100644 (file)
@@ -615,18 +615,14 @@ get_keyelt (object, autoload)
 
              /* 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;
                  }
            }