diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2015-02-16 01:37:57 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2015-02-16 01:37:57 -0500 |
commit | 6bf61df8ab359f1371ab2e3e278bc8642d65a985 (patch) | |
tree | 024fb64c5f0882fe527fe389e8adaf3341c54b20 /lisp/emacs-lisp/cl-preloaded.el | |
parent | e59feb3c15ca1dfb7a2a7edef21cbdb07d6ea183 (diff) | |
download | emacs-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.el | 4 |
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))) |