Mercurial > emacs
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.