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.
Loading
Please register or sign in to comment