Subject: Re: bug#15126: 24.3; kmacro-end-and-call-macro repeats macro multiple times following isearch-forward
From: Juri Linkov <[email-masked]>
To: Simon Katz <[email-masked]>
Cc: [email-masked]
Date: Tue, 27 Aug 2013 19:06:58 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

>> In Emacs 24.3.1, kmacro-end-and-call-macro calls the macro repeatedly
>> making changes to all the repeated text up to the end of the file.
>
> It's clear that neither `C-x' nor `C-x e' should be stored.
> So not storing `C-x e' will not execute the same macro repeatedly.

This case is fixed now.  Thanks for the bug report.

There is another case where instead of `C-x e'
typing more verbosely `M-x kmacro-end-and-call-macro RET'
will store this sequence in the macro.

But it's not a isearch specific problem as it can be reproduced
without isearch by the test case:

  M-x kmacro-start-macro RET x x x x
  M-x kmacro-end-and-call-macro RET

It doesn't stop after the first macro execution
because it stores M-x and the command in the macro:

Macro:
4*x			;; self-insert-command
M-x			;; execute-extended-command
kmacro-end-and-call-macro	;; self-insert-command * 25

This is a minor problem since nobody reported it
because there are more convenient keys to do the same
with `C-x ( x x x x C-x e' (or F3/F4).