diff options
author | Alan Mackenzie <acm@muc.de> | 2017-12-02 10:00:56 +0000 |
---|---|---|
committer | Alan Mackenzie <acm@muc.de> | 2017-12-02 10:00:56 +0000 |
commit | bc092fcaea7268f2339f0e92720a37e62cdca5b2 (patch) | |
tree | f5616124003faa9b852d9388fbd22927a520cd44 /src/keyboard.h | |
parent | 4856ee17175a80dc105e060c1184d3b3df07e1cf (diff) | |
download | emacs-bc092fcaea7268f2339f0e92720a37e62cdca5b2.tar.gz |
For help commands, ensure all keys of a mouse sequence are reported.
This solves the problem where read_key_sequence initializes and uses a global
buffer raw_keybuf, yet is called recusrsively. The initialization is now done
elsewhere, avoiding the reinitialization of that global buffer.
* src/keyboard.c (command_loop_1, read_key_sequence_vs): Initialize
raw_event_count before calling read_key_sequence.
(read_char_x_menu_prompt): Call x_popup_menu_1 in place of Fx_popup_menu.
(init_raw_keybuf_count): New function.
(read_key_sequence): Remove initialization of raw_event_count. Add a missing
GROW_RAW_KEYBUF invocation.
* src/keyboard.h: (init_raw_keybuf_count): New declaration.
* src/menu.c: (x_popup_menu_1): New function with the functionality of the
former Fx_popup_menu.
(Fx_popup_menu): Replace with function which initializes raw_event_count then
calls x_popup_menu_1.
* src/menu.h: (x_popup_menu_1): New declaration.
Diffstat (limited to 'src/keyboard.h')
-rw-r--r-- | src/keyboard.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/keyboard.h b/src/keyboard.h index 662d8e4a4f6..c232e778e21 100644 --- a/src/keyboard.h +++ b/src/keyboard.h @@ -438,6 +438,7 @@ extern unsigned int timers_run; extern bool menu_separator_name_p (const char *); extern bool parse_menu_item (Lisp_Object, int); +extern void init_raw_keybuf_count (void); extern KBOARD *allocate_kboard (Lisp_Object); extern void delete_kboard (KBOARD *); extern void not_single_kboard_state (KBOARD *); |