GNU bug report logs - #2179
23.0.60; define-key vs define-key-after key syntax

Previous Next

Package: emacs;

Reported by: Gerard Brunick <gbrunick <at> math.utexas.edu>

Date: Tue, 3 Feb 2009 07:40:04 UTC

Severity: minor

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

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Gerard Brunick <gbrunick <at> math.utexas.edu>
To: emacs-pretest-bug <at> gnu.org
Subject: bug#2179: 23.0.60; define-key vs define-key-after key syntax
Date: Tue, 03 Feb 2009 01:31:34 -0600
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




This bug report was last modified 13 years and 314 days ago.

Previous Next


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