[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: |
Wed, 23 Nov 2011 23:23:37 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.91 (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:
=== modified file 'lisp/isearch.el'
--- lisp/isearch.el 2011-11-19 21:51:29 +0000
+++ lisp/isearch.el 2011-11-23 21:21:22 +0000
@@ -1658,7 +1658,7 @@ (defun isearch-search-and-update ()
(setq isearch-success t
isearch-error nil
isearch-other-end (match-end 0))
- (if (and (eq isearch-case-fold-search t) search-upper-case)
+ (if search-upper-case
(setq isearch-case-fold-search
(isearch-no-upper-case-p isearch-string isearch-regexp))))
;; Not regexp, not reverse, or no match at point.
@@ -2328,7 +2328,7 @@ (defun isearch-search ()
(if isearch-message-function
(funcall isearch-message-function nil t)
(isearch-message nil t))
- (if (and (eq isearch-case-fold-search t) search-upper-case)
+ (if search-upper-case
(setq isearch-case-fold-search
(isearch-no-upper-case-p isearch-string isearch-regexp)))
(condition-case lossage