[slime-devel] Re: Printing of function arglists
Helmut Eller
e9626484 at stud3.tuwien.ac.at
Mon Feb 23 11:46:18 UTC 2004
Marco Baringer <mb at bese.it> writes:
> i think swank-pprint should bind print-pretty to t, no matter what the
> value of *swank-pprint-pretty* is (it's called pprint after all).
I agree, *PRINT-PRETTY* should always be T in swank-pprint. But was
is the meaning of *swank-pprint-pretty* then? Similar to
*sldb-pprint-frames*?
> i think it woud be quite fair to say that all slime output is
> controlled by one set of variables, if you want functions args to not
> be pprint'd it's reasonable to assume you wouldn't want anything else
> to be pprint'd either.
I think it is a nice feature when different commands can use different
printer settings, e.g., setting *PRINT-PRETTY* to nil for bulk output
(for efficiency) and to T for macro expansion commands sounds
perfectly reasonable to me.
The come back to the arglist. When *PRINT-PRETTY* is t the arglist
for
(defun foo (&optional (function #'identity)) ...)
is printed as
(foo &optional #'#'identity)
Not pretty :-) When *PRINT-PRETTY* is nil the result is
(foo &optional (function (function identity)))
Not perfect, but a bit better IMO.
Another issue are very long argument lists, e.g., for WRITE. With
*PRINT-PRETTY* t the result is printed in multiple lines, which looks
nicer in Emacs 21.
Could *print-pprint-dispatch* be used to suppress the conversion of
(function ...) --> #'... ?
Helmut.
More information about the slime-devel
mailing list