changeset 75258:38cd68f9ba51

(isearch-no-upper-case-p): Look for [:upper:] as well.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 17 Jan 2007 13:20:47 +0000
parents d33684b72b59
children f45c5edf0be4
files lisp/ChangeLog lisp/isearch.el
diffstat 2 files changed, 17 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Wed Jan 17 09:28:01 2007 +0000
+++ b/lisp/ChangeLog	Wed Jan 17 13:20:47 2007 +0000
@@ -1,3 +1,7 @@
+2007-01-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* isearch.el (isearch-no-upper-case-p): Look for [:upper:] as well.
+
 2007-01-16  martin rudalics  <rudalics@gmx.at>
 
 	* textmodes/ispell.el (ispell-dictionary-alist-3): Replace "---"
--- a/lisp/isearch.el	Wed Jan 17 09:28:01 2007 +0000
+++ b/lisp/isearch.el	Wed Jan 17 13:20:47 2007 +0000
@@ -1,7 +1,7 @@
 ;;; isearch.el --- incremental search minor mode
 
 ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000,
-;;   2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;;   2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 
 ;; Author: Daniel LaLiberte <liberte@cs.uiuc.edu>
 ;; Maintainer: FSF
@@ -2235,7 +2235,18 @@
 	      (setq found t))
 	  (setq quote-flag nil)))
       (setq i (1+ i)))
-    (not found)))
+    (not (or found
+             ;; Even if there's no uppercase char, we want to detect the use
+             ;; of [:upper:] or [:lower:] char-class, which indicates
+             ;; clearly that the user cares about case distinction.
+             (and regexp-flag (string-match "\\[:\\(upp\\|low\\)er:]" string)
+                  (condition-case err
+                      (progn
+                        (string-match (substring string 0 (match-beginning 0))
+                                      "")
+                        nil)
+                    (invalid-regexp
+                     (equal "Unmatched [ or [^" (cadr err)))))))))
 
 ;; Portability functions to support various Emacs versions.