Skip to content
Snippets Groups Projects
Commit ff1f3bd4 authored by João Távora's avatar João Távora
Browse files

Close #8: Don't mess with PRINT-OBJECT for RESIGNALLED-CONDITION, it's trouble

Customizations to PRINT-OBJECT for conditions affect every attempt to
print these condition, which may lead to heap- and stack-exhausting
errors when printing backtraces, for example. This is what was
happening in issue #8.

Better to have a separate method to provide the more human readable
explanation and keep to using terse PRINT-UNREADABLE-OBJECT
expressions in the PRINT-OBJECT methods.

In the future, keep the original backtrace for the original condition
of the resignalled condition as a string.

* common.lisp (explain-condition-failsafe): Call a new internal
generic function EXPLAIN-FAILSAFE.
(resignalled-condition): Prepare to store backtrace of the
original condition.
(print-object http-condition): Use PRINT-UNREADABLE-OBJECT
(print-object :after resignalled-condition): Delete.
(print-object error-when-explaining, invalid-uri-structure)
(incompatible-lambda-list): Delete these methods.
(explain-failsafe): New methods to replace PRINT-OBJECT.
parent 58a6f822
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment