[slime-devel] swank:*sldb-printer-bindings* binding *print-lines* to 10

Helmut Eller heller at common-lisp.net
Mon Jan 5 07:33:44 UTC 2009


* Tobias C. Rittweiler [2009-01-04 22:38+0100] writes:

> Helmut Eller <heller at common-lisp.net> writes:
>
>> * Tobias C. Rittweiler [2009-01-04 17:27+0100] writes:
>>
>>> Is there a particular reason why SWANK:*SLDB-PRINTER-BINDINGS* binds
>>> *PRINT-LINES* to 10 instead of NIL?
>>
>> Some limit seems reasonable to stop the debugger from producing
>> megabytes of output just for the error message.  Think of printing the
>> contents of a bitvector.  10 is more or less arbitrary.  But what is the
>> maximum length of good error message?
>
> Ok, the problem is that 22.1.3.6 does not specify that printing of bit
> vectors involves *PRINT-LENGTH*. The same is true for strings
> (22.1.3.4.) We could, however, use custom pprint dispatch table entries
> to do the necessary truncating for us.
>
> If you don't mind going that route, I'll happily do the work.

The output is also limited by a custom stream which throws out from
write-string after 1000 chars or so.  I don't think that there is
another general way to limit the output, because print-object methods
can always write directly to the stream whithout going through te pretty
printer.

You could just increase the limits.  But I think the real problem is
that the format of original message.  If the error message contains
variable length part, that part should probably written at the end.

Helmut.





More information about the slime-devel mailing list