summaryrefslogtreecommitdiff
path: root/lisp/loadup.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2015-01-27 22:41:31 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2015-01-27 22:41:31 -0500
commit2668ac1aaecfe62c80a4fbdfc27a38e384594d26 (patch)
treef467b3db81d3510c67c01052ca620e6ade7a357d /lisp/loadup.el
parent7f4f16b3ae6fdb59d83cfc01017668f2a564309f (diff)
downloademacs-2668ac1aaecfe62c80a4fbdfc27a38e384594d26.tar.gz
Tighten up the tagcode used for eieio and cl-struct objects
* lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Set the function slot of the tag symbol to :quick-object-witness-check. (eieio-object-p): Use :quick-object-witness-check. (eieio--generic-tagcode): Use cl--generic-struct-tag. * lisp/emacs-lisp/cl-preloaded.el: New file. * lisp/emacs-lisp/cl-macs.el (cl--bind-inits): Remove, unused. (cl--transform-lambda, cl-destructuring-bind): Remove cl--bind-inits. (cl--make-usage-args): Strip away &aux args. (cl-case, cl-typecase, cl--parse-loop-clause): Use macroexp-let2. (cl-the, cl-check-type): Use macroexp-let2 and cl-typep. (cl-defstruct): Use `declare' and cl-struct-define. * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): New function. (cl--generic-struct-tagcode): Use it to tighten the tagcode. * lisp/loadup.el: Load cl-preloaded. * src/lisp.mk (lisp): Add cl-preloaded.
Diffstat (limited to 'lisp/loadup.el')
-rw-r--r--lisp/loadup.el3
1 files changed, 2 insertions, 1 deletions
diff --git a/lisp/loadup.el b/lisp/loadup.el
index 96641c8a268..003b0db4abd 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -145,7 +145,8 @@
(file-error (load "ldefs-boot.el")))
(load "emacs-lisp/nadvice")
-(load "minibuffer")
+(load "emacs-lisp/cl-preloaded")
+(load "minibuffer") ;After loaddefs, for define-minor-mode.
(load "abbrev") ;lisp-mode.el and simple.el use define-abbrev-table.
(load "simple")