[movitz-cvs] CVS update: movitz/losp/muerte/inspect.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Tue Nov 23 16:03:36 UTC 2004


Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv7262

Modified Files:
	inspect.lisp 
Log Message:
Changed the dynamic-env a bit, reflect this in with-each-dynamic-context.

Date: Tue Nov 23 17:03:35 2004
Author: ffjeld

Index: movitz/losp/muerte/inspect.lisp
diff -u movitz/losp/muerte/inspect.lisp:1.43 movitz/losp/muerte/inspect.lisp:1.44
--- movitz/losp/muerte/inspect.lisp:1.43	Mon Oct 11 15:52:44 2004
+++ movitz/losp/muerte/inspect.lisp	Tue Nov 23 17:03:35 2004
@@ -10,7 +10,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Fri Oct 24 09:50:41 2003
 ;;;;                
-;;;; $Id: inspect.lisp,v 1.43 2004/10/11 13:52:44 ffjeld Exp $
+;;;; $Id: inspect.lisp,v 1.44 2004/11/23 16:03:35 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -103,6 +103,7 @@
   "Only use this if you know what you're doing. See run-time.lisp."
   (let ((context (gensym "dynamic-context-"))
 	(tag (gensym "dynamic-tag-"))
+	(name (gensym "dynamic-name-"))
 	(bind-clause (find :binding clauses :key #'caar))
 	(catch-clause (find :catch clauses :key #'caar))
 	(up-clause (find :unwind-protect clauses :key #'caar))
@@ -110,10 +111,12 @@
     `(do ((,context ,(if start-context start-context '(current-dynamic-context))
 		    (dynamic-context-uplink ,context)))
 	 ((not (plusp ,context)) ,result)
-       (let ((,tag (dynamic-context-tag ,context)))
+       (let ((,tag (dynamic-context-tag ,context))
+	     (,name (stack-frame-ref nil ,context 0 :lisp)))
+	 (declare (ignorable ,name))
 	 (cond
 	  ,@(when bind-clause
-	      `(((eq ,tag (load-global-constant unbound-value))
+	      `(((symbolp ,name)
 		 (multiple-value-bind ,(cdar bind-clause)
 		     (values ,context
 			     (stack-frame-ref nil ,context 0 :lisp)





More information about the Movitz-cvs mailing list