]> code.delx.au - gnu-emacs/commit
* lisp/emacs-lisp/eieio*.el: Align a bit better with CLOS
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 16 Feb 2015 07:22:46 +0000 (02:22 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 16 Feb 2015 07:22:46 +0000 (02:22 -0500)
commitc4e2be4587ec6d0f1367b1bfe220a71360e25bea
treeeb33c5650fe7ad152462f577523f115bb94e061c
parent6bf61df8ab359f1371ab2e3e278bc8642d65a985
* lisp/emacs-lisp/eieio*.el: Align a bit better with CLOS

* lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag): Fix copy&paste
error (semanticdb-project-database => sym).  Avoid eieio--class-public-a
when possible.

* lisp/emacs-lisp/eieio-base.el (make-instance): Add a method here rather
than on eieio-constructor.

* lisp/emacs-lisp/eieio-core.el (eieio--class-print-name): New function.
(eieio-class-name): Make it do what the docstring claims.
(eieio-defclass-internal): Simplify since `prots' isn't used any more.
(eieio--slot-name-index): Simplify accordingly.
(eieio-barf-if-slot-unbound): Pass the class object rather than its
name to `slot-unbound'.

* lisp/emacs-lisp/eieio.el (defclass): Use make-instance rather than
eieio-constructor.
(set-slot-value): Mark as obsolete.
(eieio-object-class-name): Improve call to eieio-class-name.
(eieio-slot-descriptor-name, eieio-class-slots): New functions.
(object-slots): Use it.  Declare obsolete.
(eieio-constructor): Merge it with `make-instance'.
(initialize-instance): Use `dolist'.
(eieio-override-prin1, eieio-edebug-prin1-to-string):
Use eieio--class-print-name.

* test/automated/eieio-test-methodinvoke.el (make-instance): Add methods
here rather than on eieio-constructor.
lisp/ChangeLog
lisp/cedet/ChangeLog
lisp/cedet/semantic/db-el.el
lisp/emacs-lisp/eieio-base.el
lisp/emacs-lisp/eieio-core.el
lisp/emacs-lisp/eieio.el
test/ChangeLog
test/automated/eieio-test-methodinvoke.el