* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
table can only be used when comparing variables with constant values.
(setq byte-compile--for-effect nil))
(defun byte-compile-cond-valid-obj2-p (obj)
- (if (consp obj)
- (and (eq (car obj) 'quote)
- (= (length obj) 2)
- (symbolp (cadr obj)))
- t))
+ (cond
+ ((consp obj)
+ (and (eq (car obj) 'quote)
+ (= (length obj) 2)
+ (symbolp (cadr obj))))
+ ((symbolp obj) (keywordp obj))
+ (t t)))
(defun byte-compile-cond-vars (obj1 obj2)
(or