summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/lisp.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2005-12-22 01:48:20 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2005-12-22 01:48:20 +0000
commitcf87c3f05badb32b830791048a535cd9474dc3ef (patch)
tree9309ef52597693bb76ad8ea969adac9d2b4e1ab9 /lisp/emacs-lisp/lisp.el
parent211839d3f88f5134f79a644d29cafad3043082e6 (diff)
downloademacs-cf87c3f05badb32b830791048a535cd9474dc3ef.tar.gz
(lisp-complete-symbol): Mostly undo the change by Kevin Rodgers.
Instead, just hide the completions buffer if we don't need to show it.
Diffstat (limited to 'lisp/emacs-lisp/lisp.el')
-rw-r--r--lisp/emacs-lisp/lisp.el15
1 files changed, 9 insertions, 6 deletions
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el
index 5d593ecb9fd..f8a5b0b019e 100644
--- a/lisp/emacs-lisp/lisp.el
+++ b/lisp/emacs-lisp/lisp.el
@@ -569,11 +569,13 @@ considered."
((null completion)
(message "Can't find completion for \"%s\"" pattern)
(ding))
+ ((not (string= pattern completion))
+ (delete-region beg end)
+ (insert completion)
+ ;; Don't leave around a completions buffer that's outofdate.
+ (let ((win (get-buffer-window "*Completions*" 0)))
+ (if win (with-selected-window win (bury-buffer)))))
(t
- (unless (string= completion pattern)
- (delete-region beg end)
- (insert completion)
- (setq pattern completion))
(message "Making completion list...")
(let ((list (all-completions pattern obarray predicate)))
(setq list (sort list 'string<))
@@ -589,8 +591,9 @@ considered."
(if (> (length list) 1)
(with-output-to-temp-buffer "*Completions*"
(display-completion-list list pattern))
- (if (get-buffer "*Completions*")
- (delete-windows-on "*Completions*"))))
+ ;; Don't leave around a completions buffer that's outofdate.
+ (let ((win (get-buffer-window "*Completions*" 0)))
+ (if win (with-selected-window win (bury-buffer))))))
(message "Making completion list...%s" "done")))))))
;; arch-tag: aa7fa8a4-2e6f-4e9b-9cd9-fef06340e67e