summaryrefslogtreecommitdiff
path: root/lisp/gnus/gnus-win.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/gnus/gnus-win.el')
-rw-r--r--lisp/gnus/gnus-win.el32
1 files changed, 12 insertions, 20 deletions
diff --git a/lisp/gnus/gnus-win.el b/lisp/gnus/gnus-win.el
index 40c5b42d45f..e6906e99bb2 100644
--- a/lisp/gnus/gnus-win.el
+++ b/lisp/gnus/gnus-win.el
@@ -270,7 +270,7 @@ See the Gnus manual for an explanation of the syntax used.")
(error "Invalid buffer type: %s" type))
(let ((buf (gnus-get-buffer-create
(gnus-window-to-buffer-helper buffer))))
- (when (buffer-name buf)
+ (when (buffer-live-p buf)
(cond
((eq buf (window-buffer (selected-window)))
(set-buffer buf))
@@ -430,20 +430,13 @@ See the Gnus manual for an explanation of the syntax used.")
(defun gnus-delete-windows-in-gnusey-frames ()
"Do a `delete-other-windows' in all frames that have Gnus windows."
(let ((buffers (gnus-buffers)))
- (mapcar
- (lambda (frame)
- (unless (eq (cdr (assq 'minibuffer
- (frame-parameters frame)))
- 'only)
- (select-frame frame)
- (let (do-delete)
- (walk-windows
- (lambda (window)
- (when (memq (window-buffer window) buffers)
- (setq do-delete t))))
- (when do-delete
- (delete-other-windows)))))
- (frame-list))))
+ (dolist (frame (frame-list))
+ (unless (eq (frame-parameter frame 'minibuffer) 'only)
+ (select-frame frame)
+ (when (get-window-with-predicate
+ (lambda (window)
+ (memq (window-buffer window) buffers)))
+ (delete-other-windows))))))
(defun gnus-all-windows-visible-p (split)
"Say whether all buffers in SPLIT are currently visible.
@@ -491,11 +484,10 @@ should have point."
(nth 1 (window-edges window)))
(defun gnus-remove-some-windows ()
- (let ((buffers (gnus-buffers))
- buf bufs lowest-buf lowest)
+ (let (bufs lowest-buf lowest)
(save-excursion
;; Remove windows on all known Gnus buffers.
- (while (setq buf (pop buffers))
+ (dolist (buf (gnus-buffers))
(when (get-buffer-window buf)
(push buf bufs)
(pop-to-buffer buf)
@@ -506,8 +498,8 @@ should have point."
(when lowest-buf
(pop-to-buffer lowest-buf)
(set-buffer nntp-server-buffer))
- (mapcar (lambda (b) (delete-windows-on b t))
- (delq lowest-buf bufs)))))
+ (dolist (b (delq lowest-buf bufs))
+ (delete-windows-on b t)))))
(defun gnus-get-buffer-window (buffer &optional frame)
"Return a window currently displaying BUFFER, or nil if none.