Subject: bug#25860: 25.1; Double macro execution

From: Eli Zaretskii <[email-masked]>
Date: Mon, 27 Feb 2017 17:57:59 +0200

> From: [email-masked]
> Cc: [email-masked],  [email-masked],  [email-masked],  [email-masked],  [email-masked],  [email-masked]
> Date: Sun, 26 Feb 2017 11:02:32 -0500
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > 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).
> 
> AFAICT, you can't define a macro from a macro:
> 
>     DEFUN ("start-kbd-macro", Fstart_kbd_macro, Sstart_kbd_macro, 1, 2, "P",
>     ...
>     {
>       if (!NILP (KVAR (current_kboard, defining_kbd_macro)))
>         error ("Already defining kbd macro");

Yes, but that's not the scenario I had in mind.  What I had in mind is
a macro that, when run, will call start-kbd-macro etc.  It's clear
that such a macro cannot be easily defined using F3 and F4, but
perhaps some ingenious method with using some Lisp data in the
macro...

Anyway, if no objections come up in a few days, I will push this.

Thanks for the feedback.