diff options
| author | Stefan Monnier | 2015-01-04 23:11:37 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2015-01-04 23:11:37 -0500 |
| commit | cb4db863192aed6c4d0b28e6490f08d5518ff3e7 (patch) | |
| tree | 5d8e5dd834b7a3991e61631fcfcc209a7a25416e /lisp/ChangeLog | |
| parent | 232823a1f163cebeafdab20ea2eb3f2da9645185 (diff) | |
| download | emacs-cb4db863192aed6c4d0b28e6490f08d5518ff3e7.tar.gz emacs-cb4db863192aed6c4d0b28e6490f08d5518ff3e7.zip | |
* lisp/emacs-lisp/eieio*.el: Use class objects in `parent' field.
* lisp/emacs-lisp/eieio-core.el (eieio-class-object): New function.
(eieio-class-parents-fast): Remove macro.
(eieio--class-option-assoc): Rename from class-option-assoc.
Update all callers.
(eieio--class-option): Rename from class-option. Change `class' arg to
be a class object. Update all callers.
(eieio--class-method-invocation-order): Rename from
class-method-invocation-order. Change `class' arg to be a class
object. Update all callers.
(eieio-defclass-autoload, eieio-defclass): Set the `parent' field to
a list of class objects rather than names.
(eieio-defclass): Remove redundant quotes. Use `eieio-oref-default'
for accessors to class allocated slots.
(eieio--perform-slot-validation-for-default): Rename from
eieio-perform-slot-validation-for-default. Update all callers.
(eieio--add-new-slot): Rename from eieio-add-new-slot.
Update all callers. Use push.
(eieio-copy-parents-into-subclass): Adjust to new content of
`parent' field. Use dolist.
(eieio-oref): Remove support for providing a class rather than
an object.
(eieio-oref-default): Prefer class objects over class names.
(eieio--slot-originating-class-p): Rename from
eieio-slot-originating-class-p. Update all callers. Use `or'.
(eieio--slot-name-index): Turn check into assertion.
(eieio--class-slot-name-index): Rename from
eieio-class-slot-name-index. Change `class' arg to be a class object.
Update all callers.
(eieio-attribute-to-initarg): Move to eieio-test-persist.el.
(eieio--c3-candidate): Rename from eieio-c3-candidate.
Update all callers.
(eieio--c3-merge-lists): Rename from eieio-c3-merge-lists.
Update all callers.
(eieio--class-precedence-c3): Rename from eieio-class-precedence-c3.
Update all callers.
(eieio--class-precedence-dfs): Rename from eieio-class-precedence-dfs.
Update all callers.
(eieio--class-precedence-bfs): Rename from eieio-class-precedence-bfs.
Update all callers. Adjust to new `parent' content.
(eieio--class-precedence-list): Rename from -class-precedence-list.
Update all callers.
(eieio-generic-call): Use autoloadp and autoload-do-load.
Slight simplification.
(eieio-generic-call, eieio-generic-call-primary-only): Adjust to new
return value of `eieio-generic-form'.
(eieiomt-add): Index the hashtable with class objects rather than
class names.
(eieio-generic-form): Accept class objects as well.
* lisp/emacs-lisp/eieio.el (eieio-class-parents): Accept class objects.
(eieio--class-slot-initarg): Rename from class-slot-initarg.
Change `class' arg to be a class object. Update all callers.
(call-next-method): Adjust to new return value of `eieio-generic-form'.
(eieio-default-superclass): Set var to the class object.
(eieio-edebug-prin1-to-string): Fix recursive call for lists.
Change print behavior to affect class objects rather than
class symbols.
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
Adjust to new convention for eieio-persistent-validate/fix-slot-value.
(eieio-persistent-validate/fix-slot-value):
Change `class' arg to be a class object. Update all callers.
* test/automated/eieio-test-persist.el (eieio--attribute-to-initarg):
Move from eieio-core.el. Rename from eieio-attribute-to-initarg.
Change arg to be a class object. Update all callers.
* test/automated/eieio-tests.el (eieio-test-04-static-method)
(eieio-test-05-static-method-2): Use oref-default to access
class slots.
(eieio-test-23-inheritance-check): Don't assume that
eieio-class-parents returns class names, or that a class can only have
a single name.
Diffstat (limited to 'lisp/ChangeLog')
| -rw-r--r-- | lisp/ChangeLog | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 209c833fbe3..971253b3014 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,68 @@ | |||
| 1 | 2015-01-05 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * emacs-lisp/eieio.el (eieio-class-parents): Accept class objects. | ||
| 4 | (eieio--class-slot-initarg): Rename from class-slot-initarg. | ||
| 5 | Change `class' arg to be a class object. Update all callers. | ||
| 6 | (call-next-method): Adjust to new return value of `eieio-generic-form'. | ||
| 7 | (eieio-default-superclass): Set var to the class object. | ||
| 8 | (eieio-edebug-prin1-to-string): Fix recursive call for lists. | ||
| 9 | Change print behavior to affect class objects rather than | ||
| 10 | class symbols. | ||
| 11 | |||
| 12 | * emacs-lisp/eieio-core.el (eieio-class-object): New function. | ||
| 13 | (eieio-class-parents-fast): Remove macro. | ||
| 14 | (eieio--class-option-assoc): Rename from class-option-assoc. | ||
| 15 | Update all callers. | ||
| 16 | (eieio--class-option): Rename from class-option. Change `class' arg to | ||
| 17 | be a class object. Update all callers. | ||
| 18 | (eieio--class-method-invocation-order): Rename from | ||
| 19 | class-method-invocation-order. Change `class' arg to be a class | ||
| 20 | object. Update all callers. | ||
| 21 | (eieio-defclass-autoload, eieio-defclass): Set the `parent' field to | ||
| 22 | a list of class objects rather than names. | ||
| 23 | (eieio-defclass): Remove redundant quotes. Use `eieio-oref-default' | ||
| 24 | for accessors to class allocated slots. | ||
| 25 | (eieio--perform-slot-validation-for-default): Rename from | ||
| 26 | eieio-perform-slot-validation-for-default. Update all callers. | ||
| 27 | (eieio--add-new-slot): Rename from eieio-add-new-slot. | ||
| 28 | Update all callers. Use push. | ||
| 29 | (eieio-copy-parents-into-subclass): Adjust to new content of | ||
| 30 | `parent' field. Use dolist. | ||
| 31 | (eieio-oref): Remove support for providing a class rather than | ||
| 32 | an object. | ||
| 33 | (eieio-oref-default): Prefer class objects over class names. | ||
| 34 | (eieio--slot-originating-class-p): Rename from | ||
| 35 | eieio-slot-originating-class-p. Update all callers. Use `or'. | ||
| 36 | (eieio--slot-name-index): Turn check into assertion. | ||
| 37 | (eieio--class-slot-name-index): Rename from | ||
| 38 | eieio-class-slot-name-index. Change `class' arg to be a class object. | ||
| 39 | Update all callers. | ||
| 40 | (eieio-attribute-to-initarg): Move to eieio-test-persist.el. | ||
| 41 | (eieio--c3-candidate): Rename from eieio-c3-candidate. | ||
| 42 | Update all callers. | ||
| 43 | (eieio--c3-merge-lists): Rename from eieio-c3-merge-lists. | ||
| 44 | Update all callers. | ||
| 45 | (eieio--class-precedence-c3): Rename from eieio-class-precedence-c3. | ||
| 46 | Update all callers. | ||
| 47 | (eieio--class-precedence-dfs): Rename from eieio-class-precedence-dfs. | ||
| 48 | Update all callers. | ||
| 49 | (eieio--class-precedence-bfs): Rename from eieio-class-precedence-bfs. | ||
| 50 | Update all callers. Adjust to new `parent' content. | ||
| 51 | (eieio--class-precedence-list): Rename from -class-precedence-list. | ||
| 52 | Update all callers. | ||
| 53 | (eieio-generic-call): Use autoloadp and autoload-do-load. | ||
| 54 | Slight simplification. | ||
| 55 | (eieio-generic-call, eieio-generic-call-primary-only): Adjust to new | ||
| 56 | return value of `eieio-generic-form'. | ||
| 57 | (eieiomt-add): Index the hashtable with class objects rather than | ||
| 58 | class names. | ||
| 59 | (eieio-generic-form): Accept class objects as well. | ||
| 60 | |||
| 61 | * emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object): | ||
| 62 | Adjust to new convention for eieio-persistent-validate/fix-slot-value. | ||
| 63 | (eieio-persistent-validate/fix-slot-value): | ||
| 64 | Change `class' arg to be a class object. Update all callers. | ||
| 65 | |||
| 1 | 2014-12-29 Stefan Monnier <monnier@iro.umontreal.ca> | 66 | 2014-12-29 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 67 | ||
| 3 | * emacs-lisp/eieio.el (child-of-class-p): Make it accept class objects | 68 | * emacs-lisp/eieio.el (child-of-class-p): Make it accept class objects |