diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2013-02-11 14:21:23 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2013-02-11 14:21:23 -0500 |
commit | 99d0d6dc23f0fd2ee6d64f0f18a33f2b791c642d (patch) | |
tree | 2cd8a54c22c9354415306c76bd65dddde723532f /src/keymap.c | |
parent | f5e1b6804dc2307983e4c55d4d6530549ddccbb7 (diff) | |
download | emacs-99d0d6dc23f0fd2ee6d64f0f18a33f2b791c642d.tar.gz |
Clean up read_key_sequence a bit; reread active keymaps after first event.
* src/keyboard.c (read_char, read_char_x_menu_prompt)
(read_char_minibuf_menu_prompt):
Replace nmaps+maps with a single `map' arg.
(follow_key): Operate on a single map.
(active_maps): New function.
(test_undefined): Also return true for nil bindings.
(read_key_sequence): Use active_maps to replace the arrays of keymaps with
a single (composed) keymap. Remember `first_event' to choose the right
set of active keymaps. Recompute the set of keymaps after receiving
the first event. Remove GOBBLE_FIRST_EVENT.
(syms_of_keyboard): Remove inhibit_local_menu_bar_menus.
* src/keyboard.h (read_char): Update declaration.
* src/lread.c (read_filtered_event): Adjust call to read_char.
* lisp/cus-start.el (all): Remove inhibit-local-menu-bar-menus.
Diffstat (limited to 'src/keymap.c')
-rw-r--r-- | src/keymap.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/keymap.c b/src/keymap.c index 1e201e06dc3..922c1703edf 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -1244,7 +1244,7 @@ remapping in all currently active keymaps. */) return INTEGERP (command) ? Qnil : command; } -/* Value is number if KEY is too long; nil if valid but has no definition. */ +/* Value is number if KEY is too long; nil if valid but has no definition. */ /* GC is possible in this function. */ DEFUN ("lookup-key", Flookup_key, Slookup_key, 2, 3, 0, @@ -1536,7 +1536,7 @@ DEFUN ("current-active-maps", Fcurrent_active_maps, Scurrent_active_maps, doc: /* Return a list of the currently active keymaps. OLP if non-nil indicates that we should obey `overriding-local-map' and `overriding-terminal-local-map'. POSITION can specify a click position -like in the respective argument of `key-binding'. */) +like in the respective argument of `key-binding'. */) (Lisp_Object olp, Lisp_Object position) { ptrdiff_t count = SPECPDL_INDEX (); @@ -1545,7 +1545,7 @@ like in the respective argument of `key-binding'. */) /* If a mouse click position is given, our variables are based on the buffer clicked on, not the current buffer. So we may have to - switch the buffer here. */ + switch the buffer here. */ if (CONSP (position)) { |