Subject: RE: bug#33870: 27.0.50; xref-goto-xref not configurable

From: Drew Adams <[email-masked]>
Date: Fri, 1 Feb 2019 10:27:07 -0800 (PST)

> > > When I try this with the new patch, it results in a third window being 
> > > created (the original window is being split, and the definition is shown  there).
> > > Is this the behavior we want?
> > No, I don't think so.
>
> It might not be the behavior you want, but it was the behavior I designed it to have. 
>
> You start with two windows, A and B. You ask to find definitions in another window
> from A, because you want to preserve its contents. The symbol you searched for
> happened to have multiple definitions so you decide to browse them from *xref*
> using bare 'n' and 'p' before settling on the definition you want. Those
> "prospects" can't be shown in A because that would break the original
> "other-window" contract/intention, and they can't be shown in B because that's
> where you're browsing from. They need a new window C which is not available.
> When the frame is relatively small (as it is with emacs -Q), C is created by
> splitting horizontally, which is kind of akward, but the decision where to create
> C changes with larger frames. 

I'm so glad I use separate frames by default.  It's one thing
to explicitly choose to replace the content of a particular
window with other content (another buffer).  It's quite
another thing to have Emacs doing that left and right behind
your back.

It's not Emacs's fault for just trying to DTRT, of course.
The problem is that TRT is hard to specify in advance.  We
can try to require users to specify it in advance, by
configuration, but that runs into the same problem.

This is why `pop-up-windows' and `pop-up-frames' are so
helpful - as a start, at least, to prevent window splitting
and replacing window content left and right.

Of course, if Emacs pops up a new window or frame each time
then you really need a good way to change focus among them.

Yes, I know - mine's a (small) minority opinion.