X-Debbugs-Cc: Juri Linkov This adds a capability to customize the destination window selection logic for navigation (xref-find-definitions, xref-go-back, xref-go-forward) by allowing a user-supplied display window function. Inspired by the Merlin package and its user option merlin-locate-in-new-window (https://github.com/ocaml/merlin/blob/a36f42a5b181d0c9cc84174e8eb241b11eeabc0f/emacs/merlin.el#L177C12-L177C39) - where the value 'diff' uses a different window if the destination is in an file different from the current one. With the attached patch the customization looks a bit noisier though: (setq xref-navigation-display-window-action '(display-buffer-reuse-window)) ^ This makes it try to reuse an existing window and fall back to pop-to-window, but the effect is similar to what's described above. Comments welcome.