Function: cl--generic-method-info
cl--generic-method-info is a byte-compiled function defined in
cl-generic.el.gz.
Signature
(cl--generic-method-info METHOD)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-generic.el.gz
(defun cl--generic-method-info (method)
(let* ((specializers (cl--generic-method-specializers method))
(qualifiers (cl--generic-method-qualifiers method))
(uses-cnm (cl--generic-method-uses-cnm method))
(function (cl--generic-method-function method))
(args (help-function-arglist function 'names))
(docstring (documentation function))
(qual-string
(if (null qualifiers) ""
(cl-assert (consp qualifiers))
(let ((s (prin1-to-string qualifiers)))
(concat (substring s 1 -1) " "))))
(doconly (if docstring
(let ((split (help-split-fundoc docstring nil)))
(if split (cdr split) docstring))))
(combined-args ()))
(if uses-cnm (setq args (cdr args)))
(dolist (specializer specializers)
(let ((arg (if (eq '&rest (car args))
(intern (format "arg%d" (length combined-args)))
(pop args))))
(push (if (eq specializer t) arg (list arg specializer))
combined-args)))
(setq combined-args (append (nreverse combined-args) args))
(list qual-string combined-args doconly)))