Mercurial > emacs
comparison src/keyboard.c @ 96681:38b988607823
(parse_menu_item): Don't use cachelist, even under NS.
If the cache doesn't work, let's fix it, rather than work around it.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 15 Jul 2008 21:01:44 +0000 |
parents | d45acf0c8d23 |
children | 3479c744277b |
comparison
equal
deleted
inserted
replaced
96680:fb7776f6d5eb | 96681:38b988607823 |
---|---|
7994 { | 7994 { |
7995 /* We have to create a cachelist. */ | 7995 /* We have to create a cachelist. */ |
7996 /* With the introduction of where_is_cache, the computation | 7996 /* With the introduction of where_is_cache, the computation |
7997 of equivalent key bindings is sufficiently fast that we | 7997 of equivalent key bindings is sufficiently fast that we |
7998 do not need to cache it here any more. */ | 7998 do not need to cache it here any more. */ |
7999 /*PENDING: under NS this effect does not hold, perhaps due to the | 7999 /* CHECK_IMPURE (start); |
8000 modifier-preference changes to where-is-internal.. */ | 8000 XSETCDR (start, Fcons (Fcons (Qnil, Qnil), XCDR (start))); |
8001 #ifdef HAVE_NS | 8001 cachelist = XCAR (XCDR (start)); */ |
8002 CHECK_IMPURE (start); | |
8003 XSETCDR (start, Fcons (Fcons (Qnil, Qnil), XCDR (start))); | |
8004 cachelist = XCAR (XCDR (start)); | |
8005 #else | |
8006 cachelist = Fcons (Qnil, Qnil); | 8002 cachelist = Fcons (Qnil, Qnil); |
8007 #endif | |
8008 newcache = 1; | 8003 newcache = 1; |
8009 tem = AREF (item_properties, ITEM_PROPERTY_KEYEQ); | 8004 tem = AREF (item_properties, ITEM_PROPERTY_KEYEQ); |
8010 if (!NILP (keyhint)) | 8005 if (!NILP (keyhint)) |
8011 { | 8006 { |
8012 XSETCAR (cachelist, XCAR (keyhint)); | 8007 XSETCAR (cachelist, XCAR (keyhint)); |