diff options
| author | Gregory Heytings | 2021-05-15 20:15:59 +0000 |
|---|---|---|
| committer | Eli Zaretskii | 2021-05-29 11:05:33 +0300 |
| commit | bd5c7404195e45f11946b4e0933a1f8b697d8b87 (patch) | |
| tree | 71852ee487e69b320e333a3bfd18047ca9de8c20 /src | |
| parent | 7bbd6b720e60cb5e726214268c5b80a3e23f799e (diff) | |
| download | emacs-bd5c7404195e45f11946b4e0933a1f8b697d8b87.tar.gz emacs-bd5c7404195e45f11946b4e0933a1f8b697d8b87.zip | |
Fix key recording bug when an input method is activated
* lisp/international/quail.el (quail-add-unread-command-events):
New function.
(quail-start-translation, quail-start-conversion)
(quail-update-translation, quail-next-translation)
(quail-prev-translation, quail-next-translation-block)
(quail-prev-translation-block, quail-minibuffer-message): Use
'quail-add-unread-command-events' (and partly revert commit
03e3440dbb). (Bug#48042)
* lisp/subr.el (inhibit--record-char): Now obsolete.
* lisp/term/xterm.el (xterm--init): New function, with most of the
code of former 'terminal-init-xterm'.
(terminal-init-xterm): Clear the lossage after terminal
initialization (see Bug#44908).
(xterm--read-event-for-query): Do not use 'inhibit--record-char'
anymore (revert commit 3e6525d69f).
* src/keyboard.c (syms_of_keyboard): Remove 'inhibit--record-char'
(partly revert 03e3440dbb).
(record_char, syms_of_keyboard_for_pdumper): Do not use
'inhibit_record_char anymore'.
Diffstat (limited to 'src')
| -rw-r--r-- | src/keyboard.c | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 47b5e590245..c855d45afab 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -3233,10 +3233,6 @@ help_char_p (Lisp_Object c) | |||
| 3233 | static void | 3233 | static void |
| 3234 | record_char (Lisp_Object c) | 3234 | record_char (Lisp_Object c) |
| 3235 | { | 3235 | { |
| 3236 | /* quail.el binds this to avoid recording keys twice. */ | ||
| 3237 | if (inhibit_record_char) | ||
| 3238 | return; | ||
| 3239 | |||
| 3240 | int recorded = 0; | 3236 | int recorded = 0; |
| 3241 | 3237 | ||
| 3242 | if (CONSP (c) && (EQ (XCAR (c), Qhelp_echo) || EQ (XCAR (c), Qmouse_movement))) | 3238 | if (CONSP (c) && (EQ (XCAR (c), Qhelp_echo) || EQ (XCAR (c), Qmouse_movement))) |
| @@ -12343,13 +12339,6 @@ If nil, Emacs crashes immediately in response to fatal signals. */); | |||
| 12343 | Vwhile_no_input_ignore_events, | 12339 | Vwhile_no_input_ignore_events, |
| 12344 | doc: /* Ignored events from while-no-input. */); | 12340 | doc: /* Ignored events from while-no-input. */); |
| 12345 | 12341 | ||
| 12346 | DEFVAR_BOOL ("inhibit--record-char", | ||
| 12347 | inhibit_record_char, | ||
| 12348 | doc: /* If non-nil, don't record input events. | ||
| 12349 | This inhibits recording input events for the purposes of keyboard | ||
| 12350 | macros, dribble file, and `recent-keys'. | ||
| 12351 | Internal use only. */); | ||
| 12352 | |||
| 12353 | pdumper_do_now_and_after_load (syms_of_keyboard_for_pdumper); | 12342 | pdumper_do_now_and_after_load (syms_of_keyboard_for_pdumper); |
| 12354 | } | 12343 | } |
| 12355 | 12344 | ||
| @@ -12383,8 +12372,6 @@ syms_of_keyboard_for_pdumper (void) | |||
| 12383 | /* Create the initial keyboard. Qt means 'unset'. */ | 12372 | /* Create the initial keyboard. Qt means 'unset'. */ |
| 12384 | eassert (initial_kboard == NULL); | 12373 | eassert (initial_kboard == NULL); |
| 12385 | initial_kboard = allocate_kboard (Qt); | 12374 | initial_kboard = allocate_kboard (Qt); |
| 12386 | |||
| 12387 | inhibit_record_char = false; | ||
| 12388 | } | 12375 | } |
| 12389 | 12376 | ||
| 12390 | void | 12377 | void |