Subject: Re: bug#79065: 31.0.50; [PATCH] Allow inverting the meaning of 'quit-window-kill-buffer'

From: Juri Linkov <[email-masked]>
Date: Mon, 28 Jul 2025 09:14:52 +0300

>> +If @var{kill} is the special value @code{invert}, or when calling
>> +interactively with the prefix argument, then @code{quit-window} inverts
>> +the meaning of @code{quit-window-kill-buffer}, so that when it would
>> +normally kill the buffer, it buries it instead, and vice versa.
>
> 'invert' is a problematic symbol for this purpose, because it doesn't
> tell what will happen.  I prefer to use 2 symbols with explicit names,
> 'kill' and 'bury', instead, and have the prefix argument compute the
> value by looking at the value of quit-window-kill-buffer.  This way, a
> Lisp program will tell explicitly what it does, and interactive usage
> still "inverts" the value of the option.

For example, 'windmove-display-no-select' has the same purpose,
but avoids the symbol 'invert' by using:

  (xor (consp arg) windmove-display-no-select)

Would it be possible to use the same logic here?