Index: swank.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank.lisp,v
retrieving revision 1.523
diff -u -r1.523 swank.lisp
--- swank.lisp	20 Dec 2007 10:33:37 -0000	1.523
+++ swank.lisp	2 Feb 2008 20:12:41 -0000
@@ -2056,12 +2056,15 @@
                                       ,(princ-to-string real-condition))))
   (throw 'sldb-loop-catcher nil))
 
+(defvar *sldb-condition-printer* #'format-sldb-condition
+  "Function called to print a condition to an SLDB buffer.")
+
 (defun safe-condition-message (condition)
   "Safely print condition to a string, handling any errors during
 printing."
   (let ((*print-pretty* t) (*print-right-margin* 65))
     (handler-case
-        (format-sldb-condition condition)
+        (funcall *sldb-condition-printer* condition)
       (error (cond)
         ;; Beware of recursive errors in printing, so only use the condition
         ;; if it is printable itself:
