emacs/lisp/emacs-lisp
Stefan Monnier 232823a1f1 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.
2014-12-29 12:11:09 -05:00
..
advice.el
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
bindat.el
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
check-declare.el
checkdoc.el
cl-extra.el New macro macroexp-let2* 2014-11-24 23:01:05 +08:00
cl-indent.el
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
cl.el Require gv early to break eager macro-expansion cycles 2014-04-23 17:28:47 -07:00
copyright.el
crm.el
debug.el
derived.el
disass.el
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
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: Reduce object header to 1 slot 2014-12-29 12:11:09 -05:00
eieio-core.el lisp/emacs-lisp/eieio*.el: Reduce object header to 1 slot 2014-12-29 12:11:09 -05:00
eieio-custom.el lisp/emacs-lisp/eieio*.el: Reduce object header to 1 slot 2014-12-29 12:11:09 -05:00
eieio-datadebug.el * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Rename from class-v. 2014-12-22 15:46:16 -05:00
eieio-opt.el * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Rename from class-v. 2014-12-22 15:46:16 -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: Reduce object header to 1 slot 2014-12-29 12:11:09 -05:00
eldoc.el * lisp/emacs-lisp/eldoc.el (eldoc-documentation-function): Change default. 2014-12-10 21:56:33 -05:00
elint.el
elp.el
ert-x.el
ert.el Simplify and parallize test/automated Makefile 2014-06-25 22:47:10 -07:00
ewoc.el
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
generic.el
gv.el * lisp/emacs-lisp/macroexp.el (macroexpand-1): New function. 2014-10-31 17:35:35 -04:00
helper.el
inline.el * lisp/emacs-lisp/inline.el: Cosmetic and minor fixes. 2014-12-03 13:51:36 -05:00
lisp-mnt.el
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
nadvice.el New macro define-advice 2014-11-18 23:57:01 +08:00
package-x.el
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
regexp-opt.el * lisp/minibuffer.el (completion--sreverse): Remove. 2014-05-23 11:54:44 -04:00
regi.el
ring.el
rx.el
seq.el * lisp/emacs-lisp/seq.el: New file. 2014-12-16 18:42:30 -05:00
shadow.el
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
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
tcover-unsafep.el
testcover.el
timer.el Improve time stamp handling, and be more consistent about it. 2014-11-16 20:41:22 -08:00
tq.el
trace.el Revert previous accidental commit 2014-11-04 21:08:12 -08:00
unsafep.el
warnings.el