Function: bytecomp--check-memq-args
bytecomp--check-memq-args is a byte-compiled function defined in
bytecomp.el.gz.
Signature
(bytecomp--check-memq-args FORM &optional ELEM LIST &rest IGNORE)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/bytecomp.el.gz
(defun bytecomp--check-memq-args (form &optional elem list &rest _ignore)
(let* ((fn (car form))
(number-ok (eq fn 'memql)))
(cond
((bytecomp--dodgy-eq-arg-p elem number-ok)
(bytecomp--warn-dodgy-eq-arg
form (bytecomp--arg-type-description elem) "arg 1"))
((and (consp list) (eq (car list) 'quote)
(proper-list-p (cadr list)))
(named-let loop ((elts (cadr list)) (i 1))
(if elts
(let* ((elt (car elts))
(x (cond ((eq fn 'assq) (car-safe elt))
((eq fn 'rassq) (cdr-safe elt))
(t elt))))
(if (or (symbolp x)
(and (integerp x)
(or (<= -536870912 x 536870911) number-ok))
(and (floatp x) number-ok))
(loop (cdr elts) (1+ i))
(bytecomp--warn-dodgy-eq-arg
form (bytecomp--value-type-description x)
(format "element %d of arg 2" i))))
form)))
(t form))))