Subject: 25.0.50; `compilation-set-window' calls `window-fringes' with wrong window selected

From: Drew Adams <[email-masked]>
Date: Tue, 16 Jun 2015 12:40:52 -0700 (PDT)

Debugging shows me that when I use `C-x `' from another frame than the
compilation-buffer frame, `compilation-goto-locus' calls
`compilation-set-window', and that then calls `window-fringes', the
compilation-buffer window is not selected (not in some contexts anyway),
so the test for no left window fringe is done in the wrong window.

It is probably enough, to repro this (but I haven't tried), to have
`default-frame-alist' show left fringe bug have `special-display-alist'
not show left fringe, and to have the compilation buffer (e.g. `*grep*')
be special-display.

In the debugger I see that `compilation-goto-locus' calls
`display-buffer' but does not select the compilation-buffer window.
Then `compilation-set-window' is called without the compilation-buffer
window being selected.  Eventually that window is selected, but that
happens after the call to `compilation-set-window'.

In GNU Emacs 25.0.50.1 (i686-pc-mingw32)
 of 2014-10-20 on LEG570
Bzr revision: 118168 [email-masked]
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --enable-checking=yes,glyphs CPPFLAGS=-DGLYPH_DEBUG=1'