changeset 65338:4bc5f5d3e625

(compilation-goto-locus): Take into account iconified frames when determining whether the buffer is already visible. Don't reset window height if the window already existed.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 05 Sep 2005 15:43:22 +0000
parents 73213f30cd5b
children 2df5f585f3f6
files lisp/progmodes/compile.el
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/compile.el	Mon Sep 05 15:39:26 2005 +0000
+++ b/lisp/progmodes/compile.el	Mon Sep 05 15:43:22 2005 +0000
@@ -1688,14 +1688,18 @@
   ;; Show compilation buffer in other window, scrolled to this error.
   (let* ((pop-up-windows t)
 	 ;; Use an existing window if it is in a visible frame.
-	 (w (or (get-buffer-window (marker-buffer msg) 'visible)
-		;; Pop up a window.
-		(display-buffer (marker-buffer msg))))
+         (pre-existing (get-buffer-window (marker-buffer msg) 0))
+         (w (let ((display-buffer-reuse-frames t))
+              ;; Pop up a window.
+              (display-buffer (marker-buffer msg))))
 	 (highlight-regexp (with-current-buffer (marker-buffer msg)
 			     ;; also do this while we change buffer
 			     (compilation-set-window w msg)
 			     compilation-highlight-regexp)))
-    (compilation-set-window-height w)
+    ;; Ideally, the window-size should be passed to `display-buffer' (via
+    ;; something like special-display-buffer) so it's only used when
+    ;; creating a new window.
+    (unless pre-existing (compilation-set-window-height w))
 
     (when highlight-regexp
       (if (timerp next-error-highlight-timer)