[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#25860: 25.1; Double macro execution
From: |
Eli Zaretskii |
Subject: |
bug#25860: 25.1; Double macro execution |
Date: |
Sun, 26 Feb 2017 17:33:27 +0200 |
> From: npostavs@users.sourceforge.net
> Cc: Marek Twardochlib <wasserwerk.studio@googlemail.com>,
> 25860@debbugs.gnu.org, eggert@cs.ucla.edu, jwiegley@gmail.com, Andreas
> Schwab <schwab@linux-m68k.org>, eliz@gnu.org
> Date: Sun, 26 Feb 2017 02:12:33 -0500
>
> --- i/src/keyboard.c
> +++ w/src/keyboard.c
> @@ -3029,14 +3029,6 @@ read_char (int commandflag, Lisp_Object map,
> Vunread_post_input_method_events
> = nconc2 (XCDR (tem), Vunread_post_input_method_events);
> }
> - /* When we consume events from the various unread-*-events lists, we
> - bypass the code that records input, so record these events now if
> - they were not recorded already. */
> - if (!recorded)
> - {
> - record_char (c);
> - recorded = true;
> - }
>
> reread_first:
>
> This was added in [1: 30a6b1f814]. Obviously just removing it will
> reintroduce the bug it fixed, I'm not sure what the proper fix should
> be.
Like below?
I admit that I don't see myself as an expert on all the complexity
that goes on in keyboard.c and friends. With this change,
kmacro-tests.el still passes, but I'm not sure that's good enough
(e.g., can a macro define another macro when it runs? if so, this
change will get in the way). Comments and test cases welcome.
Thanks.
diff --git a/src/keyboard.c b/src/keyboard.c
index 0245dfa..ec4dee0 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -3245,7 +3245,7 @@ record_char (Lisp_Object c)
}
}
}
- else
+ else if (NILP (Vexecuting_kbd_macro))
store_kbd_macro_char (c);
/* recent_keys should not include events from keyboard macros. */
- bug#25860: 25.1; Double macro execution, Marek Twardochlib, 2017/02/24
- bug#25860: 25.1; Double macro execution, Marek Twardochlib, 2017/02/25
- bug#25860: 25.1; Double macro execution, Tino Calancha, 2017/02/26
- bug#25860: 25.1; Double macro execution, npostavs, 2017/02/26
- bug#25860: 25.1; Double macro execution,
Eli Zaretskii <=
- bug#25860: 25.1; Double macro execution, npostavs, 2017/02/26
- bug#25860: 25.1; Double macro execution, Eli Zaretskii, 2017/02/27
- bug#25860: 25.1; Double macro execution, Noam Postavsky, 2017/02/27