+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 *'.
/* 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;
}
}