summaryrefslogtreecommitdiff
path: root/lisp/window.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2005-10-22 15:35:06 +0000
committerRichard M. Stallman <rms@gnu.org>2005-10-22 15:35:06 +0000
commitba27aa4c530c338b04c1feb2ed6bbed60663b306 (patch)
tree3efcd2222bd3fbc8839258e1f7373b404eb91ec2 /lisp/window.el
parent9e8bb7f72f17c0821f7c8e22319332b730e8cd12 (diff)
downloademacs-ba27aa4c530c338b04c1feb2ed6bbed60663b306.tar.gz
(get-buffer-window-list): Moved from subr.el.
Diffstat (limited to 'lisp/window.el')
-rw-r--r--lisp/window.el12
1 files changed, 12 insertions, 0 deletions
diff --git a/lisp/window.el b/lisp/window.el
index a0820bb7cf6..48dd0f4b395 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -192,6 +192,18 @@ Anything else means restrict to the selected frame."
(defalias 'some-window 'get-window-with-predicate)
+;; This should probably be written in C (i.e., without using `walk-windows').
+(defun get-buffer-window-list (buffer &optional minibuf frame)
+ "Return list of all windows displaying BUFFER, or nil if none.
+BUFFER can be a buffer or a buffer name.
+See `walk-windows' for the meaning of MINIBUF and FRAME."
+ (let ((buffer (if (bufferp buffer) buffer (get-buffer buffer))) windows)
+ (walk-windows (function (lambda (window)
+ (if (eq (window-buffer window) buffer)
+ (setq windows (cons window windows)))))
+ minibuf frame)
+ windows))
+
(defun minibuffer-window-active-p (window)
"Return t if WINDOW (a minibuffer window) is now active."
(eq window (active-minibuffer-window)))