[slime-devel] slime fancy inspector breaks with class-prototype & print-object

swank-fancy-inspector.lisp:459 "Prototype: " ,(if (swank-mop:class-finalized-p class) `(:value ,(swank-mop:class-prototype class)) '"#<N/A (class not finalized)>") class-prototype will fill prototype slot of class instance with a prototype instance. This will raise unbound-slot conditions for classes that have print-object that accesses slots specialized on them, since the instance returned by class-prototype may or may not be initialized according to spec. Also see: http://paste.lisp.org/display/88827 The same conditions are raised in ccl although ccl has the with-errorfree-printing macro that slime could use to deal with this.

xristos <xristos@suspicious.org> writes:
swank-fancy-inspector.lisp:459
"Prototype: " ,(if (swank-mop:class-finalized-p class) `(:value ,(swank-mop:class-prototype class)) '"#<N/A (class not finalized)>")
class-prototype will fill prototype slot of class instance with a prototype instance.
This will raise unbound-slot conditions for classes that have print-object that accesses slots specialized on them, since the instance returned by class-prototype may or may not be initialized according to spec.
Also see: http://paste.lisp.org/display/88827
The same conditions are raised in ccl although ccl has the with-errorfree-printing macro that slime could use to deal with this.
I committed something on that line. Thank you for the report, -T.
participants (2)
-
Tobias C. Rittweiler
-
xristos