]> git.eshelyaron.com Git - emacs.git/commitdiff
(get-buffer-window-list): Moved from subr.el.
authorRichard M. Stallman <rms@gnu.org>
Sat, 22 Oct 2005 15:35:06 +0000 (15:35 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 22 Oct 2005 15:35:06 +0000 (15:35 +0000)
lisp/window.el

index a0820bb7cf64854b553844892e4144c23582b5ac..48dd0f4b39522e1185925dd05ccc3459f1b1f55b 100644 (file)
@@ -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)))