GNU bug report logs - #33870
27.0.50; xref-goto-xref not configurable

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> linkov.net>

Date: Tue, 25 Dec 2018 20:53:01 UTC

Severity: minor

Found in version 27.0.50

Done: Dmitry Gutov <dgutov <at> yandex.ru>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Juri Linkov <juri <at> linkov.net>, João Távora <joaotavora <at> gmail.com>
Cc: 33870 <at> debbugs.gnu.org
Subject: bug#33870: 27.0.50; xref-goto-xref not configurable
Date: Tue, 11 Jun 2019 03:00:12 +0300
[Message part 1 (text/plain, inline)]
Hi Juri,

On 27.01.2019 22:29, Juri Linkov 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:

So apparently this patch was installed, but without a link to the 
relevant bug report, and it was not closed either.

Which is just as well, because my testing shows that it's really not 
100% backward compatible.

1. display-buffer-in-previous-window, as I mentioned in another email, 
does not reliably use the supplied `previous-window' value.

2. 'C-x 4 .' followed by TAB (or RET) is broken: instead of using the 
other window, it uses the original window, just like M-. does. It's a 
misunderstanding inside the code, see below.

> xref.simplify.patch
> 
> diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
> index 87ce2299c5..9522d7e475 100644
> --- a/lisp/progmodes/xref.el
> +++ b/lisp/progmodes/xref.el
> @@ -474,27 +474,17 @@ xref--show-pos-in-buf
>             (or (eq xref--original-window-intent 'frame)
>                 pop-up-frames))
>            (action
> -          (cond ((memq
> -                  xref--original-window-intent
> -                  '(window frame))
> +          (cond ((eq xref--original-window-intent 'frame)
>                    t)
> +                ((eq xref--original-window-intent 'window)
> +                 '(display-buffer-same-window))

That's not what the `window' value means. It should mean "other window".

I really don't want to revert this change after all this discussion, but 
implementing it in a different way is not straightforward. My very first 
idea turned out to be to write it more or less like it was before.

But here's an alternative patch. Juri, what do you think? Does it keep 
your customizations working?
[xref-display-buffer-functions.diff (text/x-patch, attachment)]

This bug report was last modified 6 years and 35 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.