bug#2179: 23.0.60; define-key vs define-key-after key syntax
Gerard Brunick <[email protected]>
| Newsgroups | gmane.emacs.bugs,gmane.emacs.pretest.bugs |
|---|---|
| Message-ID | <[email protected]> |
This may or may not be a bug, but it caused me some pain, so I am
pointing it out.
(define-key my-map [(control l)] 'do-something)
works as expected, but
(define-key-after my-map [(control l)] 'do-something)
does not. The reason is that define-key does a lot of work to allow
for a wide range of key syntaxes, but define-key-after just does:
(setq key
(if (<= (length key) 1) (aref key 0) ...
and (control l) must get mapped to ?\C-l = 12 to be useful in a keymap.
As I say, I'm not sure this is a bug, but it was rather
counter-intuitive to me, so maybe a warning to this effect in the
documentation for define-key-after would be sufficient. The current
documentation says "... This is like `define-key' except that the binding
for KEY is placed just after the binding for the event AFTER ..."
Cheers,
Gerard