GNU bug report logs - #20487
25.0.50; Format and behavior of *xref* buffer is non-standard

Previous Next

Package: emacs;

Reported by: Vitalie Spinu <spinuvit <at> gmail.com>

Date: Sat, 2 May 2015 22:21:02 UTC

Severity: normal

Found in version 25.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: Vitalie Spinu <spinuvit <at> gmail.com>, 20487 <at> debbugs.gnu.org
Subject: bug#20487: 25.0.50; Format and behavior of *xref* buffer is non-standard
Date: Sun, 3 May 2015 17:30:43 +0300
On 05/03/2015 01:20 AM, Vitalie Spinu wrote:

>    - on RET *xref* is buried. That's not that other modes do and it's
>      rather inconvenient IMO.

That's valid complaint, but it's very convenient to bury the xref buffer 
upon jumping to a location, if the list was displayed by 
`xref-find-definitions', primarily because "jump to definition" usually 
means we only want to visit one location.

Further, on more than one occasion I needed to only jump to one location 
in *grep* and *compile* buffers, preferably in the same window, in order 
to hide the said *grep* or *compile* buffer. We don't have an easy way 
to do that.

I'd welcome suggestions taking this into account.

>    - Display is inneficient. Currently two lines are used to display one
>      item:
>
>         /home/vspinu/bin/r-source/src/library/stats/src/port.c
>           nlminb_iterate(double b[], double d[], double fx, double g[], double h[],
>         /home/vspinu/bin/r-source/src/include/R_ext/stats_stubs.h
>           S_nlminb_iterate(double b[], double d[], double fx, double g[], double	h[],
>
>      I would rather prefer the way *grep* does that.

So, you'd call displaying the same file name over and over for each 
location inside it, "efficient"? Do you favor vertical splits?

Someone can implement a different rendering method for xref buffer (and 
set xref-show-xrefs-function to it), but I'm against making it default.

That rendering method will also encounter difficulties if xref groups 
will sometimes have 2 levels of nesting (or more?).

> As we are on this, would be nice if *grep* and *xref* cold abbreviate
> file-names by replacing home directory with ~/.

Grep would probably have to do it with font-lock (patch welcome, I guess).

In xref, currently it falls on the shoulders of each backend, because 
the location groups are simply strings, and as far as UI is concerned, 
they can contain anything. This can change if groups become proper objects.




This bug report was last modified 9 years and 146 days ago.

Previous Next


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