• Stefan Monnier's avatar
    lisp/emacs-lisp/eieio-core.el (eieio-backward-compatibility): New var. · 1599688e
    Stefan Monnier authored
    * lisp/cedet/ede/speedbar.el (ede-speedbar-compile-line)
    (ede-speedbar-get-top-project-for-line):
    * lisp/cedet/ede.el (ede-buffer-belongs-to-target-p)
    (ede-buffer-belongs-to-project-p, ede-build-forms-menu)
    (ede-add-project-to-global-list):
    * lisp/cedet/semantic/db-typecache.el (semanticdb-get-typecache):
    * lisp/cedet/semantic/db-file.el (semanticdb-load-database):
    * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
    * lisp/cedet/semantic/db-ebrowse.el (semanticdb-ebrowse-load-helper):
    * lisp/cedet/ede/project-am.el (project-am-preferred-target-type):
    * lisp/cedet/ede/proj.el (ede-proj-load):
    * lisp/cedet/ede/custom.el (ede-customize-current-target, ede-customize-target):
    * lisp/cedet/semantic/ede-grammar.el ("semantic grammar"):
    * lisp/cedet/semantic/scope.el (semantic-scope-reset-cache)
    (semantic-calculate-scope):
    * lisp/cedet/srecode/map.el (srecode-map-update-map):
    * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report)
    (srecode-insert-method, srecode-insert-include-lookup)
    (srecode-insert-method):
    * lisp/cedet/srecode/fields.el (srecode-active-template-region):
    * lisp/cedet/srecode/compile.el (srecode-flush-active-templates)
    (srecode-compile-inserter): Don't use <class> as a variable.
    Use `oref-default' for class slots.
    
    * lisp/cedet/semantic/grammar.el (semantic-grammar-eldoc-last-data): New var.
    (semantic-grammar-eldoc-get-macro-docstring): Use it instead of
    eldoc-last-data.
    * lisp/cedet/semantic/fw.el (semantic-exit-on-input): Use `declare'.
    (semantic-throw-on-input): Use `with-current-buffer'.
    * lisp/cedet/semantic/db.el (semanticdb-abstract-table-list): Define if not
    pre-defined.
    * lisp/cedet/semantic/db-find.el (semanticdb-find-tags-collector):
    Use save-current-buffer.
    (semanticdb-find-tags-collector): Don't use <class> as a variable.
    * lisp/cedet/semantic/complete.el (semantic-complete-active-default)
    (semantic-complete-current-matched-tag): Declare.
    (semantic-complete-inline-custom-type): Don't use <class> as a variable.
    * lisp/cedet/semantic/bovine/make.el (semantic-analyze-possible-completions):
    Use with-current-buffer.
    * lisp/cedet/semantic.el (semantic-parser-warnings): Declare.
    * lisp/cedet/ede/base.el (ede-target-list): Define if not pre-defined.
    (ede-with-projectfile): Prefer find-file-noselect over
    save-window-excursion.
    
    * lisp/emacs-lisp/chart.el (chart-add-sequence, chart-bar-quickie):
    Don't use <class> as a variable.
    
    * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
    Improve error messages.
    (eieio-persistent-slot-type-is-class-p): Handle `list-of' types, as
    well as user-defined types.  Emit errors for legacy types like
    <class>-child and <class>-list, if not eieio-backward-compatibility.
    
    * lisp/emacs-lisp/eieio-core.el (eieio-backward-compatibility): New var.
    (eieio-defclass-autoload): Obey it.
    (eieio--class-object): Improve error behavior.
    (eieio-class-children-fast, same-class-fast-p): Remove.  Inline at
    every use site.
    (eieio--defgeneric-form-primary-only): Rename from
    eieio-defgeneric-form-primary-only; update all callers.
    (eieio--defgeneric-form-primary-only-one): Rename from
    eieio-defgeneric-form-primary-only-one; update all callers.
    (eieio-defgeneric-reset-generic-form)
    (eieio-defgeneric-reset-generic-form-primary-only)
    (eieio-defgeneric-reset-generic-form-primary-only-one): Remove.
    (eieio--method-optimize-primary): New function to replace them.
    (eieio--defmethod, eieio-defmethod): Use it.
    (eieio--perform-slot-validation): Rename from
    eieio-perform-slot-validation; update all callers.
    (eieio--validate-slot-value): Rename from eieio-validate-slot-value.
    Change `class' to be a class object.  Update all callers.
    (eieio--validate-class-slot-value): Rename from
    eieio-validate-class-slot-value.  Change `class' to be a class object.
    Update all callers.
    (eieio-oset-default): Accept class object as well.
    (eieio--generic-call-primary-only): Rename from
    eieio-generic-call-primary-only.  Update all callers.
    
    * lisp/emacs-lisp/eieio-opt.el (eieio-read-generic-p): Remove.
    (eieio-read-generic): Use `generic-p' instead.
    
    * lisp/emacs-lisp/eieio.el (same-class-p): Accept class object as well.
    (call-next-method): Simplify.
    (clone): Obey eieio-backward-compatibility.
    
    * lisp/gnus/registry.el: Don't use <class> as a variable.
    
    * test/automated/eieio-test-methodinvoke.el
    (eieio-test-method-order-list-4):
    Don't use <class> as a variable.
    
    * test/automated/eieio-test-persist.el (persistent-with-objs-list-slot):
    Don't use <class>-list type.
    
    * test/automated/eieio-tests.el: Use cl-lib.  Don't use <class> as a variable.
    Don't use <class>-list types and <class>-list-p predicates.
    1599688e
ChangeLog 837 KB