aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/ChangeLog
diff options
context:
space:
mode:
authorStefan Monnier2014-12-22 22:05:46 -0500
committerStefan Monnier2014-12-22 22:05:46 -0500
commitee93d7ad4291a0946efe3197481cfbeff92f29b8 (patch)
tree4ff0ca7149c5bead965c4e3e49d104af1cf42e1c /lisp/ChangeLog
parentd4a12e7a9a46bbff2f9c4d59ecc284621634a2e8 (diff)
downloademacs-ee93d7ad4291a0946efe3197481cfbeff92f29b8.tar.gz
emacs-ee93d7ad4291a0946efe3197481cfbeff92f29b8.zip
* lisp/emacs-lisp/eieio*.el: Remove "name" field of objects
* lisp/emacs-lisp/eieio-base.el (clone) <eieio-instance-inheritor>: Use call-next-method. (eieio-constructor): Rename from `constructor'. (eieio-persistent-convert-list-to-object): Drop objname. (eieio-persistent-validate/fix-slot-value): Don't hardcode eieio--object-num-slots. (eieio-named): Use a normal slot. (slot-missing) <eieio-named>: Remove. (eieio-object-name-string, eieio-object-set-name-string, clone) <eieio-named>: New methods. * lisp/emacs-lisp/eieio-core.el (eieio--defalias): Follow aliases. (eieio--object): Remove `name' field. (eieio-defclass): Adjust to new convention where constructors don't take an "object name" any more. (eieio--defgeneric-init-form, eieio--defmethod): Follow aliases. (eieio-validate-slot-value, eieio-oset-default) (eieio-slot-name-index): Don't hardcode eieio--object-num-slots. (eieio-generic-call-primary-only): Simplify. * lisp/emacs-lisp/eieio-custom.el (eieio-widget-test): Remove dummy arg. (eieio-object-value-get): Use eieio-object-set-name-string. * lisp/emacs-lisp/eieio.el (make-instance): Simplify by not adding an object name argument. (eieio-object-name): Use eieio-object-name-string. (eieio--object-names): New const. (eieio-object-name-string, eieio-object-set-name-string): Re-implement using a hashtable rather than a built-in slot. (eieio-constructor): Rename from `constructor'. Remove `newname' arg. (clone): Don't mess with the object's "name". * test/automated/eieio-test-persist.el (persistent-with-objs-slot-subs): The type FOO-child is the same as FOO. * test/automated/eieio-tests.el: Remove dummy object names.
Diffstat (limited to 'lisp/ChangeLog')
-rw-r--r--lisp/ChangeLog34
1 files changed, 34 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 739d442c55b..1a0383814cd 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,37 @@
12014-12-23 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * emacs-lisp/eieio.el (make-instance): Simplify by not adding an object
4 name argument.
5 (eieio-object-name): Use eieio-object-name-string.
6 (eieio--object-names): New const.
7 (eieio-object-name-string, eieio-object-set-name-string): Re-implement
8 using a hashtable rather than a built-in slot.
9 (eieio-constructor): Rename from `constructor'. Remove `newname' arg.
10 (clone): Don't mess with the object's "name".
11
12 * emacs-lisp/eieio-custom.el (eieio-widget-test): Remove dummy arg.
13 (eieio-object-value-get): Use eieio-object-set-name-string.
14
15 * emacs-lisp/eieio-core.el (eieio--defalias): Follow aliases.
16 (eieio--object): Remove `name' field.
17 (eieio-defclass): Adjust to new convention where constructors don't
18 take an "object name" any more.
19 (eieio--defgeneric-init-form, eieio--defmethod): Follow aliases.
20 (eieio-validate-slot-value, eieio-oset-default)
21 (eieio-slot-name-index): Don't hardcode eieio--object-num-slots.
22 (eieio-generic-call-primary-only): Simplify.
23
24 * emacs-lisp/eieio-base.el (clone) <eieio-instance-inheritor>:
25 Use call-next-method.
26 (eieio-constructor): Rename from `constructor'.
27 (eieio-persistent-convert-list-to-object): Drop objname.
28 (eieio-persistent-validate/fix-slot-value): Don't hardcode
29 eieio--object-num-slots.
30 (eieio-named): Use a normal slot.
31 (slot-missing) <eieio-named>: Remove.
32 (eieio-object-name-string, eieio-object-set-name-string, clone)
33 <eieio-named>: New methods.
34
12014-12-22 Stefan Monnier <monnier@iro.umontreal.ca> 352014-12-22 Stefan Monnier <monnier@iro.umontreal.ca>
2 36
3 * emacs-lisp/eieio-core.el (eieio--class-v): Rename from class-v. 37 * emacs-lisp/eieio-core.el (eieio--class-v): Rename from class-v.