• Stefan Monnier's avatar
    * lisp/emacs-lisp/eieio*.el: Move the function defs to defclass. · 6a67b20d
    Stefan Monnier authored
    * lisp/emacs-lisp/eieio.el (defclass): Move from eieio-defclass all the code
    that creates functions, and most of the sanity checks.
    Mark as obsolete the <class>-child-p function.
    * lisp/emacs-lisp/eieio-core.el (eieio--define-field-accessors): Remove.
    (eieio--class, eieio--object): Use cl-defstruct.
    (eieio--object-num-slots): Define manually.
    (eieio-defclass-autoload): Use eieio--class-make.
    (eieio-defclass-internal): Rename from eieio-defclass.  Move all the
    `(lambda...) definitions and most of the sanity checks to `defclass'.
    Mark as obsolete the <class>-list-p function, the <class> variable and
    the <initarg> variables.  Use pcase-dolist.
    (eieio-defclass): New compatibility function.
    * lisp/emacs-lisp/eieio-opt.el (eieio-build-class-alist)
    (eieio-class-speedbar): Don't use eieio-default-superclass var.
    6a67b20d
eieio-core.el 50.6 KB