diff options
author | Stephen Berman <stephen.berman@gmx.net> | 2013-07-30 16:42:15 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2013-07-30 16:42:15 -0400 |
commit | 158bc55c6e715be476acacbef2aa8ca9b50c94c6 (patch) | |
tree | 986f060c205d15818af98c45797dd16d4ba2943c /lisp/minibuffer.el | |
parent | ac38e731d9113628bd6823372d11b895f67a5e33 (diff) | |
download | emacs-158bc55c6e715be476acacbef2aa8ca9b50c94c6.tar.gz |
* lisp/minibuffer.el (completion--twq-all): Try and preserve each
completion's case choice.
Fixes: debbugs:14907
Diffstat (limited to 'lisp/minibuffer.el')
-rw-r--r-- | lisp/minibuffer.el | 11 |
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. |