Function: cl--generic-search-method-make-form-matcher

cl--generic-search-method-make-form-matcher is a byte-compiled function defined in cl-generic.el.gz.

Signature

(cl--generic-search-method-make-form-matcher MET-NAME)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-generic.el.gz
(defun cl--generic-search-method-make-form-matcher (met-name)
  (let ((name (car met-name))
        (qualifiers (cadr met-name))
        (specializers (cddr met-name)))
    (lambda (form)
      (pcase form
        (`(cl-generic-define-method
           (function ,(pred (eq name)))
           (quote ,(and (pred listp) m-qualifiers))
           (quote ,(and (pred listp) m-args))
           ,_call-con
           ,_function)
          (ignore-errors
            (let* ((m-spec-args (car (cl--generic-split-args m-args)))
                   (m-specializers
                    (mapcar (lambda (spec-arg)
                              (if (eq '&context (car-safe (car spec-arg)))
                                  spec-arg (cdr spec-arg)))
                            m-spec-args)))
              (and (equal qualifiers m-qualifiers)
                   (equal specializers m-specializers)))))))))