changeset 97966:52f84cb577bb

(completion-pcm--pattern->regex): Undo last change. (completion-pcm--all-completions): Move the case-fold-search binding to it also applies to completion-regexp-list (used in all-completions). (completion-pcm--hilit-commonality): Add missing case-fold-search.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 03 Sep 2008 14:09:49 +0000
parents 0226898fa3f5
children cc9bb337ef7c
files lisp/ChangeLog lisp/minibuffer.el
diffstat 2 files changed, 17 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Wed Sep 03 11:00:31 2008 +0000
+++ b/lisp/ChangeLog	Wed Sep 03 14:09:49 2008 +0000
@@ -1,3 +1,10 @@
+2008-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* minibuffer.el (completion-pcm--pattern->regex): Undo last change.
+	(completion-pcm--all-completions): Move the case-fold-search binding to
+	it also applies to completion-regexp-list (used in all-completions).
+	(completion-pcm--hilit-commonality): Add missing case-fold-search.
+
 2008-09-03  Martin Rudalics  <rudalics@gmx.at>
 
 	* window.el (pop-up-frame-function): Move ...
--- a/lisp/minibuffer.el	Wed Sep 03 11:00:31 2008 +0000
+++ b/lisp/minibuffer.el	Wed Sep 03 14:09:49 2008 +0000
@@ -1381,17 +1381,12 @@
           (mapconcat
            (lambda (x)
              (case x
-	       ((star any point)
-		(if (if (consp group) (memq x group) group)
-		    "\\(.*?\\)"
-		  ".*?"))
-               (t
-		(if (and completion-ignore-case
-			 (string-match "[[:alpha:]]" x))
-		    (format "[%s%s]" (downcase x) (upcase x))
-		  (regexp-quote x)))))
-	   pattern
-	   ""))))
+                      ((star any point)
+                       (if (if (consp group) (memq x group) group)
+                                     "\\(.*?\\)" ".*?"))
+               (t (regexp-quote x))))
+           pattern
+                  ""))))
     ;; Avoid pathological backtracking.
     (while (string-match "\\.\\*\\?\\(?:\\\\[()]\\)*\\(\\.\\*\\?\\)" re)
       (setq re (replace-match "" t t re 1)))
@@ -1413,7 +1408,8 @@
     ;; since all-completions is written in C!
     (let* (;; Convert search pattern to a standard regular expression.
 	   (regex (completion-pcm--pattern->regex pattern))
-	   (completion-regexp-list (cons regex completion-regexp-list))
+           (case-fold-search completion-ignore-case)
+           (completion-regexp-list (cons regex completion-regexp-list))
 	   (compl (all-completions
                    (concat prefix (if (stringp (car pattern)) (car pattern) ""))
 		   table pred))
@@ -1426,8 +1422,7 @@
       (if (not (functionp table))
 	  ;; The internal functions already obeyed completion-regexp-list.
 	  compl
-	(let ((case-fold-search completion-ignore-case)
-              (poss ()))
+	(let ((poss ()))
 	  (dolist (c compl)
 	    (when (string-match regex c) (push c poss)))
 	  poss)))))
@@ -1435,6 +1430,7 @@
 (defun completion-pcm--hilit-commonality (pattern completions)
   (when completions
     (let* ((re (completion-pcm--pattern->regex pattern '(point)))
+           (case-fold-search completion-ignore-case)
            (last (last completions))
            (base-size (cdr last)))
       ;; Remove base-size during mapcar, and add it back later.