Use standard CLOS functions in actor load forms (SBCL internal functions no longer exist)
This commit is contained in:
parent
19fb9fb9fb
commit
11e0f2f0df
1 changed files with 5 additions and 5 deletions
|
@ -100,14 +100,14 @@
|
|||
(declare (ignore environment))
|
||||
(values
|
||||
;; cons form
|
||||
`(sb-kernel::new-instance ,(class-name (class-of obj)))
|
||||
`(allocate-instance (find-class ',(class-name (class-of obj))))
|
||||
;; init form
|
||||
(loop for slot in (sb-mop:class-slots (class-of obj))
|
||||
for slot-name = (sb-mop:slot-definition-name slot)
|
||||
collect slot-name into slots
|
||||
collect (make-value-init-form (slot-value obj slot-name))
|
||||
into values
|
||||
finally (return `(sb-pcl::set-slots ,obj ,slots ,@values)))
|
||||
nconc `((slot-value ,obj ',slot-name)
|
||||
,(make-value-init-form (slot-value obj slot-name)))
|
||||
into setfs
|
||||
finally (return `(setf ,@setfs)))
|
||||
))
|
||||
|
||||
(defun make-value-init-form (x)
|
||||
|
|
Loading…
Reference in a new issue