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));