- Dynamically bind the condition as well in the debugger, not only
authorMatthew Mondor <mmondor@pulsar-zone.net>
Wed, 26 Aug 2015 13:36:38 +0000 (09:36 -0400)
committerMatthew Mondor <mmondor@pulsar-zone.net>
Wed, 26 Aug 2015 13:36:38 +0000 (09:36 -0400)
   the message (the condition object holds important data which can be
   used programmatically).
 - Raise some *PRINT-LENGTH* limits in the debugger.  Having a limit
   is wise, but when it is too short the debugger can be rather
   useless.  Use 16 instead of the previous 2 or 4.

src/lsp/top.lsp

index f7eb627..867b2a2 100644 (file)
@@ -41,6 +41,7 @@
 (defparameter *last-error* nil)
 
 (defparameter *break-message* nil)
+(defparameter *break-condition* nil)
 
 (defparameter *break-readtable* nil)
 (defparameter *tpl-level* -1)                   ; nesting level of top-level loops
@@ -773,7 +774,7 @@ Use special code 0 to cancel this operation.")
 
 (defun tpl-disassemble-command ()
   (let*((*print-level* 2)
-        (*print-length* 4)
+        (*print-length* 16)
         (*print-pretty* t)
         (*print-escape* nil)
         (*print-readably* nil)
@@ -1014,7 +1015,7 @@ Use special code 0 to cancel this operation.")
 
 (defun tpl-variables-command (&optional no-values)
   (let*((*print-level* 2)
-        (*print-length* 4)
+        (*print-length* 16)
         (*print-pretty* t)
         (*print-escape* nil)
         (*print-readably* nil))
@@ -1060,7 +1061,7 @@ Use special code 0 to cancel this operation.")
          (last (frs-bds (1+ *frs-top*)))
          (fi *frs-base*)
          (*print-level* 2)
-         (*print-length* 4)
+         (*print-length* 16)
          (*print-pretty* t))
         ((> bi last) (values))
       (do ()
@@ -1134,7 +1135,7 @@ Use special code 0 to cancel this operation.")
       ((= k 0) (values))
       (let*((j (or (sch-frs-base *frs-base* i) (1+ *frs-top*)))
             (*print-level* 2)
-            (*print-length* 4)
+            (*print-length* 16)
             (*print-pretty* t))
         (do () ((or (> j *frs-top*) (> (frs-ihs j) i)))
             (print-frs j)
@@ -1429,10 +1430,11 @@ package."
            (*print-readably* nil)
            (*print-pretty* nil)
            (*print-circle* t)
-           (*print-length* 2)
+           (*print-length* 16)
            (*readtable* (or *break-readtable* *readtable*))
            (*break-message* (format nil "~&Condition of type: ~A~%~A~%"
                                     (type-of condition) condition))
+           (*break-condition* condition)
            (*break-level* (1+ *break-level*))
            (break-level *break-level*)
            (*break-env* nil))