0.6.8.2: converted /SHOW to /SHOW0 in SUB-GC to avoid infinite regress
authorWilliam Harold Newman <william.newman@airmail.net>
Mon, 30 Oct 2000 18:37:17 +0000 (18:37 +0000)
committerWilliam Harold Newman <william.newman@airmail.net>
Mon, 30 Oct 2000 18:37:17 +0000 (18:37 +0000)
NEWS
src/code/debug-int.lisp
src/code/early-extensions.lisp
src/code/gc.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index 8bdb4a6..294c656 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -525,10 +525,15 @@ changes in sbcl-0.6.8 relative to sbcl-0.6.7:
 
 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
index a4d95df..f4b2044 100644 (file)
   ()
   #!+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
index 0288453..1fa53ce 100644 (file)
       (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)))
 
index 27d08c7..6cd611a 100644 (file)
       (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
index 1b37ed4..46c6fb7 100644 (file)
@@ -15,4 +15,4 @@
 ;;; 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"