# HG changeset patch # User Chong Yidong # Date 1220304863 0 # Node ID ca3f3e68732a227a7bca74c05dc58611c4dfc888 # Parent f0b85a8f25aa0babdb5c87cc59cba83716a210fe (completion-pcm--pattern->regex): When completion-ignore-case is non-nil, generate a regexp that ignores case. diff -r f0b85a8f25aa -r ca3f3e68732a lisp/minibuffer.el --- a/lisp/minibuffer.el Mon Sep 01 21:33:51 2008 +0000 +++ b/lisp/minibuffer.el Mon Sep 01 21:34:23 2008 +0000 @@ -1381,12 +1381,17 @@ (mapconcat (lambda (x) (case x - ((star any point) - (if (if (consp group) (memq x group) group) - "\\(.*?\\)" ".*?")) - (t (regexp-quote x)))) - pattern - "")))) + ((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 + "")))) ;; Avoid pathological backtracking. (while (string-match "\\.\\*\\?\\(?:\\\\[()]\\)*\\(\\.\\*\\?\\)" re) (setq re (replace-match "" t t re 1)))