X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Flow.lisp;h=a825d5c6c427f19b2cc99b70b376ce9b2b80d1dc;hb=8cd045dfd24638b1958f1507f944f249d2d2ccde;hp=2025da8a3355d9c1542d157e83fbefb15e5a93dc;hpb=e3932d9a8cf3b8d2272cf75d1c40173af48747be;p=sbcl.git diff --git a/src/pcl/low.lisp b/src/pcl/low.lisp index 2025da8..a825d5c 100644 --- a/src/pcl/low.lisp +++ b/src/pcl/low.lisp @@ -260,8 +260,6 @@ (when (pcl-instance-p instance) (get-slots instance))) -(defmacro built-in-or-structure-wrapper (x) `(layout-of ,x)) - (defmacro get-wrapper (inst) (once-only ((wrapper `(wrapper-of ,inst))) `(progn @@ -305,11 +303,8 @@ ;;; The definition of STRUCTURE-TYPE-P was moved to early-low.lisp. -(defun get-structure-dd (type) - (layout-info (classoid-layout (find-classoid type)))) - (defun structure-type-included-type-name (type) - (let ((include (dd-include (get-structure-dd type)))) + (let ((include (dd-include (find-defstruct-description type)))) (if (consp include) (car include) include))) @@ -317,8 +312,8 @@ (defun structure-type-slot-description-list (type) (nthcdr (length (let ((include (structure-type-included-type-name type))) (and include - (dd-slots (get-structure-dd include))))) - (dd-slots (get-structure-dd type)))) + (dd-slots (find-defstruct-description include))))) + (dd-slots (find-defstruct-description type)))) (defun structure-slotd-name (slotd) (dsd-name slotd)) @@ -331,7 +326,7 @@ (defun structure-slotd-writer-function (type slotd) (if (dsd-read-only slotd) - (let ((dd (get-structure-dd type))) + (let ((dd (find-defstruct-description type))) (coerce (slot-setter-lambda-form dd slotd) 'function)) (fdefinition `(setf ,(dsd-accessor-name slotd)))))