# HG changeset patch # User Stefan Monnier # Date 976716790 0 # Node ID 35d7808fe9f62544ba878ad0cd0f88a3ba3cfa08 # Parent cd02b61654e4a4d2086d06952ad9b3ea1942efda (get_keyelt): Only eval the filter if `autoload' is set. diff -r cd02b61654e4 -r 35d7808fe9f6 src/keymap.c --- 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; } }