Subject: Mistyping a search breaks keyboard macro
From: Konstantin Kharlamov <[email-masked]>
To: [email-masked]
Date: Fri, 22 Sep 2023 11:09:59 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

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`

# Additional information

Emacs build from git as of commit 04710bd01b2