Mercurial > emacs
changeset 104936:4556ab401b02
(where_is_internal): Don't erroneously return nil right after
filling the cache.
(where_is_internal_1): Fix up typo.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Fri, 11 Sep 2009 05:10:15 +0000 |
parents | bd45a173a25f |
children | 1757b9590368 |
files | src/ChangeLog src/keymap.c |
diffstat | 2 files changed, 17 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Fri Sep 11 04:27:38 2009 +0000 +++ b/src/ChangeLog Fri Sep 11 05:10:15 2009 +0000 @@ -1,3 +1,9 @@ +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
--- a/src/keymap.c Fri Sep 11 04:27:38 2009 +0000 +++ b/src/keymap.c Fri Sep 11 05:10:15 2009 +0000 @@ -2765,12 +2765,16 @@ } 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; @@ -2973,7 +2977,7 @@ 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