+2009-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * keymap.c (where_is_internal): Don't erroneously return nil right after
+ filling the cache.
+ (where_is_internal_1): Fix up typo.
+
2009-09-11 Glenn Morris <rgm@gnu.org>
* frame.c (Fx_parse_geometry): Unify the X and NS versions so that they
}
if (nomenus && !noindirect)
- /* Remember for which keymaps this cache was built.
- We do it here (late) because we want to keep where_is_cache_keymaps
- set to t while the cache isn't fully filled. */
- where_is_cache_keymaps = keymaps;
-
- return data.sequences;
+ { /* Remember for which keymaps this cache was built.
+ We do it here (late) because we want to keep where_is_cache_keymaps
+ set to t while the cache isn't fully filled. */
+ where_is_cache_keymaps = keymaps;
+ /* During cache-filling, data.sequences is not filled by
+ where_is_internal_1. */
+ return Fgethash (definition, where_is_cache, Qnil);
+ }
+ else
+ return data.sequences;
}
static Lisp_Object Vwhere_is_preferred_modifier;
Lisp_Object sequence;
/* Search through indirections unless that's not wanted. */
- if (noindirect)
+ if (!noindirect)
binding = get_keyelt (binding, 0);
/* End this iteration if this element does not match