]> git.eshelyaron.com Git - emacs.git/commitdiff
(walk-windows): If ALL-FRAMES is a frame,
authorGerd Moellmann <gerd@gnu.org>
Mon, 1 Nov 1999 12:15:41 +0000 (12:15 +0000)
committerGerd Moellmann <gerd@gnu.org>
Mon, 1 Nov 1999 12:15:41 +0000 (12:15 +0000)
start on that frame.  Use save-selected-window.

lisp/ChangeLog
lisp/window.el

index 9721ec5d0f39f8e36e1b14f5188ce5fbc9f7834d..2ede4abe932a0f58f1103afd1013e651d61d90a5 100644 (file)
@@ -1,3 +1,8 @@
+1999-11-01  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * window.el (walk-windows): If ALL-FRAMES is a frame,
+       start on that frame.  Use save-selected-window.
+
 1999-11-01  Gerd Moellmann  <gerd@gnu.org>
 
        * simple.el (end-of-buffer): Use window-end to find the window end
index c26b79af485eeb5ee30248d3efa7b96b930d6f76..e5639a5082744150227784fd10b4ec293a0474ec 100644 (file)
@@ -62,17 +62,21 @@ ALL-FRAMES nil or omitted means cycle within the frames as specified above.
 ALL-FRAMES = `visible' means include windows on all visible frames.
 ALL-FRAMES = 0 means include windows on all visible and iconified frames.
 ALL-FRAMES = t means include windows on all frames including invisible frames.
+If ALL-FRAMES is a frame, it means include windows on that frame.
 Anything else means restrict to the selected frame."
   ;; If we start from the minibuffer window, don't fail to come back to it.
   (if (window-minibuffer-p (selected-window))
       (setq minibuf t))
-  (let* ((walk-windows-start (selected-window))
-        (walk-windows-current walk-windows-start))
-    (while (progn
-            (setq walk-windows-current
-                  (next-window walk-windows-current minibuf all-frames))
-            (funcall proc walk-windows-current)
-            (not (eq walk-windows-current walk-windows-start))))))
+  (save-selected-window
+    (if (framep all-frames)
+       (select-window (frame-first-window all-frames)))
+    (let* ((walk-windows-start (selected-window))
+          (walk-windows-current walk-windows-start))
+      (while (progn
+              (setq walk-windows-current
+                    (next-window walk-windows-current minibuf all-frames))
+              (funcall proc walk-windows-current)
+              (not (eq walk-windows-current walk-windows-start)))))))
 
 (defun minibuffer-window-active-p (window)
   "Return t if WINDOW (a minibuffer window) is now active."