summaryrefslogtreecommitdiff
path: root/lisp/subr.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2004-05-11 03:17:45 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2004-05-11 03:17:45 +0000
commit7a2937ce8a29cc4ad7cad8ca56a617c764b068bc (patch)
treed37dd6092ccae749dacab1a993714ef0e28b3744 /lisp/subr.el
parent494bcd27cb2221a849c81c8ef0df2cc7c4c9f0a5 (diff)
downloademacs-7a2937ce8a29cc4ad7cad8ca56a617c764b068bc.tar.gz
(eventp): Be more discriminating with integers.
Diffstat (limited to 'lisp/subr.el')
-rw-r--r--lisp/subr.el6
1 files changed, 5 insertions, 1 deletions
diff --git a/lisp/subr.el b/lisp/subr.el
index 866a6f6fd7c..5302558d834 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -629,7 +629,11 @@ The normal global definition of the character C-x indirects to this keymap.")
(defsubst eventp (obj)
"True if the argument is an event object."
- (or (integerp obj)
+ (or (and (integerp obj)
+ ;; Filter out integers too large to be events.
+ ;; M is the biggest modifier.
+ (zerop (logand obj (lognot (1- (lsh ?\M-\^@ 1)))))
+ (char-valid-p (event-basic-type obj)))
(and (symbolp obj)
(get obj 'event-symbol-elements))
(and (consp obj)