summaryrefslogtreecommitdiff
path: root/test/lisp/emacs-lisp
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2017-11-20 18:05:33 +0000
committerAlan Mackenzie <acm@muc.de>2017-11-20 18:08:43 +0000
commit5b5f441ff8986800aa5f175bb5db2dd90e642a3a (patch)
treef293bf9b7af092d518185b680e1522c9899b8d61 /test/lisp/emacs-lisp
parent9c6791afcd2b60f069494031ef64a5aac70ca3f8 (diff)
downloademacs-5b5f441ff8986800aa5f175bb5db2dd90e642a3a.tar.gz
emacs-5b5f441ff8986800aa5f175bb5db2dd90e642a3a.tar.bz2
emacs-5b5f441ff8986800aa5f175bb5db2dd90e642a3a.zip
read_key_sequence: correct the handling of raw_keybuf in recursive calls
This fixes bug #29349. * src/keyboard.c (raw_keybuf_buffer, raw_keybuf_count_buffer): New variables pointed to by ... (raw_keybuf, raw_keybuf_count): Variables converted to pointers. (GROW_RAW_KEYBUF): enhance with a length argument. (command_loop_1): Initialize the above two pointers to their canonical values. (read_key_sequence): In recursive calls (for menus) the function was overwriting the raw event buffer of the outer call. Correct this by introducing a local buffer for each level of call, and setting this up to be used by the call to read_char. Any contents of this local buffer are appended to the global buffer afterwards.
Diffstat (limited to 'test/lisp/emacs-lisp')
0 files changed, 0 insertions, 0 deletions