[movitz-cvs] CVS movitz/losp/muerte
ffjeld
ffjeld at common-lisp.net
Fri Mar 21 22:27:17 UTC 2008
Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory clnet:/tmp/cvs-serv3728
Modified Files:
eval.lisp
Log Message:
Add multiple-value-call special-operator.
--- /project/movitz/cvsroot/movitz/losp/muerte/eval.lisp 2008/03/21 00:20:48 1.27
+++ /project/movitz/cvsroot/movitz/losp/muerte/eval.lisp 2008/03/21 22:27:17 1.28
@@ -10,7 +10,7 @@
;;;; Author: Frode Vatvedt Fjeld <frodef at acm.org>
;;;; Created at: Fri Oct 19 21:15:12 2001
;;;;
-;;;; $Id: eval.lisp,v 1.27 2008/03/21 00:20:48 ffjeld Exp $
+;;;; $Id: eval.lisp,v 1.28 2008/03/21 22:27:17 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -117,12 +117,19 @@
(setq (eval-setq form env))
(setf (eval-setf form env))
((defvar) (eval-defvar form env))
- (let (eval-let (cadr form) (cddr form) env))
- (let* (multiple-value-bind (body declarations)
- (parse-declarations-and-body (cddr form))
- (eval-let* (cadr form) declarations body env)))
+ ((let)
+ (eval-let (cadr form) (cddr form) env))
+ ((let*)
+ (multiple-value-bind (body declarations)
+ (parse-declarations-and-body (cddr form))
+ (eval-let* (cadr form) declarations body env)))
((defun) (eval-defun (cadr form) (caddr form) (cdddr form) env))
((lambda) (eval-function form env)) ; the lambda macro..
+ ((multiple-value-call)
+ (apply (eval-form (cadr form) env)
+ (mapcan (lambda (args-form)
+ (multiple-value-list (eval-form args-form env)))
+ (cddr form))))
((multiple-value-bind)
(eval-m-v-bind form env))
((multiple-value-prog1)
More information about the Movitz-cvs
mailing list