[movitz-cvs] CVS update: movitz/special-operators-cl.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Thu Jan 15 16:40:34 UTC 2004
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 () , at 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 () , at 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
More information about the Movitz-cvs
mailing list