Subject: bug#43300: [PATCH] Make M-x show new commands for obsolete aliases

From: Stefan Kangas <[email-masked]>
Date: Wed, 18 Nov 2020 14:06:05 -0800

Juri Linkov <[email-masked]> writes:

>>> Is the following sufficient?
>>
>> The old behavior was to never show obsolete commands in completion.  You
>> could therefore only run one if you remembered and manually typed in the
>> old name.  If you made a command obsolete, it would therefore just
>> appear to disappear from one release to the next.
>>
>> The new behavior was intended to be less abrupt for cases where the old
>> command is anyways just an alias for a new command.  In this way, we can
>> more gently nudge users to use the new command instead.
>>
>> I therefore think we should revert back to the old behavior for commands
>> that are obsolete without an alternative, that is we should not add such
>> commands to the list of completion candidates.
>
> Or maybe still some indication is needed to be displayed, even if there is
> no alias for a new command.  Maybe display just " (obsolete)"?

It's an alternative, yes.  It has the drawback that now things in
parenthesis can mean not only things you can run (keybindings and
commands) but also just general information.

FWIW, I tend to lean towards maintaining the old behavior here.
I also note that Stefan Monnier didn't particularly like the new
behavior, as it doesn't discourage users enough from not using the
commands.  So maybe we could meet him half-way and maintain the old
behavior, even if only for some cases.
See: https://lists.gnu.org/r/emacs-devel/2020-09/msg01102.html