From 11e0f2f0dfb0a833c9158d11fcbe46b1926003a5 Mon Sep 17 00:00:00 2001 From: ~keith Date: Mon, 9 May 2022 17:06:11 +0000 Subject: [PATCH] Use standard CLOS functions in actor load forms (SBCL internal functions no longer exist) --- wh-engine/serialization.lisp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/wh-engine/serialization.lisp b/wh-engine/serialization.lisp index 0e52b19..63d59e3 100644 --- a/wh-engine/serialization.lisp +++ b/wh-engine/serialization.lisp @@ -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)