"Isidor Zeuner" <sbcl@...> writes:
> But I'm sure there are some people with a stronger pprint-fu on
> this list, who are able to fix the internals.
Hm. This seems to me to be a fairly general problem with the pretty
printer, our representation of backquoted objects, format's
pretty-printing functionality, or a combination of all three.
The essential problem is that, in various places, if the pprint
functions for various operators receive a list, they assume that that
list is intended to be destructured; for instance, let's list of
bindings, but also flet's; by destructured, I mean that each element
should be printed in turn. That's almost right, except if one of
those elements is SB-IMPL::BACKQ-COMMA.
This mistake is then compounded by the backquote optimizer, which I
believe (but reading the backquote code has just made my head hurt)
does not treat sb-impl::backq-comma specially, unlike treating the #\,
Format's contribution to this mess is that it doesn't make it easy
either to work out what is going on, nor to alter. Before I venture
into this mess of horror, is there a sensible way of rearranging our
implementation of any of these components to avoid this kind of thing?