aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGregory Heytings2021-05-15 20:15:59 +0000
committerEli Zaretskii2021-05-29 11:05:33 +0300
commitbd5c7404195e45f11946b4e0933a1f8b697d8b87 (patch)
tree71852ee487e69b320e333a3bfd18047ca9de8c20 /src
parent7bbd6b720e60cb5e726214268c5b80a3e23f799e (diff)
downloademacs-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.c13
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)
3233static void 3233static void
3234record_char (Lisp_Object c) 3234record_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.
12349This inhibits recording input events for the purposes of keyboard
12350macros, dribble file, and `recent-keys'.
12351Internal 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
12390void 12377void