Function: byte-compile-find-bound-condition
byte-compile-find-bound-condition is a byte-compiled function defined
in bytecomp.el.gz.
Signature
(byte-compile-find-bound-condition CONDITION-PARAM PRED-LIST &optional ONLY-IF-NOT-PRESENT)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/bytecomp.el.gz
;; Return the list of items in CONDITION-PARAM that match PRED-LIST.
;; Only return items that are not in ONLY-IF-NOT-PRESENT.
(defun byte-compile-find-bound-condition (condition-param
pred-list
&optional only-if-not-present)
(let ((result nil)
(nth-one nil)
(cond-list
(if (memq (car-safe condition-param) pred-list)
;; The condition appears by itself.
(list condition-param)
;; If the condition is an `and', look for matches among the
;; `and' arguments.
(when (eq 'and (car-safe condition-param))
(cdr condition-param)))))
(dolist (crt cond-list)
(when (and (memq (car-safe crt) pred-list)
(eq 'quote (car-safe (setq nth-one (nth 1 crt))))
;; Ignore if the symbol is already on the unresolved
;; list.
(not (assq (nth 1 nth-one) ; the relevant symbol
only-if-not-present)))
(push (nth 1 (nth 1 crt)) result)))
result))