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

From: Dmitry Gutov <[email-masked]>
Date: Sun, 15 Nov 2020 03:05:16 +0200

On 14.11.2020 22:36, Juri Linkov wrote:
> tags 44611 fixed
> close 44611 28.0.50
> quit
> 
>>> I recall endless discussions about xref in the past.
>>> But now I realized that xref-goto-xref just misses
>>> an obvious thing, and nothing more is needed.
>>
>> Sounds promising!
> 
> So now pushed to master.

Very well.

>>> Like e.g. 'quit-window' allows using a prefix argument
>>> to change its behavior by relying on (interactive "P"),
>>> xref-goto-xref should do the same:
>>
>> The proposed change is not quite the same (bury instead of kill), but if it
>> really helps, go ahead.
> 
> I don't know how important would be to kill *xref* instead of burying.

Indeed, probably not at all important. I'm just saying the parallel 
seems very rough.

Which might or might not be important from the standpoint of trying to 
unify different behaviors in Emacs, to make them more "regular".

>> Please also note that instead of 'C-u RET' you can use 'TAB' already: it's
>> bound to xref-quit-and-goto-xref which calls xref-goto-xref with QUIT=t.
> 
> I know, but it's very odd to use 'TAB' to quit the window.

The original justification for this binding (authored by Joao) was that 
by using it we indicate that the Xref buffer is used for "completion" 
(picking one result), rather then iterating over multiple matches.

That's why it's TAB, because "TAB completion", apparently. Overall, it's 
not obvious, but it kinda makes sense.