Here's a patch for review! I made 'window-local the default storage so that we would hopefully get more feedback, do let me know if I should leave the default as 'global. On Mon, Nov 21, 2022 at 5:14 AM Eli Zaretskii wrote: > > > Date: Mon, 21 Nov 2022 01:17:02 +0200 > > Cc: 59381@debbugs.gnu.org, ackerleytng@gmail.com, juri@linkov.net > > From: Dmitry Gutov > > > > On 20.11.2022 09:59, Eli Zaretskii wrote: > > > > >> But maybe it will be helpful for you to elaborate: what the workflow > > >> would look like. Would it be a parallel set of commands, or simply a > > >> command to... do what? > > > > > > I just did that, above: add a command that starts a new "stack". All the > > > rest is unchanged. > > > > What would happen with the current stack, though? > > It's discarded, as no longer needed. > > > Or does it apply to the current window? What about the windows split > > from it? What about older windows we decide to pop-to-buffer to from one > > of the new windows? > > In my mental picture, the stack is not specific to a window, like it is > today. > > > >> In my workflow, a new stack is more or less created implicitly by > > >> splitting a window, and discarded by deleting one. > > > > > > So you always ever have a given buffer displayed in a single window? > > > > Not necessarily, no. If it's a big file, I can have two parallel > > "investigations" going on in two different window on it. Using two > > different navigation stacks. That's a feature. > > It's a feature if you indeed want a separate stack in each window. What if > you want the same stack in all of those windows? > > > Whether M-. pop a new window, or you use project-find-regexp, we usually > > make sure that after you navigate to a location, it's displayed in the > > same window the search was made in. Unless the user called something > > like xref-find-definitions-other-window, naturally. > > > > So it's generally possible to stay within the same window most of the time. > > Not if I split that one window because I want to look at something else as > well. > > > And you make good points: Emacs often makes you go from a window to a > > window, reusing older windows as well. So I'm not sure how to solve that > > better: searching the window hierarchy won't help. > > > > So it could be some propagation mechanism working when windows are split > > or buffers get displayed, which would nevertheless leave a window when > > the user pressed 'q', for instance. Reverting the window to its previous > > stack, let's say. And as for separate command, using it explicitly by > > itself is easy to forget, but it perhaps could be added to some other > > commands by the user (via before-advice or etc), to mark the beginning > > of each stack. > > > > This is a very rough idea. There's nobody to work on it in the near > > future, I'm afraid, so adding an optional change in behavior to use > > window-local storage is probably the best way forward. To get feedback, > > as Ackerley said. > > When this becomes practical, we could try it and see if enough people like > it.