Function: cl-generic-ensure-function
cl-generic-ensure-function is a byte-compiled function defined in
cl-generic.el.gz.
Signature
(cl-generic-ensure-function NAME &optional NOERROR)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-generic.el.gz
(defun cl-generic-ensure-function (name &optional noerror)
(let (generic
(origname name))
(while (and (null (setq generic (cl--generic name)))
(fboundp name)
(null noerror)
(symbolp (symbol-function name)))
(setq name (symbol-function name)))
(unless (or (not (fboundp name))
(autoloadp (symbol-function name))
(and (functionp name) generic)
noerror)
(error "%s is already defined as something else than a generic function"
origname))
(if generic
(cl-assert (eq name (cl--generic-name generic)))
(setf (cl--generic name) (setq generic (cl--generic-make name))))
generic))