Function: gnus-all-windows-visible-p
gnus-all-windows-visible-p is a byte-compiled function defined in
gnus-win.el.gz.
Signature
(gnus-all-windows-visible-p SPLIT)
Documentation
Say whether all buffers in SPLIT are currently visible.
In particular, the value returned will be the window that should have point.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-win.el.gz
(defun gnus-all-windows-visible-p (split)
"Say whether all buffers in SPLIT are currently visible.
In particular, the value returned will be the window that
should have point."
(let ((stack (list split))
(all-visible t)
type buffer win buf)
(while (and (setq split (pop stack))
all-visible)
(when (consp (car split))
(push 1.0 split)
(push 'vertical split))
;; The SPLIT might be something that is to be evalled to
;; return a new SPLIT.
(while (and (not (assq (car split) gnus-window-to-buffer))
(symbolp (car split)) (fboundp (car split)))
(setq split (eval split t)))
(setq type (elt split 0))
(cond
;; Nothing here.
((null split) t)
;; A buffer.
((not (memq type '(horizontal vertical frame)))
(setq buffer (cond ((stringp type) type)
(t (cdr (assq type gnus-window-to-buffer)))))
(unless buffer
(error "Invalid buffer type: %s" type))
(if (and (setq buf (get-buffer (gnus-window-to-buffer-helper buffer)))
(buffer-live-p buf)
(setq win (gnus-get-buffer-window buf t)))
(if (memq 'point split)
(setq all-visible win))
(setq all-visible nil)))
(t
(when (eq type 'frame)
(setq gnus-frame-split-p t))
(setq stack (append (cddr split) stack)))))
(unless (eq all-visible t)
all-visible)))