Update of /project/movitz/cvsroot/movitz In directory common-lisp.net:/tmp/cvs-serv15096
Modified Files: special-operators-cl.lisp Log Message: Use newly created movitz-macro-expander-make-function.
Date: Thu Jan 15 11:40:34 2004 Author: ffjeld
Index: movitz/special-operators-cl.lisp diff -u movitz/special-operators-cl.lisp:1.1.1.1 movitz/special-operators-cl.lisp:1.2 --- movitz/special-operators-cl.lisp:1.1.1.1 Tue Jan 13 06:04:59 2004 +++ movitz/special-operators-cl.lisp Thu Jan 15 11:40:33 2004 @@ -9,7 +9,7 @@ ;;;; Created at: Fri Nov 24 16:31:11 2000 ;;;; Distribution: See the accompanying file COPYING. ;;;; -;;;; $Id: special-operators-cl.lisp,v 1.1.1.1 2004/01/13 11:04:59 ffjeld Exp $ +;;;; $Id: special-operators-cl.lisp,v 1.2 2004/01/15 16:40:33 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -271,15 +271,18 @@ (loop for (name local-lambda-list . local-body) in macrolet-specs as cl-local-lambda-list = (translate-program local-lambda-list :muerte.cl :cl) as cl-local-body = (translate-program local-body :muerte.cl :cl) + as expander = `(lambda (form env) + (declare (ignorable env)) + (destructuring-bind ,cl-local-lambda-list + (translate-program (rest form) :muerte.cl :cl) + (translate-program (block ,name (let () ,@cl-local-body)) + :cl :muerte.cl))) do (movitz-env-add-binding local-env (make-instance 'macro-binding :name name - :expander - `(lambda (form env) - (destructuring-bind ,cl-local-lambda-list - (translate-program (rest form) :muerte.cl :cl) - (translate-program (block ,name (let () ,@cl-local-body)) - :cl :muerte.cl)))))) + :expander (movitz-macro-expander-make-function expander + :name name + :type :macrolet)))) (compiler-values-bind (&all body-values &code body-code) (compiler-call #'compile-implicit-progn :defaults forward