What if we copy the whole stackv from the old window whenever a new window is opened? On Sat, Nov 19, 2022, 11:53 AM Eli Zaretskii wrote: > > Cc: 59381@debbugs.gnu.org > > From: Juri Linkov > > 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. >