emacs/lisp/emacs-lisp
Stefan Monnier cb4db86319 * 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.
2015-01-04 23:11:37 -05:00
..
advice.el * lisp/emacs-lisp/advice.el (ad-add-advice, defadvice): Doc fix 2014-03-10 14:16:13 -04:00
autoload.el New macro `define-inline'. 2014-12-01 09:45:15 -05:00
avl-tree.el * lisp/emacs-lisp/avl-tree.el: Use lexical-binding and cl-lib. 2014-12-08 14:49:17 -05:00
backquote.el * lisp/emacs-lisp/backquote.el (backquote-process): Optimize away the ,' case. 2014-11-15 23:59:50 -05:00
benchmark.el Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
bindat.el Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
byte-opt.el Merge from emacs-24; up to 2014-05-29T17:16:00Z!dmantipov@yandex.ru 2014-06-01 17:18:22 -07:00
byte-run.el byte-run.el (function-put): Match argument names to docstring (bug#19118). 2014-11-25 13:18:40 +01:00
bytecomp.el Spelling fixes 2014-12-13 23:41:33 -08:00
cconv.el Spelling fixes 2014-12-13 23:41:33 -08:00
chart.el Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
check-declare.el Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
checkdoc.el Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
cl-extra.el New macro macroexp-let2* 2014-11-24 23:01:05 +08:00
cl-indent.el Tweak regex from last change 2014-04-09 08:33:43 -07:00
cl-lib.el New macro macroexp-let2* 2014-11-24 23:01:05 +08:00
cl-macs.el New macro macroexp-let2* 2014-11-24 23:01:05 +08:00
cl-seq.el * lisp/emacs-lisp/cl-macs.el (cl-struct-slot-offset): Mark as pure. 2014-04-21 23:18:15 -04:00
cl.el Require gv early to break eager macro-expansion cycles 2014-04-23 17:28:47 -07:00
copyright.el Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
crm.el Some crm.el doc 2014-02-26 23:42:57 -08:00
debug.el Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
derived.el Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
disass.el Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
easy-mmode.el * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Use mode function 2014-08-29 22:28:19 +02:00
easymenu.el Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
edebug.el * lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Fix compiler-macro 2014-11-03 17:48:30 -05:00
eieio-base.el * lisp/emacs-lisp/eieio*.el: Use class objects in `parent' field. 2015-01-04 23:11:37 -05:00
eieio-core.el * lisp/emacs-lisp/eieio*.el: Use class objects in `parent' field. 2015-01-04 23:11:37 -05:00
eieio-custom.el * lisp/emacs-lisp/eieio*.el: Use class objects in `parent' field. 2015-01-04 23:11:37 -05:00
eieio-datadebug.el * lisp/emacs-lisp/eieio*.el: Use class objects in `parent' field. 2015-01-04 23:11:37 -05:00
eieio-opt.el * lisp/emacs-lisp/eieio*.el: Use class objects in `parent' field. 2015-01-04 23:11:37 -05:00
eieio-speedbar.el * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Rename from class-v. 2014-12-22 15:46:16 -05:00
eieio.el * lisp/emacs-lisp/eieio*.el: Use class objects in `parent' field. 2015-01-04 23:11:37 -05:00
eldoc.el * lisp/emacs-lisp/eldoc.el (eldoc-documentation-function): Change default. 2014-12-10 21:56:33 -05:00
elint.el * lisp/abbrev.el (define-abbrev): Beware new meaning of fboundp. 2014-01-06 18:34:05 -05:00
elp.el Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
ert-x.el Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
ert.el Simplify and parallize test/automated Makefile 2014-06-25 22:47:10 -07:00
ewoc.el Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
find-func.el * find-func.el (find-function-C-source-directory): Use file-accessible-directory-p 2014-06-25 23:45:10 -07:00
float-sup.el Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
generic.el Spelling fixes. 2014-01-11 21:29:11 -08:00
gv.el * lisp/emacs-lisp/macroexp.el (macroexpand-1): New function. 2014-10-31 17:35:35 -04:00
helper.el Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
inline.el * lisp/emacs-lisp/inline.el: Cosmetic and minor fixes. 2014-12-03 13:51:36 -05:00
lisp-mnt.el * lisp/emacs-lisp/lisp-mnt.el: Comments. 2014-02-10 00:36:27 -08:00
lisp-mode.el New macro define-advice 2014-11-18 23:57:01 +08:00
lisp.el * lisp/emacs-lisp/lisp.el (lisp--local-variables-1): Handle `quote'. 2014-10-14 22:00:20 -04:00
macroexp.el New macro macroexp-let2* 2014-11-24 23:01:05 +08:00
map-ynp.el Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
nadvice.el New macro define-advice 2014-11-18 23:57:01 +08:00
package-x.el lisp/emacs-lisp/package-x.el: Follow-up to change in package.el. 2014-03-27 01:20:50 +01:00
package.el Fix the `with-demoted-errors' calls 2014-12-18 15:24:39 -05:00
pcase.el * lisp/emacs-lisp/pcase.el (pcase--split-match, pcase--app-subst-match): 2014-09-27 00:24:06 -04:00
pp.el * lisp/emacs-lisp/pp.el (pp-macroexpand-expression): Use macroexpand-1. 2014-11-02 01:46:04 -04:00
re-builder.el Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
regexp-opt.el * lisp/minibuffer.el (completion--sreverse): Remove. 2014-05-23 11:54:44 -04:00
regi.el Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
ring.el Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
rx.el Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
seq.el * lisp/emacs-lisp/seq.el: New file. 2014-12-16 18:42:30 -05:00
shadow.el * lisp/emacs-lisp/shadow.el (load-path-shadows-find): Ignore dir-locals. 2014-03-05 21:01:02 -05:00
smie.el * emacs-lisp/smie.el (smie-config--guess-1): Split from smie-config--guess. 2014-07-20 21:58:43 -04:00
subr-x.el Rename 24.5 to 25.1 2014-09-29 14:14:08 -04:00
syntax.el Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
tabulated-list.el Merge from emacs-24; up to 2014-07-27T09:41:59Z!ttn@gnu.org 2014-10-14 19:42:58 -07:00
tcover-ses.el Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
tcover-unsafep.el Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
testcover.el Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
timer.el Improve time stamp handling, and be more consistent about it. 2014-11-16 20:41:22 -08:00
tq.el Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
trace.el Revert previous accidental commit 2014-11-04 21:08:12 -08:00
unsafep.el Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
warnings.el Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00