emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/lisp ChangeLog window.el


From: Martin Rudalics
Subject: [Emacs-diffs] emacs/lisp ChangeLog window.el
Date: Sun, 04 Jan 2009 19:03:12 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Martin Rudalics <m061211>       09/01/04 19:03:12

Modified files:
        lisp           : ChangeLog window.el 

Log message:
        (display-buffer): When a buffer is displayed in the
        selected and some other window, and not-this-window is non-nil,
        try to return that other window instead of popping up a new
        frame.  (Bug#30)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.15036&r2=1.15037
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/window.el?cvsroot=emacs&r1=1.172&r2=1.173

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.15036
retrieving revision 1.15037
diff -u -b -r1.15036 -r1.15037
--- ChangeLog   4 Jan 2009 08:30:28 -0000       1.15036
+++ ChangeLog   4 Jan 2009 19:03:09 -0000       1.15037
@@ -1,3 +1,10 @@
+2009-01-04  Martin Rudalics  <address@hidden>
+
+       * window.el (display-buffer): When a buffer is displayed in the
+       selected and some other window, and not-this-window is non-nil,
+       try to return that other window instead of popping up a new
+       frame.  (Bug#30)
+
 2009-01-04  Chong Yidong  <address@hidden>
 
        * simple.el (visual-line-mode-map): Remove M-[ and M-] bindings.

Index: window.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/window.el,v
retrieving revision 1.172
retrieving revision 1.173
diff -u -b -r1.172 -r1.173
--- window.el   21 Dec 2008 11:03:33 -0000      1.172
+++ window.el   4 Jan 2009 19:03:11 -0000       1.173
@@ -1006,10 +1006,16 @@
                                 (not (last-nonminibuffer-frame)))
                             0)
                        (last-nonminibuffer-frame))))
-       (and (setq window-to-use (get-buffer-window buffer frames))
-            (or can-use-selected-window
-                (not (eq (selected-window) window-to-use)))))
-      ;; If the buffer is already displayed in some window use that.
+       (setq window-to-use
+             (catch 'found
+               ;; Search all visible and iconified frames for a window
+               ;; displaying BUFFER.  Return the selected window only
+               ;; if can-use-selected-window says we may do so.
+               (dolist (window (get-buffer-window-list buffer 'nomini 0))
+                 (when (or can-use-selected-window
+                           (not (eq (selected-window) window)))
+                   (throw 'found window))))))
+      ;; The buffer is already displayed in some window; use that.
       (window--display-buffer-1 window-to-use))
      ((and special-display-function
           ;; `special-display-p' returns either t or a list of frame




reply via email to

[Prev in Thread] Current Thread [Next in Thread]