[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#1073: 23.0.60; Bad interaction between compilation-scroll-output and
From: |
Stefan Monnier |
Subject: |
bug#1073: 23.0.60; Bad interaction between compilation-scroll-output and dedicated windows |
Date: |
Sat, 04 Oct 2008 20:54:01 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
>> When this code in `compilation-start' is executed:
>>
>> (if (buffer-local-value 'compilation-scroll-output outbuf)
>> (save-selected-window
>> (select-window outwin)
>> (goto-char (point-max))))
>>
>> outwin is #<window 13 on *compilation*>
>> and after the select-window call (selected-window) is #<window 13
>> on *compilation*>. However, at this point (current-buffer)
>> returns *test*, rather than *compilation*.
> This is a very, very great nuisance of `select-window'. Would the
> attached patch DTRT?
> martin
> *** progmodes/compile.el.~1.476.~ 2008-06-13 18:22:16.000000000 +0200
> --- progmodes/compile.el 2008-10-03 14:31:45.718750000 +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,1290 ----
> (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 (local-variable-p 'compilation-scroll-output)
> ! (goto-char (point-max))))
> !
> ;; Make it so the next C-x ` will use this buffer.
> (setq next-error-last-buffer outbuf)))
I think the select-window thingy is/was needed in order to make sure we
move point in the relevant window, rather than just moving point in the
relevant buffer.
So maye something like:
(with-selected-window outwin
(with-current-buffer (window-buffer outwin)
...))
would be better.
Stefan
bug#1073: 23.0.60; Bad interaction between compilation-scroll-output and dedicated windows,
Stefan Monnier <=
bug#1073: marked as done (23.0.60; Bad interaction between compilation-scroll-output and dedicated windows), Emacs bug Tracking System, 2008/10/04