GNU bug report logs - #11716
24.1; `substitute-command-keys' does not respect `defalias'

Previous Next

Package: emacs;

Reported by: "Drew Adams" <drew.adams <at> oracle.com>

Date: Fri, 15 Jun 2012 18:14:01 UTC

Severity: wishlist

Tags: wontfix

Found in version 24.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #11 received at 11716 <at> debbugs.gnu.org (full text, mbox):

From: "Drew Adams" <drew.adams <at> oracle.com>
To: "'Andreas Schwab'" <schwab <at> linux-m68k.org>
Cc: 11716 <at> debbugs.gnu.org
Subject: RE: bug#11716: 24.1;
	`substitute-command-keys' does not respect `defalias'
Date: Fri, 15 Jun 2012 14:49:27 -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".
> 
> No.  C-d is not bound to bar.

No what?  I didn't say it was.

C-d is, _in effect_, that is, from a user perspective, bound to `bar'.  It is
not bound to `bar' but the effect is that it invokes the code that `bar' runs.

`substitute-command-keys' is used most often in doc strings and such,
communicating to users what they can use to invoke particular commands etc.

It is far more useful to let a user know that s?he can use C-d than it is to
just punt and say "M-x bar".

If a programmer explicitly wants to choose "M-x bar" over letting users know
they can use C-d, s?he can use "M-x bar" and not "\\[bar]".

And yes, the user CAN use C-d, because of the binding of C-d to `foo' and the
defalias of `bar' to `foo'.  What's important here is what users can do, not
whether `bar' is actually bound to C-d.

Do you have a counter use case?  A typical use of `substitute-command-keys' (or
even an atypical case) where fixing this would cause a problem?  A case where
the user should see a distinction between `foo' and `bar' wrt key bindings?






This bug report was last modified 9 years and 25 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.