Function: byte-optimize-memq
byte-optimize-memq is a byte-compiled function defined in
byte-opt.el.gz.
Signature
(byte-optimize-memq FORM)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/byte-opt.el.gz
(defun byte-optimize-memq (form)
(if (= (length (cdr form)) 2)
(let ((list (nth 2 form)))
(cond
((null list) ; empty list
`(progn ,(nth 1 form) nil))
;; (memq foo '(bar)) => (and (eq foo 'bar) '(bar))
((and (eq (car-safe list) 'quote)
(listp (setq list (cadr list)))
(= (length list) 1))
`(and (eq ,(nth 1 form) ',(nth 0 list))
',list))
(t form)))
;; Arity errors reported elsewhere.
form))