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

From: Dmitry Gutov <[email-masked]>
Date: Mon, 18 Jan 2021 03:17:40 +0200

On 28.12.2020 19:24, Juri Linkov wrote:
>>>> On the subject of grep-mode, it could have a similar command introduced
>>>> too, for situations when you only needed to find one occurrence, to jump to
>>>> it and quit the window.
>>> This is what I already successfully use:
>>> diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
>>> index d2293151c7..08c44dcb25 100644
>>> --- a/lisp/progmodes/compile.el
>>> +++ b/lisp/progmodes/compile.el
>>> @@ -2572,11 +2572,15 @@ compile-goto-error
>>>      (or (compilation-buffer-p (current-buffer))
>>>          (error "Not in a compilation buffer"))
>>>      (compilation--ensure-parse (point))
>>> +  (let ((window (posn-window (event-end event))))
>>>        (if (get-text-property (point) 'compilation-directory)
>>>            (dired-other-window
>>>             (car (get-text-property (point) 'compilation-directory)))
>>>          (setq compilation-current-error (point))
>>> -    (next-error-internal)))
>>> +      (next-error-internal))
>>> +    (when current-prefix-arg
>>> +      (with-selected-window window
>>> +        (quit-window)))))
>> So... if others like it, we could keep just this binding (C-u RET) for
>> "quit the window and go to location", in both Grep and Xref.
> To make it more future-proof for possible other uses of the prefix arg,
> maybe better would be to use 'C-0 RET' with better mnemonics of 0 to
> mean deleting the window (like 'C-x 0' deletes the window).

Sorry, missed this message previously.

I don't have a strong opinion on this, but seems like it would conflate 
the "quit" action (what we want the command to do in this case) with the 
"delete" action (which what the binding might imply).