[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