SA
Size: a a a
SA
AE
AE
AE
AE
LL
AE
AE
SA
SA
SA
SA
SA
SA
(defmacro %with-dot-slots (slots object &body body)
(let ((newnames (loop :for slot :in slots
:collect (intern (format nil "~s.~s" object slot)))))
`(with-slots ,(loop :for newname :in newnames
:for oldname :in slots
:collect (list newname oldname)) ,object
,@body)))
(defmacro with-dot-slots (slots objects &body body)
(if objects
`(%with-dot-slots ,slots ,(car objects)
(with-dot-slots ,slots ,(cdr objects) ,@body))
`(progn ,@body)))
SA
a
SA
SA
SA
SA