[movitz-cvs] CVS update: movitz/compiler-protocol.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Thu Feb 12 17:51:03 UTC 2004


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

Modified Files:
	compiler-protocol.lisp 
Log Message:
Slight change in compiler-values-bind macro so as to set up correctly
the scope of an &all binding (i.e. the macrolet).

Date: Thu Feb 12 12:51:02 2004
Author: ffjeld

Index: movitz/compiler-protocol.lisp
diff -u movitz/compiler-protocol.lisp:1.2 movitz/compiler-protocol.lisp:1.3
--- movitz/compiler-protocol.lisp:1.2	Mon Jan 19 06:23:41 2004
+++ movitz/compiler-protocol.lisp	Thu Feb 12 12:51:02 2004
@@ -10,7 +10,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Wed Oct 10 13:02:03 2001
 ;;;;                
-;;;; $Id: compiler-protocol.lisp,v 1.2 2004/01/19 11:23:41 ffjeld Exp $
+;;;; $Id: compiler-protocol.lisp,v 1.3 2004/02/12 17:51:02 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -124,20 +124,20 @@
 			  ,@(unless type-p (list type))
 			  ,@(unless final-form-p (list final-form))))
 	 , at body)
-    `(macrolet ((,all (x)
-		  (ecase x
-		    (:code ',code) (:returns ',returns) (:functional-p ',functional-p)
-		    (:producer ',producer) (:modifies ',modifies) (:type ',type)
-		    (:final-form ',final-form))))
-       (multiple-value-bind (,code ,returns ,functional-p ,producer ,modifies ,type ,final-form)
-	   ,form
-	 (declare (ignorable ,@(unless code-p (list code))
-			     ,@(unless returns-p (list returns))
-			     ,@(unless functional-p-p (list functional-p))
-			     ,@(unless producer-p (list producer))
-			     ,@(unless modifies-p (list modifies))
-			     ,@(unless type-p (list type))
-			     ,@(unless final-form-p (list final-form))))
+    `(multiple-value-bind (,code ,returns ,functional-p ,producer ,modifies ,type ,final-form)
+	 ,form
+       (declare (ignorable ,@(unless code-p (list code))
+			   ,@(unless returns-p (list returns))
+			   ,@(unless functional-p-p (list functional-p))
+			   ,@(unless producer-p (list producer))
+			   ,@(unless modifies-p (list modifies))
+			   ,@(unless type-p (list type))
+			   ,@(unless final-form-p (list final-form))))
+       (macrolet ((,all (x)
+		    (ecase x
+		      (:code ',code) (:returns ',returns) (:functional-p ',functional-p)
+		      (:producer ',producer) (:modifies ',modifies) (:type ',type)
+		      (:final-form ',final-form))))
 	 , at body))))
 
 (defmacro compiler-values-list (&rest compiler-values-spec)





More information about the Movitz-cvs mailing list