I nailed down a situation where it seems that CLISP
pretty printer becomes confused. Here is the smaller
example I could invent (I'm using '_' in place of spaces:
> (pprint-logical-block (*standard-output* nil)
(format t "~4I")
(princ (princ-to-string #\a))
(princ (princ-to-string #\a)))
The output I was expecting was
It seems that CLISP is also obeying to the indentation
while computing the princ-to-string expressions.
According to the Hyperspec, "All and only the output
sent to this pretty printing stream is treated as being
in the logical block.". This suggests me that
princ-to-string should not obey to the indentation
specified in the format.