[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