* lisp/emacs-lisp/cl-generic.el (cl--generic-method): New struct.
commita9a3d429e6e53e2be0b20e84f9809dba1d03e52d
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 26 Jan 2015 16:43:06 +0000 (26 11:43 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 26 Jan 2015 16:43:06 +0000 (26 11:43 -0500)
tree7a524468a14403d10d8a2eace08b803110447b7a
parent4cdde9196fb4fafb00b0c51b908fd605274147bd
* lisp/emacs-lisp/cl-generic.el (cl--generic-method): New struct.

(cl--generic): The method-table is now a (list-of cl--generic-method).
(cl--generic-member-method): New function.
(cl-generic-define-method): Use it.
(cl--generic-build-combined-method, cl--generic-cache-miss):
Adapt to new method-table.
(cl--generic-no-next-method-function): Add `method' argument.
(cl-generic-call-method): Adapt to new method representation.
(cl--generic-cnm-sample, cl--generic-nnm-sample): Adjust.
(cl-find-method, cl-method-qualifiers): New functions.
(cl--generic-method-info): Adapt to new method representation.
Return a string for the qualifiers.
(cl--generic-describe):
* lisp/emacs-lisp/eieio-opt.el (eieio-help-class): Adjust accordingly.
(eieio-all-generic-functions, eieio-method-documentation):
Adjust to new method representation.

* lisp/emacs-lisp/eieio-compat.el (eieio--defmethod): Use cl-find-method.

* test/automated/cl-generic-tests.el: Try and make sure cl-lib is not
required at run-time.
lisp/ChangeLog
lisp/emacs-lisp/cl-generic.el
lisp/emacs-lisp/eieio-compat.el
lisp/emacs-lisp/eieio-opt.el
test/ChangeLog
test/automated/cl-generic-tests.el