[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#43300: [PATCH] Make M-x show new commands for obsolete aliases
From: |
Basil L. Contovounesios |
Subject: |
bug#43300: [PATCH] Make M-x show new commands for obsolete aliases |
Date: |
Wed, 18 Nov 2020 12:43:51 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Juri Linkov <juri@linkov.net> writes:
>> Please find attached two patches that tweaks how M-x
>> (execute-extended-command) works:
>>
>> 1. Show obsolete commands, and give their new name as an annotation.
>
> I noticed that some commands have " (nil)" appended as annotations
> in M-x completions, e.g. 'M-x browse- TAB'. Looks like " (nil)"
> is returned in read-extended-command--annotation:
>
> (obsolete
> (format " (%s)" (car obsolete)))
Is the following sufficient?
diff --git a/lisp/simple.el b/lisp/simple.el
index bb28145502..2acceef6a1 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -1964,13 +1964,14 @@ read-extended-command
#'commandp t nil 'extended-command-history)))
(defun read-extended-command--annotation (command-name)
- (let* ((fun (and (stringp command-name) (intern-soft command-name)))
+ "Return annotation for COMMAND-NAME in M-x completion."
+ (let* ((fun (intern-soft command-name))
(binding (where-is-internal fun overriding-local-map t))
(obsolete (get fun 'byte-obsolete-info))
(alias (symbol-function fun)))
(cond ((symbolp alias)
(format " (%s)" alias))
- (obsolete
+ ((car obsolete)
(format " (%s)" (car obsolete)))
((and binding (not (stringp binding)))
(format " (%s)" (key-description binding))))))
Thanks,
--
Basil