Subject: Re: bug#12311: (special-mode-map): Delete binding for `z'.

From: Chong Yidong <[email-masked]>
Date: Mon, 03 Sep 2012 16:09:12 +0800

Sam Steingold <[email-masked]> writes:

> because 'q' will eventually start showing old *Help* buffers.
> because 'q' deletes the window which I want to keep.

The first point seems irrelevant; `q' should only show old buffers if
there is nothing better to show.

As for the second, we could add a defcustom to prevent `quit-window'
from deleting windows; would that be suitable for your usage?

> I don't think special-mode buffers are "precious" - they are easily
> restored, so killing them accidentally should not be a problem.
> Apparently others disagree.

One example of a special buffer which may be annoying to accidentally
delete is a *Packages* buffer, whose contents are fetched over a
network.  Similarly with a non-DVCS VC-Dir buffer.  But these are
personal value judgements, a.k.a. bikeshedding.  There are two simple
solutions:

  (define-key special-mode-map "z" ...)

or

  C-x k RET

Emacs should strive to present a consistent user interface, so it's good
for special buffers to share as many keybindings as possible, when it
comes to basic operations like dismissal.  That's why we've worked hard
to make these buffers use `q' (`quit-window').  In that context, it's
unacceptable to provide `z' for buffer-killing in some special buffers
but not others, for such a fuzzy reason as "precious" vs "non-precious".