changes in sbcl-0.6.9 relative to sbcl-0.6.8:
-?? DESCRIBE now works on CONDITION objects.
-?? The debugger now handles errors which arise when trying to print
+* DESCRIBE now works on CONDITION objects.
+* The debugger now handles errors which arise when trying to print
*DEBUG-CONDITION*, so that it's less likely to fall into infinite
regress.
+?? The debugger is now better at walking down through the control stack
+ frames generated by signal handlers. In particular, compiling and loading
+ (DEFUN FAIL (X) (THROW 'FAIL-TAG X))
+ (FAIL 12)
+ then requesting a BACKTRACE at the debugger prompt now gives useful output.
?? signal handling reliability
?? fixed some bugs mentioned in the man page:
?? DEFUN-vs.-DECLAIM
()
#!+sb-doc
(:documentation
- "All debug-conditions inherit from this type. These are serious conditions
+ "All DEBUG-CONDITIONs inherit from this type. These are serious conditions
that must be handled, but they are not programmer errors."))
(define-condition no-debug-info (debug-condition)
()
#!+sb-doc
- (:documentation "There is absolutely no debugging information available.")
+ (:documentation "There is no usable debugging information available.")
(:report (lambda (condition stream)
(declare (ignore condition))
(fresh-line stream)
- (write-line "No debugging information available." stream))))
+ (write-line "no debugging information available" stream))))
(define-condition no-debug-function-returns (debug-condition)
((debug-function :reader no-debug-function-returns-debug-function
:initarg :debug-function))
#!+sb-doc
(:documentation
- "The system could not return values from a frame with debug-function since
+ "The system could not return values from a frame with DEBUG-FUNCTION since
it lacked information about returning values.")
(:report (lambda (condition stream)
(let ((fun (debug-function-function
results)))
(nreverse results)))
-;;;; MAKE-BOGUS-LRA (used for :function-end breakpoints)
+;;;; MAKE-BOGUS-LRA (used for :FUNCTION-END breakpoints)
(defconstant
bogus-lra-constants
(let ((fun-name (symbolicate name "-CACHE-CLEAR")))
(forms
`(defun ,fun-name ()
+ (/show0 ,(concatenate 'string "entering " (string fun-name)))
(do ((,n-index ,(- total-size entry-size) (- ,n-index ,entry-size))
(,n-cache ,var-name))
((minusp ,n-index))
`(setf (svref ,n-cache ,i) ,val))
(values-indices)
default-values))
+ (/show0 ,(concatenate 'string "leaving " (string fun-name)))
(values)))
(forms `(,fun-name)))
(incf *gc-run-time* (- (get-internal-run-time)
start-time))))
;; FIXME: should probably return (VALUES), here and in RETURN-FROM
- (/show "returning from tail of SUB-GC")
+ (/show0 "returning from tail of SUB-GC")
nil)
;;; This routine is called by the allocation miscops to decide whether
;;; versions, and a string a la "0.6.5.12" is used for versions which
;;; aren't released but correspond only to CVS tags or snapshots.
-"0.6.8.1"
+"0.6.8.2"