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

From: João Távora <[email-masked]>
Date: Fri, 1 Feb 2019 00:17:41 +0000

On Thu, Jan 31, 2019 at 10:14 PM João Távora <[email-masked]> wrote:
>
> On Sun, Jan 27, 2019 at 8:42 PM Juri Linkov <[email-masked]> wrote:
> >
> > >> If only that patch were able to keep the current behavior by default.
> > > Yep.  If Juri provides a simpler patch that does this I'm all for it.
> > Ok, here's 100% backward-compatible patch:
>
> Thanks, Juri!
>
> I know I'm late on this, but I've been very busy. Please give me
> some more days to try this out.

OK, so I did find time to test this briefly and I found some
bugs.  However, they are reasonably hard to reproduce
consistently. Here's the only bug I can reproduce
consistently:

emacs -Q
C-x 2
C-x 4 . xref-backend-definitions RET
C-n
TAB

Expected the definition to appear in the bottom window, but it
goes to the top window instead (the window I used
xref-find-definitions-other-window).  This is wrong and the
current xref.el implementation does not suffer from this bug.

However, in all fairness, the current xref.el implementation
suffers from other bugs that I had never uncovered:

emacs -Q
C-x 2
C-x o
C-x 4 . xref-backend-definitions RET
n

This will open a new frame (!) completely unexpectedly, whereas in
your version, it works quite correctly. It works fine in both versions
if the C-x o is not used.

I did not debug any of the problems.

So which bugs are "worse"? :-) Assuming you can reproduce it
and fix the bug, I would have no more objections, and the patch
does indeed simplify the code.

João

PS: I stress the "assuming you can reproduce it": I could be making
a mistake here: I tested with and without your patch on a recent
Emacs.