Subject: Re: bug#31027: 27.0.50; xref, tags-location-ring equivalent

From: [email-masked] (Charles A. Roelli)
Date: Wed, 04 Apr 2018 20:37:32 +0200

> From: Dmitry Gutov <[email-masked]>
> Date: Tue, 3 Apr 2018 23:32:26 +0300
> 
> On 4/2/18 9:06 PM, Charles A. Roelli wrote:
> > tags-location-ring seems to have no replacement in xref.el.
> > 
> > from etags.el:
> > (defvar tags-location-ring (make-ring xref-marker-ring-length)
> >    "Ring of markers which are locations visited by \\[find-tag].
> > Pop back to the last location with \\[negative-argument] \\[find-tag].")
> > 
> > We should add a "xref-location-ring" (or similar) that stores the
> > locations visited by "xref-find-definitions", and we can allow jumping
> > to them with C-u - M-., in the same way as "find-tag" does.
> 
> What about 'M-x previous error'? Or 'C-u - M-x next-error', to mirror 
> your example.

That's useful, but also different in nature and scope to a global
ring, which would not use a local variable (`next-error-function') to
navigate to other "errors".  An "xref-location-ring" would be simpler.

By the way, I didn't know previous-error/next-error worked with xref.
Is that documented in the manual?