Subject: bug#12986: Pressing backspace during isearch exits case-sensitive and word modes

From: Juri Linkov <[email-masked]>
Date: Thu, 29 Nov 2012 01:15:14 +0200

[please keep your replies Cc'd to [email-masked]]

>> <backspace> (isearch-delete-char) restores the previous search state.
>> If you want just to remove the last character from the search string,
>> you can type `C-M-w' (isearch-del-char).

> Sorry for the mistaken bug report. But it still seems to be a UI
> inconsistency: although the described behavior happens for word mode and
> case-insensitivity mode, it doesn't happen for regex mode, which it what
> led me to believe it was a bug for the first two. If it's supposed to
> happen for the first two, then shouldn't it happen for all three?

Good point.  `isearch-delete-char' (that uses `isearch-pop-state')
restores word mode but not regexp mode.  This looks like
unaccountable inconsistency.  Perhaps it should restore
regexp mode as well.

Case-insensitivity is already restored when you type <backspace>
but you can't see this because it has no indication in the prompt.
Maybe it should momentarily flash a case sensitivity indicator
when you type <backspace> like it does when you type `M-c'
(but only when <backspace> changes the state of case-insensitivity).

The recently added `isearch-lax-whitespace' could be saved/restored too.

For customizability a new user option could be added to define a list
of search states that the user wants to keep on the isearch stack.