Subject: bug#11716: 24.1; `substitute-command-keys' does not respect `defalias'

From: "Drew Adams" <[email-masked]>
Date: Fri, 15 Jun 2012 11:10:14 -0700

(defun foo () "foo" (interactive) (message "FOO"))
(defalias 'bar 'foo)
(global-set-key "\C-d" 'foo)
(substitute-command-keys "\\[bar]")
 
The last sexp returns "M-x bar".  It should return "C-d".
(substitute-command-keys "\\[foo]") returns "C-d".

And if you do (global-set-key "\C-d" 'bar) instead then the
problem is the other way around: `M-x...' is shown for `foo'.
 
`substitute-command-keys' should not give the impression that
either the command or its alias is not bound to a key when, in
effect (for users), it is.

In GNU Emacs 24.1.1 (i386-mingw-nt5.1.2600)
 of 2012-06-10 on MARVIN
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.6) --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include'