summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/cl-generic.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-generic.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-generic.el')
-rw-r--r--lisp/emacs-lisp/cl-generic.el4
1 files changed, 2 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/cl-generic.el b/lisp/emacs-lisp/cl-generic.el
index c4232863cfc..ccd5bec5685 100644
--- a/lisp/emacs-lisp/cl-generic.el
+++ b/lisp/emacs-lisp/cl-generic.el
@@ -731,7 +731,7 @@ Can only be used from within the lexical body of a primary or around method."
(defun cl--generic-struct-tagcode (type name)
(and (symbolp type)
(get type 'cl-struct-type)
- (or (eq 'vector (car (get type 'cl-struct-type)))
+ (or (null (car (get type 'cl-struct-type)))
(error "Can't dispatch on cl-struct %S: type is %S"
type (car (get type 'cl-struct-type))))
(or (equal '(cl-tag-slot) (car (get type 'cl-struct-slots)))
@@ -761,7 +761,7 @@ Can only be used from within the lexical body of a primary or around method."
(let ((types (list (intern (substring (symbol-name tag) 10)))))
(while (get (car types) 'cl-struct-include)
(push (get (car types) 'cl-struct-include) types))
- (push 'cl-struct types) ;The "parent type" of all cl-structs.
+ (push 'cl-structure-object types) ;The "parent type" of all cl-structs.
(nreverse types))))
;;; Dispatch on "system types".