emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/lisp.el


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/lisp.el
Date: Thu, 22 Dec 2005 01:48:21 +0000

Index: emacs/lisp/emacs-lisp/lisp.el
diff -u emacs/lisp/emacs-lisp/lisp.el:1.71 emacs/lisp/emacs-lisp/lisp.el:1.72
--- emacs/lisp/emacs-lisp/lisp.el:1.71  Wed Dec 21 20:02:20 2005
+++ emacs/lisp/emacs-lisp/lisp.el       Thu Dec 22 01:48:20 2005
@@ -569,11 +569,13 @@
              ((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 @@
                 (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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]