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

From: Juri Linkov <[email-masked]>
Date: Tue, 08 Jan 2019 00:16:19 +0200

> After re-reading your patch more closely and giving it some more
> testing, I've discovered it breaks an existing use case:
>
>    Emacs -Q
>    C-x 2 ;; split-window-horizontally
>    C-x 4 . ;; xref-find-definitions-other-window
>    xref-backend-definitions RET
>    C-n RET ;; in the resulting *xref* buffer

Of course, it doesn't work if you tried it only with part of my changes.
When I submitted my initial patch, I tested it in all your test cases,
including the above test case that was not broken with my patch.

But you asked to break my patch to several pieces and submit them
separately to different bug reports.  No wonder that each of them
doesn't do what the whole patch did.

> Expected xref.el to appear in the bottom window which was my original
> intent when I said "other window".

Then the xref buffer is obscured by another buffer visited in the same
window, and if the user wants to visit more hits from the xref buffer,
this is not easy to do.

> In the current master this works OK, in your patch it doesn't.

My initial patch solved this problem gracefully by creating a new window
for the xref buffer.

> I've also renamed window.el's window--display-buffer to
> window-display-buffer throughout Emacs (i.e. made it public).

You can't rename old functions lightly.  This will break the existing
code.  This needs many years of deprecation process: in one release
declare the function as obsolete, and in another release delete
old aliases, because there are external packages that rely on this
function name like the `other-frame-window' package from ELPA, etc.

> After we merge this, we can continue the discussion about the changing
> the xref UI in the other bug you opened, bug#33992

Better start with bug#33992 because it supports the above test case,
then we could finish this bug#33870.