Function: cl--generic-build-combined-method
cl--generic-build-combined-method is a byte-compiled function defined
in cl-generic.el.gz.
Signature
(cl--generic-build-combined-method GENERIC METHODS)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-generic.el.gz
(defun cl--generic-build-combined-method (generic methods)
(if (null methods)
;; Special case needed to fix a circularity during bootstrap.
(cl--generic-standard-method-combination generic methods)
(let ((f
(cl--generic-with-memoization
;; FIXME: Since the fields of `generic' are modified, this
;; hash-table won't work right, because the hashes will change!
;; It's not terribly serious, but reduces the effectiveness of
;; the table.
(gethash (cons generic methods)
cl--generic-combined-method-memoization)
(puthash (cons generic methods) :cl--generic--under-construction
cl--generic-combined-method-memoization)
(condition-case nil
(cl-generic-combine-methods generic methods)
;; Special case needed to fix a circularity during bootstrap.
(cl--generic-cyclic-definition
(cl--generic-standard-method-combination generic methods))))))
(if (eq f :cl--generic--under-construction)
(signal 'cl--generic-cyclic-definition
(list (cl--generic-name generic)))
f))))