1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 22:41:06 -08:00
emacs/lisp/emacs-lisp
Stefan Monnier bcebc831bb * lisp/emacs-lisp/eieio*.el: Use hashtables rather than obarrays
* lisp/emacs-lisp/eieio-core.el (class): Rename field symbol-obarray to
symbol-hashtable.  It contains a hashtable instead of an obarray.
(generic-p): Use symbol property `eieio-method-hashtable' instead of
`eieio-method-obarray'.
(generic-primary-only-p, generic-primary-only-one-p):
Slight optimization.
(eieio-defclass-autoload-map): Use a hashtable instead of an obarray.
(eieio-defclass-autoload, eieio-defclass): Adjust/simplify accordingly.
(eieio-class-un-autoload): Use autoload-do-load.
(eieio-defclass): Use dolist, cl-pushnew, cl-callf.
Use new cl-deftype-satisfies.  Adjust to use of hashtables.
Don't hardcode the value of eieio--object-num-slots.
(eieio-defgeneric-form-primary-only-one): Remove `doc-string' arg.
Use a closure rather than a backquoted lambda.
(eieio--defmethod): Adjust call accordingly.  Set doc-string via the
function-documentation property.
(eieio-slot-originating-class-p, eieio-slot-name-index)
(eieiomt--optimizing-hashtable, eieiomt-install, eieiomt-add)
(eieio-generic-form): Adjust to use of hashtables.
(eieiomt--sym-optimize): Rename from eieiomt-sym-optimize; take
additional class argument.
(eieio-generic-call-methodname): Remove, unused.

* lisp/emacs-lisp/eieio-custom.el: Use lexical-binding.
(eieio-object-value-to-abstract): Simplify.

* lisp/emacs-lisp/eieio-datadebug.el: Use lexical-binding.

* lisp/emacs-lisp/eieio-opt.el (eieio-build-class-list): Use cl-mapcan.
(eieio-build-class-alist): Use dolist.
(eieio-all-generic-functions): Adjust to use of hashtables.

* lisp/emacs-lisp/eieio.el (child-of-class-p): Fix case where `class' is
`eieio-default-superclass'.

* test/automated/eieio-test-methodinvoke.el (eieio-test-method-store):
Remove use of eieio-generic-call-methodname.
(eieio-test-method-order-list-3, eieio-test-method-order-list-6)
(eieio-test-method-order-list-7, eieio-test-method-order-list-8):
Adjust the expected result accordingly.

* lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
Prefer \' to $.
2014-12-22 15:13:02 -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
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
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: Use hashtables rather than obarrays 2014-12-22 15:13:02 -05:00
eieio-core.el * lisp/emacs-lisp/eieio*.el: Use hashtables rather than obarrays 2014-12-22 15:13:02 -05:00
eieio-custom.el * lisp/emacs-lisp/eieio*.el: Use hashtables rather than obarrays 2014-12-22 15:13:02 -05:00
eieio-datadebug.el * lisp/emacs-lisp/eieio*.el: Use hashtables rather than obarrays 2014-12-22 15:13:02 -05:00
eieio-opt.el * lisp/emacs-lisp/eieio*.el: Use hashtables rather than obarrays 2014-12-22 15:13:02 -05:00
eieio-speedbar.el
eieio.el * lisp/emacs-lisp/eieio*.el: Use hashtables rather than obarrays 2014-12-22 15:13:02 -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
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