[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#25860: 25.1; Double macro execution
From: |
npostavs |
Subject: |
bug#25860: 25.1; Double macro execution |
Date: |
Sun, 26 Feb 2017 02:12:33 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
tags 25860 confirmed
quit
Tino Calancha <tino.calancha@gmail.com> writes:
> Thank you for the additional information.
> You are right. This is a regression introduced in Emacs 25.1.
>
> I] Not observed with Emacs-24.5.
> II] I reproduce the issue with Emacs-25.1.
> *) I see the issue with Emacs-25.1 even after loading kmacro.el
> from Emacs-24.5. That seems to point to changes in the
> C source code; maybe some changes in src/macro.c?
>
> I am having some difficulties to do a bisect to track down
> changes in macro.c. Maybe someone can do it much faster and find
> the commit causing this issue.
I traced the execution in gdb, the code removed in the following diff
seems to be the culprit:
--- 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.
1: 2015-08-10 21:15:03 +0300 30a6b1f81412044aa7dda5573b0142a0a03c4fd3
Fix recording of events pushed onto unread-command-events
Slightly simpler reproduction: evaluate
(defun insert-a ()
(interactive)
(execute-kbd-macro "a" 1))
(define-key global-map [f12] 'insert-a)
then f3 f12 f4 C-x e
- 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 <=
- bug#25860: 25.1; Double macro execution, Eli Zaretskii, 2017/02/26
- 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