Commit d5b3eb1b authored by Stefan Monnier's avatar Stefan Monnier

(get_keyelt): Only eval the filter if `autoload' is set.

parent 341a09cf
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 *'.
......
......@@ -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;
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment