summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/cl-preloaded.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2015-02-16 01:37:57 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2015-02-16 01:37:57 -0500
commit6bf61df8ab359f1371ab2e3e278bc8642d65a985 (patch)
tree024fb64c5f0882fe527fe389e8adaf3341c54b20 /lisp/emacs-lisp/cl-preloaded.el
parente59feb3c15ca1dfb7a2a7edef21cbdb07d6ea183 (diff)
downloademacs-6bf61df8ab359f1371ab2e3e278bc8642d65a985.tar.gz
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Keep type=nil by default.
* lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Add sanity checks about relationship between `type', `named', and `slots'. * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tagcode): Adjust to new value of `cl-struct-type' property.
Diffstat (limited to 'lisp/emacs-lisp/cl-preloaded.el')
-rw-r--r--lisp/emacs-lisp/cl-preloaded.el4
1 files changed, 4 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/cl-preloaded.el b/lisp/emacs-lisp/cl-preloaded.el
index 03045de509a..401d34b449e 100644
--- a/lisp/emacs-lisp/cl-preloaded.el
+++ b/lisp/emacs-lisp/cl-preloaded.el
@@ -28,8 +28,12 @@
;;; Code:
+(eval-when-compile (require 'cl-lib))
+
(defun cl-struct-define (name docstring parent type named slots children-sym
tag print-auto)
+ (cl-assert (or type (equal '(cl-tag-slot) (car slots))))
+ (cl-assert (or type (not named)))
(if (boundp children-sym)
(add-to-list children-sym tag)
(set children-sym (list tag)))