/[cmucl]/src/code/macros.lisp
ViewVC logotype

Diff of /src/code/macros.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.35 by ram, Tue Sep 1 17:41:52 1992 UTC revision 1.35.1.1 by ram, Thu Feb 4 22:35:38 1993 UTC
# Line 166  Line 166 
166  (defun %deftype (name expander &optional doc)  (defun %deftype (name expander &optional doc)
167    (ecase (info type kind name)    (ecase (info type kind name)
168      (:primitive      (:primitive
169       (error "Illegal to redefine standard type: ~S." name))       (when *type-system-initialized*
170           (error "Illegal to redefine standard type: ~S." name)))
171        #+ns-boot
172      (:structure      (:structure
173       (warn "Redefining structure type ~S with DEFTYPE." name)       (warn "Redefining structure type ~S with DEFTYPE." name)
174       (c::undefine-structure (info type structure-info name)))       (c::undefine-structure (info type structure-info name))
175      ((nil :defined)))       (setf (info type kind name) :defined))
176    (setf (info type kind name) :defined)      (:instance
177         (warn "Redefining class ~S to be a DEFTYPE." name)
178         (undefine-structure (layout-info (class-layout (info type class name))))
179         (setf (info type class name) nil)
180         (setf (info type compiler-layout name) nil)
181         (setf (info type kind name) :defined))
182        (:defined)
183        ((nil)
184         (setf (info type kind name) :defined)))
185    
186    (setf (info type expander name) expander)    (setf (info type expander name) expander)
187    (when doc    (when doc
188      (setf (documentation name 'type) doc))      (setf (documentation name 'type) doc))

Legend:
Removed from v.1.35  
changed lines
  Added in v.1.35.1.1

  ViewVC Help
Powered by ViewVC 1.1.5