Subject: Re: bug#66149: Mistyping a search breaks keyboard macro

From: Konstantin Kharlamov <[email-masked]>
Date: Fri, 22 Sep 2023 14:40:50 +0300

On Fri, 2023-09-22 at 14:29 +0300, Eli Zaretskii wrote:
> severity 66149 wishlist
> thanks
> 
> > From: Konstantin Kharlamov <[email-masked]>
> > Date: Fri, 22 Sep 2023 11:09:59 +0300
> > 
> > If a user recorded a keyboard macro, upon replaying they expect the
> > actions will be executed exactly as performed during recording.
> > 
> > Unfortunately that doesn't hold for searches, which is unfortunate,
> > because search is very useful during keyboard-macros. If a user
> > mistypes a search, they usually just remove the offending letters
> > and it just works. However replaying such record fails with
> > `Keyboard macro terminated by a command ringing the bell`
> > 
> > # Steps to reproduce
> > 
> > 1. `emacs -Q`
> > 2. Press `F3` to start recording a macro
> > 3. Press `C-s` to start search and type `bufg`. The letter `g` will
> > get highlighted in red because there's no such word
> > 4. Press Backspace to remove `g` letter
> > 5. Press `f` so the word is `buff`
> > 6. Finish the macro by pressing `F4`
> > 7. Execute the macro by pressing `F4`
> > 
> > ## Expected
> > 
> > Search succeeds
> > 
> > ## Actual
> > 
> > Search fails with `After 0 kbd macro iterations: isearch-search:
> > Keyboard macro terminated by a command ringing the bell`
> 
> IMNSHO, your expectations are unreasonable.  Keyboard macros are not
> supposed to allow this; if you want something like that, you will
> need
> to write a special-purpose command.

Well, I'm not sure why you say it's unreasonable, but for the record,
the related emacs stackexchange question has 2k hits at the moment¹.
So… at least there is demand for this to work.

1: https://emacs.stackexchange.com/q/10599/2671#ringing-bell-in-macro-with-search