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

From: Eli Zaretskii <[email-masked]>
Date: Fri, 22 Sep 2023 14:29:08 +0300

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.

I've changed the severity of the bug to "wishlist" in cases someone
thinks it is feasible to extend the macro facilities to support such
expectations.  But my personal tendency is to close this bug as
notabug.