# HG changeset patch # User Stefan Monnier # Date 1220450989 0 # Node ID 52f84cb577bb254b69a74ce2eb92e097d7f6bc19 # Parent 0226898fa3f533601456323a13e21e8be6cb169e (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. diff -r 0226898fa3f5 -r 52f84cb577bb lisp/ChangeLog --- 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 + + * 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 * window.el (pop-up-frame-function): Move ... diff -r 0226898fa3f5 -r 52f84cb577bb lisp/minibuffer.el --- 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.