From 57c2978b71910a41f10c0fe305fe41877529f323 Mon Sep 17 00:00:00 2001 From: John Lorentzson Date: Thu, 22 May 2025 12:21:51 +0200 Subject: [PATCH] Adjust reference PRINT-OBJECTs to not error on unbound slots --- wip-duuqnd/user-side-compiler/reference.lisp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/wip-duuqnd/user-side-compiler/reference.lisp b/wip-duuqnd/user-side-compiler/reference.lisp index eb8e42c..6983692 100644 --- a/wip-duuqnd/user-side-compiler/reference.lisp +++ b/wip-duuqnd/user-side-compiler/reference.lisp @@ -13,7 +13,9 @@ (defmethod print-object ((object reference-constant) stream) (print-unreadable-object (object stream :type t) - (format stream "~D" (ref-value object)))) + (format stream "~A" (if (slot-boundp object '%value) + (ref-value object) + "?")))) (defmethod ref= ((a reference-constant) (b reference-constant)) (= (value a) (value b))) @@ -23,4 +25,9 @@ (defmethod print-object ((object reference-variable) stream) (print-unreadable-object (object stream :type t) - (format stream "@~D" (ref-index object)))) + (when (slot-boundp object '%name) + (write-string (name object) stream)) + (when (and (slot-boundp object '%name) (slot-boundp object '%index)) + (write-string " " stream)) + (when (slot-boundp object '%index) + (format stream "@~A" (ref-index object)))))