[movitz-cvs] CVS update: movitz/special-operators-cl.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Thu Nov 11 19:26:07 UTC 2004


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

Modified Files:
	special-operators-cl.lisp 
Log Message:
More improved implementation of dynamic binding protocol.

Date: Thu Nov 11 20:26:06 2004
Author: ffjeld

Index: movitz/special-operators-cl.lisp
diff -u movitz/special-operators-cl.lisp:1.30 movitz/special-operators-cl.lisp:1.31
--- movitz/special-operators-cl.lisp:1.30	Thu Nov 11 11:48:22 2004
+++ movitz/special-operators-cl.lisp	Thu Nov 11 20:26:06 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.30 2004/11/11 10:48:22 ffjeld Exp $
+;;;; $Id: special-operators-cl.lisp,v 1.31 2004/11/11 19:26:06 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -292,7 +292,11 @@
 				     body-code
 				   (progn #+ignore (warn "recompile..") ; XXX
 					  (compile-body)))
-				 (when (plusp (num-specials local-env))
+				 (when (and (plusp (num-specials local-env))
+					    (not (eq :non-local-exit body-returns)))
+				   #+ignore
+				   (warn "let spec ret: ~S, want: ~S ~S"
+					 body-returns result-mode let-var-specs)
 				   `((:movl (:esp ,(+ -4 (* 16 (num-specials local-env)))) :edx)
 				     (:locally (:call (:edi ,(bt:slot-offset 'movitz-run-time-context
 									     'dynamic-variable-uninstall))))
@@ -1248,7 +1252,7 @@
 		 ;; Execute protected form..
 		 (compiler-call #'compile-form
 		   :env unwind-protect-env
-		   :with-stack-used t
+		   :with-stack-used t ;; XXX Not really true, is it?
 		   :forward all
 		   :result-mode :multiple-values
 		   :form protected-form)





More information about the Movitz-cvs mailing list