diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2004-05-11 03:17:45 +0000 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2004-05-11 03:17:45 +0000 |
commit | 7a2937ce8a29cc4ad7cad8ca56a617c764b068bc (patch) | |
tree | d37dd6092ccae749dacab1a993714ef0e28b3744 /lisp/subr.el | |
parent | 494bcd27cb2221a849c81c8ef0df2cc7c4c9f0a5 (diff) | |
download | emacs-7a2937ce8a29cc4ad7cad8ca56a617c764b068bc.tar.gz |
(eventp): Be more discriminating with integers.
Diffstat (limited to 'lisp/subr.el')
-rw-r--r-- | lisp/subr.el | 6 |
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) |