summaryrefslogtreecommitdiff
path: root/lisp/ido.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/ido.el')
-rw-r--r--lisp/ido.el10
1 files changed, 9 insertions, 1 deletions
diff --git a/lisp/ido.el b/lisp/ido.el
index 83b88e4e81c..355be5eaa66 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -4492,6 +4492,8 @@ For details of keybindings, see `ido-find-file'."
(ido-tidy))
(throw 'ido contents))))
+(defvar ido--overlay nil)
+
(defun ido-exhibit ()
"Post command hook for Ido."
;; Find matching files and display a list in the minibuffer.
@@ -4726,7 +4728,13 @@ For details of keybindings, see `ido-find-file'."
(let ((inf (ido-completions contents)))
(setq ido-show-confirm-message nil)
(ido-trace "inf" inf)
- (insert inf))
+ (when ido--overlay
+ (delete-overlay ido--overlay))
+ (let ((o (make-overlay (point-max) (point-max) nil t t)))
+ (when (> (length inf) 0)
+ (put-text-property 0 1 'cursor t inf))
+ (overlay-put o 'after-string inf)
+ (setq ido--overlay o)))
))))
(defun ido-completions (name)