X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftarget-random.lisp;h=d4c98c33dc493f3cce73ece107d3d860b44d6e30;hb=e034d6a8d034a3f8ca755bf89fae850f6387c505;hp=2f7d1a623c68cb2270e2602b15fca5c67f2a5345;hpb=75974d2be7cff6ab9ae547235f1510f44c75a9fa;p=sbcl.git diff --git a/src/code/target-random.lisp b/src/code/target-random.lisp index 2f7d1a6..d4c98c3 100644 --- a/src/code/target-random.lisp +++ b/src/code/target-random.lisp @@ -42,7 +42,15 @@ (def!method print-object ((state random-state) stream) (if (and *print-readably* (not *read-eval*)) - (error 'print-not-readable :object state) + (restart-case + (error 'print-not-readable :object state) + (print-unreadably () + :report "Print unreadably." + (write state :stream stream :readably nil)) + (use-value (object) + :report "Supply an object to be printed instead." + :interactive read-unreadable-replacement + (write object :stream stream))) (format stream "#S(~S ~S #.~S)" 'random-state ':state