FORMAT/PPRINT-LOGICAL-BLOCK of CONDITIONs ignoring *PRINT-CIRCLE*
(setf *print-circle* t *print-level* 4)
(format nil "~@<~A~:@>" *c*)
where I (WHN) believe the correct result is "ow... #1=(#1#)",
like the result from (PRINC-TO-STRING *C*). The question of
what the correct result is is complicated by the hairy text in
the Hyperspec "188.8.131.52 Tilde Less-Than-Sign: Logical Block",
Other than the difference in its argument, ~@<...~:> is
exactly the same as ~<...~:> except that circularity detection
is not applied if ~@<...~:> is encountered at top level in a
But because the odd behavior happens even without the at-sign,
(format nil "~<~A~:@>" (list *c*)) ; => "ow... (((#)))"
and because something seemingly similar can happen even in
(format *standard-output* "~A" '#1=(#1#)))
(which prints "(((#)))" to *STANDARD-OUTPUT*), I don't think
that the 184.108.40.206 trickiness is fundamental to the problem.
My guess is that the problem is related to the logic around the MODE
argument to CHECK-FOR-
enough of the intended meaning of the different MODE values to be
confident of this.