Mercurial > emacs
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; } }