aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/ChangeLog
diff options
context:
space:
mode:
authorStefan Monnier2015-03-18 23:02:26 -0400
committerStefan Monnier2015-03-18 23:02:26 -0400
commit50c117fe86d94719807cbe08353c032779b3b910 (patch)
tree9db572083112db33d17d759a245278fa0af7b897 /lisp/ChangeLog
parentf469024eea692a163beb98a824b5cc0a4e8bcda8 (diff)
downloademacs-50c117fe86d94719807cbe08353c032779b3b910.tar.gz
emacs-50c117fe86d94719807cbe08353c032779b3b910.zip
EIEIO: Change class's representation to unify instance & class slots
* lisp/emacs-lisp/eieio-core.el (eieio--class): Change field names and order to match those of cl--class; use cl--slot for both instance slots and class slots. (eieio--object-num-slots): Use cl-struct-slot-info. (eieio--object-class): Rename from eieio--object-class-object. (eieio--object-class-name): Remove. (eieio-defclass-internal): Adjust to new slot representation. Store doc in class rather than in `variable-documentation'. (eieio--perform-slot-validation-for-default): Change API to take a slot object. (eieio--slot-override): New function. (eieio--add-new-slot): Rewrite. (eieio-copy-parents-into-subclass): Rewrite. (eieio--validate-slot-value, eieio--validate-class-slot-value) (eieio-oref-default, eieio-oset-default) (eieio--class-slot-name-index, eieio-set-defaults): Adjust to new slot representation. (eieio--c3-merge-lists): Simplify. (eieio--class/struct-parents): New function. (eieio--class-precedence-bfs): Use it. * lisp/emacs-lisp/eieio.el (with-slots): Use macroexp-let2. (object-class-fast): Change recommend replacement. (eieio-object-class): Rewrite. (slot-exists-p): Adjust to new slot representation. (initialize-instance): Adjust to new slot representation. (object-write): Adjust to new slot representation. * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object): Manually map initargs to slot names. (eieio-persistent-validate/fix-slot-value): Adjust to new slot representation. * lisp/emacs-lisp/eieio-compat.el (eieio--generic-static-symbol-specializers): Extract from eieio--generic-static-symbol-generalizer. (eieio--generic-static-symbol-generalizer): Use it. * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-create) (eieio-object-value-get): Adjust to new slot representation. * lisp/emacs-lisp/eieio-datadebug.el (data-debug/eieio-insert-slots): Declare to silence warnings. (data-debug-insert-object-button): Avoid `object-slots'. (data-debug/eieio-insert-slots): Adjust to new slot representation. * lisp/emacs-lisp/eieio-opt.el (eieio--help-print-slot): New function extracted from eieio-help-class-slots. (eieio-help-class-slots): Use it. Adjust to new slot representation. * test/automated/eieio-test-methodinvoke.el (make-instance): Use new-style `subclass' specializer for a change. * test/automated/eieio-test-persist.el (persist-test-save-and-compare): Adjust to new slot representation. * test/automated/eieio-tests.el (eieio-test-17-virtual-slot): Don't use initarg in `oset'. (eieio-test-32-slot-attribute-override-2): Adjust to new slot representation. * lisp/emacs-lisp/cl-preloaded.el (cl--class): Fix type of `parents'.
Diffstat (limited to 'lisp/ChangeLog')
-rw-r--r--lisp/ChangeLog54
1 files changed, 54 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index e75f81ba75a..7c751f4e8e8 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,57 @@
12015-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * emacs-lisp/eieio.el (with-slots): Use macroexp-let2.
4 (object-class-fast): Change recommend replacement.
5 (eieio-object-class): Rewrite.
6 (slot-exists-p): Adjust to new slot representation.
7 (initialize-instance): Adjust to new slot representation.
8 (object-write): Adjust to new slot representation.
9
10 * emacs-lisp/eieio-opt.el (eieio--help-print-slot): New function
11 extracted from eieio-help-class-slots.
12 (eieio-help-class-slots): Use it. Adjust to new slot representation.
13
14 * emacs-lisp/eieio-datadebug.el (data-debug/eieio-insert-slots):
15 Declare to silence warnings.
16 (data-debug-insert-object-button): Avoid `object-slots'.
17 (data-debug/eieio-insert-slots): Adjust to new slot representation.
18
19 * emacs-lisp/eieio-custom.el (eieio-object-value-create)
20 (eieio-object-value-get): Adjust to new slot representation.
21
22 EIEIO: Change class's representation to unify instance and class slots
23 * emacs-lisp/eieio-core.el (eieio--class): Change field names and order
24 to match those of cl--class; use cl--slot for both instance slots and
25 class slots.
26 (eieio--object-num-slots): Use cl-struct-slot-info.
27 (eieio--object-class): Rename from eieio--object-class-object.
28 (eieio--object-class-name): Remove.
29 (eieio-defclass-internal): Adjust to new slot representation.
30 Store doc in class rather than in `variable-documentation'.
31 (eieio--perform-slot-validation-for-default): Change API to take
32 a slot object.
33 (eieio--slot-override): New function.
34 (eieio--add-new-slot): Rewrite.
35 (eieio-copy-parents-into-subclass): Rewrite.
36 (eieio--validate-slot-value, eieio--validate-class-slot-value)
37 (eieio-oref-default, eieio-oset-default)
38 (eieio--class-slot-name-index, eieio-set-defaults): Adjust to new
39 slot representation.
40 (eieio--c3-merge-lists): Simplify.
41 (eieio--class/struct-parents): New function.
42 (eieio--class-precedence-bfs): Use it.
43
44 * emacs-lisp/eieio-compat.el (eieio--generic-static-symbol-specializers):
45 Extract from eieio--generic-static-symbol-generalizer.
46 (eieio--generic-static-symbol-generalizer): Use it.
47
48 * emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
49 Manually map initargs to slot names.
50 (eieio-persistent-validate/fix-slot-value): Adjust to new
51 slot representation.
52
53 * emacs-lisp/cl-preloaded.el (cl--class): Fix type of `parents'.
54
12015-03-19 Vibhav Pant <vibhavp@gmail.com> 552015-03-19 Vibhav Pant <vibhavp@gmail.com>
2 56
3 * lisp/leim/quail/hangul.el 57 * lisp/leim/quail/hangul.el