• Stefan Monnier's avatar
    EIEIO: Simplify help hyperlinks; Try and reduce hardcoding in .elc · e0be229d
    Stefan Monnier authored
    * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Fix regexp.
    
    * lisp/emacs-lisp/eieio-core.el (eieio--check-type): Remove.
    Use cl-check-type everywhere instead.
    (eieio-class-object): Remove, use find-class instead when needed.
    (class-p): Don't inline.
    (eieio-object-p): Check more thoroughly, so we don't treat cl-structs,
    such as eieio classes, as objects.  Don't inline.
    (object-p): Mark as obsolete.
    (eieio-defclass-autoload, eieio-defclass-internal, eieio-oref)
    (eieio--generic-tagcode): Avoid `class-p'.
    (eieio-make-class-predicate, eieio-make-child-predicate): New functions.
    (eieio-defclass-internal): Use current-load-list rather than
    `class-location'.
    
    * lisp/emacs-lisp/eieio-opt.el (eieio-help-class, eieio-help-constructor):
    Use find-lisp-object-file-name, help-fns-short-filename and new calling
    convention for eieio-class-def.
    (eieio-build-class-list): Remove function, unused.
    (eieio-method-def): Remove button type, unused.
    (eieio-class-def): Inherit from help-function-def.
    (eieio--defclass-regexp): New constant.
    (find-function-regexp-alist): Use it.
    (eieio--specializers-apply-to-class-p): Handle eieio--static as well.
    (eieio-help-find-method-definition, eieio-help-find-class-definition):
    Remove functions.
    
    * lisp/emacs-lisp/eieio.el (defclass): Use new eieio-make-class-predicate
    and eieio-make-child-predicate.
    (eieio-class-parents): Use eieio--class-object.
    (slot-boundp, find-class, eieio-override-prin1): Avoid class-p.
    (slot-exists-p): Use find-class.
    
    * test/automated/eieio-tests.el (eieio-test-23-inheritance-check): Simplify.
    e0be229d
ChangeLog 893 KB