Function: cl--generic--tagcode-with-specializers

cl--generic--tagcode-with-specializers is a byte-compiled function defined in cl-generic.el.gz.

Signature

(cl--generic--tagcode-with-specializers GENERALIZER DISPATCH-ARG OUTER-BINDINGS)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-generic.el.gz
(defun cl--generic--tagcode-with-specializers
    (generalizer dispatch-arg outer-bindings)
  (unless outer-bindings
    (push `(specializers
            (cl--generic-collect-specializers
             methods ',dispatch-arg))
          outer-bindings))
  (let* ((our-specializers
          (gensym "our-specializers"))
         (binding+code
          (funcall
           (cl--generic-generalizer-tagcode-function
            generalizer)
           'arg our-specializers)))
    (cons (append (car binding+code)
                  (cons
                   `(,our-specializers
                     (cl--generic-filter-specializers
                      specializers ',generalizer))
                   outer-bindings))
          (cdr binding+code))))