Subject: Re: bug#76526: 30.1; kill-this-buffer not works normally

From: Eli Zaretskii <[email-masked]>
Date: Mon, 24 Feb 2025 21:24:26 +0200

> From: Stefan Kangas <[email-masked]>
> Date: Mon, 24 Feb 2025 19:21:00 +0000
> Cc: [email-masked]
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > tags 76526 notabug
> > thanks
> >
> >> From: Magi Feeney <[email-masked]>
> >> Date: Mon, 24 Feb 2025 21:25:32 +0800
> >>
> >> I tested the function kill-this-buffer with "emacs -Q", it consistently
> >> gives the output:
> >>
> >> "command-execute: kill-this-buffer must be bound to an event with
> >> parameters"
> >>
> >> and doesn't kill the current buffer.
> >
> > Yes.  This is the intended behavior.  The function's doc string says:
> >
> >   This command must be bound to a mouse event, and can be reliably
> >   invoked only from the menu bar, otherwise it could decide to silently
> >   do nothing or signal an error.  Use ‘kill-current-buffer’ if you
> >   need to invoke a similar command from keyboard.
> >
> > This is not a bug.
> 
> FWIW, I think we should improve this.  It's bad that we show this
> command in M-x completions when we already know that it won't work.
> 
> Perhaps this particular command/function should also be renamed to
> menu-bar--kill-this-buffer, or something like that, so that users aren't
> mislead to think that they can invoke it outside the menu bar.

I don't see how a different name will help.  What can be more explicit
than what the doc string, which is the first place users should look
when a command doesn't do what they expect?