X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/16f9fb7227bf77da748dd6fc03e58c6a9e84ab70..b7fcf94152e4c1938fbca55d13b1e6a64b694bd6:/src/classes.lisp diff --git a/src/classes.lisp b/src/classes.lisp index 3187837..d403d10 100644 --- a/src/classes.lisp +++ b/src/classes.lisp @@ -7,7 +7,7 @@ ;;;----- Licensing notice --------------------------------------------------- ;;; -;;; This file is part of the Sensble Object Design, an object system for C. +;;; This file is part of the Sensible Object Design, an object system for C. ;;; ;;; SOD is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -88,7 +88,7 @@ (effective-methods :type list :reader sod-class-effective-methods) (vtables :type list :reader sod-class-vtables) - (state :initform nil :type (member nil :finalized broken) + (state :initform nil :type (member nil :finalized :broken) :reader sod-class-state)) (:documentation "Classes describe the layout and behaviour of objects. @@ -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)