summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2016-10-26 15:29:02 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2016-10-26 15:29:02 -0400
commit9c1cb8d595c827031f55a7ef23d083d9ec4a028c (patch)
tree48a28a6c2da8a481307e285288fe9ba65fdce22d
parent9c247d200b2b06dbfee84d22a03d559df119a23e (diff)
downloademacs-9c1cb8d595c827031f55a7ef23d083d9ec4a028c.tar.gz
* lisp/subr.el (set-transient-map): Exit for unbound events (bug#24755).
-rw-r--r--lisp/subr.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/lisp/subr.el b/lisp/subr.el
index 573f238f743..07909b894f5 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -4507,8 +4507,10 @@ to deactivate this transient map, regardless of KEEP-PRED."
;; exit C-u.
t)
((eq t keep-pred)
- (eq this-command
- (lookup-key map (this-command-keys-vector))))
+ (let ((mc (lookup-key map (this-command-keys-vector))))
+ ;; If the key is unbound `this-command` is
+ ;; nil and so is `mc`.
+ (and mc (eq this-command mc))))
(t (funcall keep-pred)))
(funcall exitfun)))))
(add-hook 'pre-command-hook clearfun)