Subject: Re: bug#1073: 23.0.60; Bad interaction between compilation-scroll-output and dedicated windows

From: martin rudalics <[email-masked]>
Date: Fri, 03 Oct 2008 15:18:28 +0200

> The attached patch fixes the observed problem, however, I do not
 > think that it is entirely correct:
 >
 > [...]
 >> !
 >> !     (with-current-buffer (window-buffer outwin)
 >> !       (when (local-variable-p 'compilation-scroll-output)
 >
 > local-variable-p will return t if compilation-scroll-output is
 > nil, but buffer-local.

You're right.

 > I think you mean
 > (when (buffer-local-value 'compilation-scroll-output (current-buffer))

Not really.  This would be t in *test*, I suppose.  Try the attached one
instead, please.

Thanks, martin.
*** progmodes/compile.el.~1.476.~	2008-06-13 18:22:16.000000000 +0200
--- progmodes/compile.el	2008-10-03 15:11:15.406250000 +0200
***************
*** 1280,1289 ****
  		(cons proc compilation-in-progress))))
        ;; Now finally cd to where the shell started make/grep/...
        (setq default-directory thisdir))
!     (if (buffer-local-value 'compilation-scroll-output outbuf)
! 	(save-selected-window
! 	  (select-window outwin)
! 	  (goto-char (point-max))))
      ;; Make it so the next C-x ` will use this buffer.
      (setq next-error-last-buffer outbuf)))
  
--- 1280,1291 ----
  		(cons proc compilation-in-progress))))
        ;; Now finally cd to where the shell started make/grep/...
        (setq default-directory thisdir))
! 
!     (with-current-buffer (window-buffer outwin)
!       (when (and (local-variable-p 'compilation-scroll-output)
! 		 compilation-scroll-output)
! 	(goto-char (point-max))))
! 
      ;; Make it so the next C-x ` will use this buffer.
      (setq next-error-last-buffer outbuf)))