summaryrefslogtreecommitdiff
path: root/lisp/minibuffer.el
diff options
context:
space:
mode:
authorXue Fuqiao <xfq.free@gmail.com>2013-08-04 10:59:08 +0800
committerXue Fuqiao <xfq.free@gmail.com>2013-08-04 10:59:08 +0800
commit99191b89ff64172740add88e67f163619a07830c (patch)
tree828d1ac7c917076703b9d4a3746ff7480bd97f0d /lisp/minibuffer.el
parentab419665caa6e2ad7465cf59ef902cc4ad1d2117 (diff)
parent2ad0a067728ccc7f8b32b0c3db1677ca351943fe (diff)
downloademacs-99191b89ff64172740add88e67f163619a07830c.tar.gz
Merge from mainline.
Diffstat (limited to 'lisp/minibuffer.el')
-rw-r--r--lisp/minibuffer.el11
1 files changed, 11 insertions, 0 deletions
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 8bcf3afae05..e07d28a54d0 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -568,6 +568,17 @@ for use at QPOS."
(cl-assert (string-prefix-p prefix completion 'ignore-case) t)
(let* ((new (substring completion (length prefix)))
(qnew (funcall qfun new))
+ (qprefix
+ (if (not completion-ignore-case)
+ qprefix
+ ;; Make qprefix inherit the case from `completion'.
+ (let* ((rest (substring completion
+ 0 (length prefix)))
+ (qrest (funcall qfun rest)))
+ (if (completion--string-equal-p qprefix qrest)
+ (propertize qrest 'face
+ 'completions-common-part)
+ qprefix))))
(qcompletion (concat qprefix qnew)))
;; FIXME: Similarly here, Cygwin's mapping trips this
;; assertion.