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

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Mon Oct 31 09:22:56 UTC 2005


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

Modified Files:
	compiler.lisp 
Log Message:
Fixed compilation of lambda-forms. It apears there's still some
troubles with nested lambdas.

Date: Mon Oct 31 10:22:55 2005
Author: ffjeld

Index: movitz/compiler.lisp
diff -u movitz/compiler.lisp:1.165 movitz/compiler.lisp:1.166
--- movitz/compiler.lisp:1.165	Sun Sep 18 18:20:35 2005
+++ movitz/compiler.lisp	Mon Oct 31 10:22:54 2005
@@ -8,7 +8,7 @@
 ;;;; Created at:    Wed Oct 25 12:30:49 2000
 ;;;; Distribution:  See the accompanying file COPYING.
 ;;;;                
-;;;; $Id: compiler.lisp,v 1.165 2005/09/18 16:20:35 ffjeld Exp $
+;;;; $Id: compiler.lisp,v 1.166 2005/10/31 09:22:54 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -5535,7 +5535,7 @@
 
 (defun lambda-form-p (form)
   (and (listp form)
-       (eq 'cl:lambda (first form))))
+       (eq 'muerte.cl:lambda (first form))))
 
 (defun function-name-p (operator)
   (or (and (symbolp operator) operator)
@@ -6055,9 +6055,13 @@
 		      (:int 99)
 		      ,not-unbound)))))))))
 
-(define-compiler compile-lambda-form (&form form)
+(define-compiler compile-lambda-form (&form form &all all)
   "3.1.2.2.4 Lambda Forms"
-  (error "Don't know how to compile lambda form ~A" form))
+  (let ((lambda-expression (car form))
+	(lambda-args (cdr form)))
+    (compiler-call #'compile-form-unprotected
+      :forward all
+      :form `(muerte.cl:funcall ,lambda-expression , at lambda-args))))
 
 (define-compiler compile-constant-compound (&all all &form form &env env &top-level-p top-level-p)
   (compiler-call #'compile-self-evaluating




More information about the Movitz-cvs mailing list