diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2014-12-29 12:11:09 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2014-12-29 12:11:09 -0500 |
commit | 232823a1f163cebeafdab20ea2eb3f2da9645185 (patch) | |
tree | 59df22737fb162918c05c533ee9b19548a6b21b3 /lisp/emacs-lisp/rx.el | |
parent | ee93d7ad4291a0946efe3197481cfbeff92f29b8 (diff) | |
download | emacs-232823a1f163cebeafdab20ea2eb3f2da9645185.tar.gz emacs-232823a1f163cebeafdab20ea2eb3f2da9645185.tar.bz2 emacs-232823a1f163cebeafdab20ea2eb3f2da9645185.zip |
lisp/emacs-lisp/eieio*.el: Reduce object header to 1 slot
* lisp/emacs-lisp/eieio-core.el (eieio--with-scoped-class): Use let-binding.
(object): Remove first (constant) slot; rename second to `class-tag'.
(eieio--object-class-object, eieio--object-class-name): New funs
to replace eieio--object-class.
(eieio--class-object, eieio--class-p): New functions.
(same-class-fast-p): Make it a defsubst, change its implementation
to check the class objects rather than their names.
(eieio-object-p): Rewrite.
(eieio-defclass): Adjust the object initialization according to the new
object layout.
(eieio--scoped-class): Declare it returns a class object (not a class
name any more). Adjust calls accordingly (along with calls to
eieio--with-scoped-class).
(eieio--slot-name-index): Rename from eieio-slot-name-index and change
its class arg to be a class object. Adjust callers accordingly.
(eieio-slot-originating-class-p): Make its start-class arg a class
object. Adjust all callers.
(eieio--initarg-to-attribute): Rename from eieio-initarg-to-attribute.
Make its `class' arg a class object. Adjust all callers.
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
Use eieio--slot-name-index rather than eieio-slot-name-index.
* lisp/emacs-lisp/eieio.el (child-of-class-p): Make it accept class objects
additionally to class names.
* test/automated/eieio-test-methodinvoke.el (eieio-test-method-store):
Adjust to new semantics of eieio--scoped-class.
(eieio-test-match): Improve error feedback.
Diffstat (limited to 'lisp/emacs-lisp/rx.el')
0 files changed, 0 insertions, 0 deletions