summaryrefslogtreecommitdiff
path: root/lisp/pcomplete.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2007-03-05 19:57:10 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2007-03-05 19:57:10 +0000
commiteb69fe3e0ad2641090ae3222d3d07fea26df318c (patch)
tree12624e14a4c006050d1fc96dc84a7737e734de29 /lisp/pcomplete.el
parent86a3e45eea1176c0af1fedc38c11f2959570d5e3 (diff)
downloademacs-eb69fe3e0ad2641090ae3222d3d07fea26df318c.tar.gz
(pcomplete-show-completions): Improve last change, so
as not to use an invisible window and to create a window if none exist.
Diffstat (limited to 'lisp/pcomplete.el')
-rw-r--r--lisp/pcomplete.el14
1 files changed, 8 insertions, 6 deletions
diff --git a/lisp/pcomplete.el b/lisp/pcomplete.el
index 6caffddaa01..c4840059f64 100644
--- a/lisp/pcomplete.el
+++ b/lisp/pcomplete.el
@@ -974,18 +974,20 @@ Typing SPC flushes the help buffer."
(while (with-current-buffer (get-buffer "*Completions*")
(setq event (pcomplete-read-event)))
(cond
- ((event-matches-key-specifier-p event ? )
+ ((event-matches-key-specifier-p event ?\s)
(set-window-configuration pcomplete-last-window-config)
(setq pcomplete-last-window-config nil)
(throw 'done nil))
((or (event-matches-key-specifier-p event 'tab)
;; Needed on a terminal
(event-matches-key-specifier-p event 9))
- (save-selected-window
- (select-window (get-buffer-window "*Completions*" t))
- (if (pos-visible-in-window-p (point-max))
- (goto-char (point-min))
- (scroll-up)))
+ (let ((win (or (get-buffer-window "*Completions*" 0)
+ (display-buffer "*Completions*"
+ 'not-this-window))))
+ (with-selected-window win
+ (if (pos-visible-in-window-p (point-max))
+ (goto-char (point-min))
+ (scroll-up))))
(message ""))
(t
(setq unread-command-events (list event))