summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim F. Storm <storm@cua.dk>2004-11-23 15:23:57 +0000
committerKim F. Storm <storm@cua.dk>2004-11-23 15:23:57 +0000
commitd9f043554d8e441cf3eff5e14d25c0111792a93e (patch)
treec4d116e2079b67ad010a17ba3b2d1906d865c415
parent92c8c0ce0b4910b3c77613b1e6a7120b93566d40 (diff)
downloademacs-d9f043554d8e441cf3eff5e14d25c0111792a93e.tar.gz
(substitute-key-definition-key): Optimize. Don't
call indirect-function for nil defn (always signals error).
-rw-r--r--lisp/subr.el3
1 files changed, 2 insertions, 1 deletions
diff --git a/lisp/subr.el b/lisp/subr.el
index b40c64c63eb..6d8ebeec22b 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -422,7 +422,8 @@ For most uses, it is simpler and safer to use command remappping like this:
(nconc (nreverse skipped) newdef)))
;; Look past a symbol that names a keymap.
(setq inner-def
- (condition-case nil (indirect-function defn) (error defn)))
+ (and defn
+ (condition-case nil (indirect-function defn) (error defn))))
;; For nested keymaps, we use `inner-def' rather than `defn' so as to
;; avoid autoloading a keymap. This is mostly done to preserve the
;; original non-autoloading behavior of pre-map-keymap times.