Subject: Re: bug#44611: Prefix arg for xref-goto-xref

From: Eli Zaretskii <[email-masked]>
Date: Sun, 27 Dec 2020 20:21:39 +0200

> From: Juri Linkov <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Sun, 27 Dec 2020 18:20:01 +0200
> 
> The notion "conservative" is irrelevant here, because TAB was bound in xref
> recently

Not so recently: 2 years ago.  And by the time Emacs 28 hits the
network, it will probably be 4 years.

> > This works both ways: if you want TAB to do something other than its
> > default, you can rebind it for you, right?
> 
> This is not about my personal preferences.

Your original explanation of the rationale was that you always press
TAB because you are used to it in Grep buffers.

> > I didn't suggest unbinding TAB, I suggested to leave its current
> > binding as it was in Emacs 27 and older.
> 
> This would be the worst thing to do.

It sounds like no compromise I suggest is acceptable.  then I don't
know how to solve this disagreement.

> > That contradicts what Dmitry said: that the current Xref UI moves away
> > of the completion UI, and towards compilation-mode and grep-mode.
> > There, deleting the window with C-j will look odd, I think.
> 
> There are two modes: xref-show-xrefs and xref-show-defs.
> xref-show-xrefs is similar to grep, whereas xref-show-defs
> resembles the Completion UI where C-j makes sense.

AFAIU, Dmitry didn't like the proposal to have different bindings in
these two modes.

> >> > Why not 'q' (for "quit") or 'b' (for "bury")?
> >>
> >> 'xref-quit-and-goto-xref' also jumps to xref, not only quits,
> >> but 'q' and 'b' should only quit.
> >
> > That's not a catastrophe, but if you want, we could use "C-c C-c"
> > instead, as that is used in some other modes for similar effect.
> 
> I think this is a good idea for completion-like xref-show-defs,
> but not for grep-like xref-show-xrefs because in grep-mode
> 'C-c C-c' is bound to compile-goto-error that doesn't quit window.

There are other modes where it does, e.g. message-mode.