Function: cl--generic-cache-miss
cl--generic-cache-miss is a byte-compiled function defined in
cl-generic.el.gz.
Signature
(cl--generic-cache-miss GENERIC DISPATCH-ARG DISPATCHES-LEFT METHODS-LEFT TYPES)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-generic.el.gz
(defun cl--generic-cache-miss (generic
dispatch-arg dispatches-left methods-left types)
(let ((methods '()))
(dolist (method methods-left)
(let* ((specializer (cl--generic-arg-specializer method dispatch-arg))
(m (member specializer types)))
(when m
(push (cons (length m) method) methods))))
;; Sort the methods, most specific first.
;; It would be tempting to sort them once and for all in the method-table
;; rather than here, but the order might depend on the actual argument
;; (e.g. for multiple inheritance with defclass).
(setq methods (nreverse (mapcar #'cdr (sort methods #'car-less-than-car))))
(cl--generic-make-next-function generic dispatches-left methods)))