[movitz-cvs] CVS movitz

ffjeld ffjeld at common-lisp.net
Tue Feb 20 20:33:30 UTC 2007


Update of /project/movitz/cvsroot/movitz
In directory clnet:/tmp/cvs-serv32109

Modified Files:
	special-operators-cl.lisp 
Log Message:
Fixed nasty in special-operator-let that would erroneously remove
init-forms with side-effects.


--- /project/movitz/cvsroot/movitz/special-operators-cl.lisp	2005/09/16 22:50:08	1.49
+++ /project/movitz/cvsroot/movitz/special-operators-cl.lisp	2007/02/20 20:33:30	1.50
@@ -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.49 2005/09/16 22:50:08 ffjeld Exp $
+;;;; $Id: special-operators-cl.lisp,v 1.50 2007/02/20 20:33:30 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -155,7 +155,8 @@
 		       :env local-env))))
 	    (compiler-values-bind (&all body-values &code body-code &returns body-returns)
 		(compile-body)
-;;;	      (print-code 'body body-code)
+	      ;; (print-code 'body body)
+	      ;; (print-code 'body-code body-code)
 	      (let ((first-binding (movitz-binding (caar binding-var-codes) local-env nil)))
 		(cond
 		 ;; Is this (let ((#:foo <form>)) (setq bar #:foo)) ?
@@ -368,6 +369,8 @@
 		      (compiler-values (body-values)
 			:returns body-returns
 			:producer (default-compiler-values-producer)
+			:functional-p (and (body-values :functional-p)
+					   (every #'fourth binding-var-codes))
 			:modifies let-modifies
 			:code code))))))))))))
 




More information about the Movitz-cvs mailing list