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@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)))) ,@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)))) ,@body))))
(defmacro compiler-values-list (&rest compiler-values-spec)