summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/complete.el11
1 files changed, 9 insertions, 2 deletions
diff --git a/lisp/complete.el b/lisp/complete.el
index cc8f29356b6..b56dc268c04 100644
--- a/lisp/complete.el
+++ b/lisp/complete.el
@@ -404,8 +404,15 @@ of `minibuffer-completion-table' and the minibuffer contents.")
;; Check if buffer contents can already be considered complete
(if (and (eq mode 'exit)
- (test-completion-ignore-case str table pred))
- 'complete
+ (test-completion str table pred))
+ (progn
+ ;; If completion-ignore-case is non-nil, insert the
+ ;; completion string since that may have a different case.
+ (when completion-ignore-case
+ (setq str (try-completion str table pred))
+ (delete-region beg end)
+ (insert str))
+ 'complete)
;; Do substitutions in directory names
(and filename