File: eieio-compat.el.html
Backward compatibility definition of old EIEIO functions in terms of newer equivalent.
The main elements are the old EIEIO defmethod and defgeneric which are
now implemented on top of cl-generic. The differences we have to
accommodate are:
- EIEIO's :static methods (turned into a new eieio--static specializer).
- EIEIO's support for call-next-method and next-method-p instead of
cl-next-method-p and cl-call-next-method (simple matter of renaming).
- Different errors are signaled.
- EIEIO's defgeneric does not reset the function.
- EIEIO's no-next-method and no-applicable-method can't be aliases of
cl-generic's namesakes since they have different calling conventions,
which means that packages that (defmethod no-next-method ..) don't work.
- EIEIO's call-next-method and next-method-p had dynamic scope whereas
cl-generic's cl-next-method-p and cl-call-next-method are lexically
scoped.
Defined variables (0)
Defined functions (11)
call-next-method | (&rest ARGS) |
defgeneric | (METHOD ARGS &optional DOC-STRING) |
defmethod | (METHOD &rest ARGS) |
eieio--defalias | (NAME BODY) |
eieio--defgeneric-init-form | (METHOD DOC-STRING) |
eieio--defmethod | (METHOD KIND ARGCLASS CODE) |
eieio--generic-static-symbol-specializers | (TAG &rest _) |
eieio-defclass | (CNAME SUPERCLASSES SLOTS OPTIONS) |
generic-p | (FNAME) |
no-applicable-method | (OBJECT METHOD &rest ARGS) |
no-next-method | (&rest ARGS) |