[slime-cvs] CVS update: slime/swank-allegro.lisp

Helmut Eller heller at common-lisp.net
Mon Jun 28 16:03:52 UTC 2004


Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv14784

Modified Files:
	swank-allegro.lisp 
Log Message:
(nth-frame): Skip frames where frame-visible-p is false.
Date: Mon Jun 28 09:03:52 2004
Author: heller

Index: slime/swank-allegro.lisp
diff -u slime/swank-allegro.lisp:1.41 slime/swank-allegro.lisp:1.42
--- slime/swank-allegro.lisp:1.41	Mon Jun 28 05:42:50 2004
+++ slime/swank-allegro.lisp	Mon Jun 28 09:03:52 2004
@@ -125,17 +125,23 @@
         (excl::*break-hook* nil))
     (funcall debugger-loop-fn)))
 
+(defun next-frame (frame)
+  (let ((next (excl::int-next-older-frame frame)))
+    (cond ((not next) nil)
+          ((debugger:frame-visible-p next) next)
+          (t (next-frame next)))))
+
 (defun nth-frame (index)
-  (do ((frame *sldb-topframe* (excl::int-next-older-frame frame))
+  (do ((frame *sldb-topframe* (next-frame frame))
        (i index (1- i)))
       ((zerop i) frame)))
 
 (defimplementation compute-backtrace (start end)
   (let ((end (or end most-positive-fixnum)))
-    (loop for f = (nth-frame start) then (excl::int-next-older-frame f)
+    (loop for f = (nth-frame start) then (next-frame f)
 	  for i from start below end
 	  while f
-	  when (debugger:frame-visible-p f) collect f)))
+	  collect f)))
 
 (defimplementation print-frame (frame stream)
   (debugger:output-frame stream frame :moderate))





More information about the slime-cvs mailing list