• Stefan Monnier's avatar
    Clean up read_key_sequence a bit; reread active keymaps after first event. · 99d0d6dc
    Stefan Monnier authored
    * 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.
    99d0d6dc
keyboard.h 20.1 KB