[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#10113: 24.0.91; Isearch & `M-e'
From: |
Juri Linkov |
Subject: |
bug#10113: 24.0.91; Isearch & `M-e' |
Date: |
Mon, 05 Dec 2011 12:49:43 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (x86_64-pc-linux-gnu) |
>>> 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 :-).
>>
>> True, currently after the first typed upper case letter,
>> case-sensitivity is not re-evaluated anymore.
>>
>> This behavior can be changed with the following patch:
>
> Your patch breaks the `M-c' case.
Yes, this patch makes automatic toggling in both directions:
from case-insensitive to case-sensitive and back from case-sensitive
to case-insensitive.
Without this patch the current behavior is automatic toggling in one
direction: from case-insensitive to case-sensitive (on the first
encountered upper case letter). Toggling back from case-sensitive
to case-insensitive is manual with `M-c', and this choice is remembered
with the value `yes' of `isearch-case-fold-search'.
To remember the user's toggle in the reverse direction (from
case-insensitive to case-sensitive) we need to introduce
a new value of `isearch-case-fold-search' (e.g. `no',
but treating it as a nil value would be quite ugly).
So perhaps instead of that, a better solution would be
to re-evaluate case-sensitivity only in two places:
in `isearch-edit-string' and `isearch-del-char'.