GNU bug report logs - #59381
Should xref--marker-ring be per-window?

Previous Next

Package: emacs;

Reported by: Ackerley Tng <ackerleytng <at> gmail.com>

Date: Sat, 19 Nov 2022 09:26:02 UTC

Severity: wishlist

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: Eli Zaretskii <eliz <at> gnu.org>
To: Juri Linkov <juri <at> linkov.net>
Cc: ackerleytng <at> gmail.com, 59381 <at> debbugs.gnu.org
Subject: bug#59381: Should xref--marker-ring be per-window?
Date: Sat, 19 Nov 2022 21:53:26 +0200
> Cc: 59381 <at> debbugs.gnu.org
> From: Juri Linkov <juri <at> linkov.net>
> Date: Sat, 19 Nov 2022 20:53:46 +0200
> 
> > While using xref (xref-find-definitions and xref-find-references, etc)
> > in separate windows, I hit M-, to pop the marker stack expecting that
> > each window should have a separate stack.
> >
> > However, it seems that the entire emacs instance shares a single
> > xref--marker ring.
> >
> > Could we have separate xref--marker-rings per window, or some
> > configuration option to enable that?
> 
> Ideally, making an existing variable window-local should be as easy
> as making it buffer-local, e.g.:
> 
>   (make-variable-buffer-local 'xref--history)
>   ->
>   (make-variable-window-local 'xref--history)
> 
> But we are not here so far.

I don't think it's that simple.  Windows are much more ephemeral than buffers;
for example, "C-x 2" followed by "C-x 1" or "C-x 0" deletes one of the windows.
What do we want to happen with the "window-local" xref stack in that case?

My guess is that the OP wanted to have control on when M-. pushes locations to
the last used stack or begin a new stack.  Because only the user knows when
M-. begins a new series of searches.  So I think it is better to offer a
separate command for exercising just such control.




This bug report was last modified 2 years and 236 days ago.

Previous Next


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