From 882412cf540eead2c7339273c47bc16822cc79db Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Tue, 5 Jan 2016 17:50:13 +0000 Subject: [PATCH] src/classes.lisp: Fix `print-object' on `sod-initializer'. Would have recursed forever. Also use `with-slots' to make the whole thing rather shorter: I think it's allowed here. --- src/classes.lisp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/classes.lisp b/src/classes.lisp index 118b09b..94ace12 100644 --- a/src/classes.lisp +++ b/src/classes.lisp @@ -294,14 +294,11 @@ and `sod-instance-initializer'.")) (defmethod print-object ((initializer sod-initializer) stream) - (if *print-escape* - (print-unreadable-object (initializer stream :type t) - (format stream "~A = ~A" - (sod-initializer-slot initializer) - initializer)) - (format stream "~:[{~A}~;~A~]" - (eq (sod-initializer-value-kind initializer) :single) - (sod-initializer-value-form initializer)))) + (with-slots (slot value-kind value-form) initializer + (if *print-escape* + (print-unreadable-object (initializer stream :type t) + (format stream "~A = ~A" slot value-form)) + (format stream "~:[{~A}~;~A~]" (eq value-kind :single) value-form)))) (export 'sod-class-initializer) (defclass sod-class-initializer (sod-initializer) -- 2.11.0