Skip to content
Snippets Groups Projects
Commit 9cd4be5d authored by ram's avatar ram
Browse files

Changed DEFTYPE to expand into %DEFTYPE, and made %DEFTYPE call

%NOTE-TYPE-DEFINED.
parent 5c3b9f20
No related branches found
No related tags found
No related merge requests found
...@@ -189,12 +189,18 @@ ...@@ -189,12 +189,18 @@
:error-string 'deftype-error-string :error-string 'deftype-error-string
) )
`(eval-when (compile load eval) `(eval-when (compile load eval)
(setf (info type kind ',name) :defined) (%deftype ',name
(setf (info type expander ',name) #'(lambda (,whole) ,@local-decs (block ,name ,body))
#'(lambda (,whole) ,@local-decs (block ,name ,body))) ,@(when doc `(,doc)))))))
,@(when doc ;;;
`((setf (documentation ',name 'type) ,doc))) (defun %deftype (name expander &optional doc)
',name)))) (setf (info type kind name) :defined)
(setf (info type expander name) expander)
(when doc
(setf (documentation name 'type) doc))
(c::%note-type-defined name)
name)
;;; And so is DEFINE-SETF-METHOD. ;;; And so is DEFINE-SETF-METHOD.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment