aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2009-09-11 05:10:15 +0000
committerStefan Monnier2009-09-11 05:10:15 +0000
commit9d8893324678838706c4b27eb18aa285101dd414 (patch)
tree840eb0183c753cef6aad9981bb9010ff3583acfa /src
parentb6fe8102944938c1cac297243fa2f04dd274f673 (diff)
downloademacs-9d8893324678838706c4b27eb18aa285101dd414.tar.gz
emacs-9d8893324678838706c4b27eb18aa285101dd414.zip
(where_is_internal): Don't erroneously return nil right after
filling the cache. (where_is_internal_1): Fix up typo.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/keymap.c18
2 files changed, 17 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index cf9725332e8..de2c7c30f44 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12009-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * keymap.c (where_is_internal): Don't erroneously return nil right after
4 filling the cache.
5 (where_is_internal_1): Fix up typo.
6
12009-09-11 Glenn Morris <rgm@gnu.org> 72009-09-11 Glenn Morris <rgm@gnu.org>
2 8
3 * frame.c (Fx_parse_geometry): Unify the X and NS versions so that they 9 * frame.c (Fx_parse_geometry): Unify the X and NS versions so that they
diff --git a/src/keymap.c b/src/keymap.c
index 561b3453967..bcbeda72c8c 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -2765,12 +2765,16 @@ where_is_internal (Lisp_Object definition, Lisp_Object keymaps,
2765 } 2765 }
2766 2766
2767 if (nomenus && !noindirect) 2767 if (nomenus && !noindirect)
2768 /* Remember for which keymaps this cache was built. 2768 { /* Remember for which keymaps this cache was built.
2769 We do it here (late) because we want to keep where_is_cache_keymaps 2769 We do it here (late) because we want to keep where_is_cache_keymaps
2770 set to t while the cache isn't fully filled. */ 2770 set to t while the cache isn't fully filled. */
2771 where_is_cache_keymaps = keymaps; 2771 where_is_cache_keymaps = keymaps;
2772 2772 /* During cache-filling, data.sequences is not filled by
2773 return data.sequences; 2773 where_is_internal_1. */
2774 return Fgethash (definition, where_is_cache, Qnil);
2775 }
2776 else
2777 return data.sequences;
2774} 2778}
2775 2779
2776static Lisp_Object Vwhere_is_preferred_modifier; 2780static Lisp_Object Vwhere_is_preferred_modifier;
@@ -2973,7 +2977,7 @@ where_is_internal_1 (key, binding, args, data)
2973 Lisp_Object sequence; 2977 Lisp_Object sequence;
2974 2978
2975 /* Search through indirections unless that's not wanted. */ 2979 /* Search through indirections unless that's not wanted. */
2976 if (noindirect) 2980 if (!noindirect)
2977 binding = get_keyelt (binding, 0); 2981 binding = get_keyelt (binding, 0);
2978 2982
2979 /* End this iteration if this element does not match 2983 /* End this iteration if this element does not match