Subject: bug#10113: 24.0.91; Isearch & `M-e'

From: Dani Moncayo <[email-masked]>
Date: Wed, 23 Nov 2011 21:59:21 +0100

On Wed, Nov 23, 2011 at 21:20, Juri Linkov <[email-masked]> wrote:
>> Because, removing the final "R" via minibuffer should be equivalent to
>> do it directly by typing DEL (just after the "R").
>
> Actually `M-e DEL RET' is not equivalent to `DEL'.
> It is equivalent to `C-M-w' (`isearch-del-char').

Agreed.

>> In this second case, my reasoning is analogous: Changing the final "R"
>> with a "r" via minibuffer should be equivalent to doing that directly
>> (typing "DEL r" just after the "R").
>
> `M-e DEL r RET' is not equivalent to `DEL r'.
> It is equivalent to `C-M-w r'.

Agreed.

>> IOW, the case-sensitivity of the Isearch, when it's determined
>> _automatically_ (not by typing `M-c'),
>
> WRT automatic changing of case-sensitivity after entering
> an upper-case letter, this is a traditional behavior that
> you can disable by customizing `search-upper-case' to nil.

Customizing that variable is not what I want.  See below.

>> should be revised after editing the search string in the minibuffer,
>> to produce a result consistent with the principle I said before.
>
> This is unrelated to `isearch-edit-string'.  You'll get the same result
> when you type `C-a C-s b u f f e R C-M-w r'.

You're right, you get the same (undesirable) result that way too.

I'll try to express myself better: by default (without touching
`isearch-edit-string'), the "case fold search" behavior can be
switched on/off in two ways:
a. Manually: by typing `M-c'.
b. Automatically (only applies if the previous criterion is "case
insensitive"): based on whether the current search string contains any
uppercase letter or not.

What I say is that currently (as we are shown) the (b) criterion is
not always re-evaluated, and it should.

BTW, Stefan agrees on this, and I hope you too :-).

-- 
Dani Moncayo