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

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Fri Mar 26 01:34:13 UTC 2004


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

Modified Files:
	compiler.lisp 
Log Message:
Forgot to :init-lexvar &key bindings. Caused a nasty bug.

Date: Thu Mar 25 20:34:13 2004
Author: ffjeld

Index: movitz/compiler.lisp
diff -u movitz/compiler.lisp:1.35 movitz/compiler.lisp:1.36
--- movitz/compiler.lisp:1.35	Wed Mar 24 19:54:07 2004
+++ movitz/compiler.lisp	Thu Mar 25 20:34:13 2004
@@ -8,7 +8,7 @@
 ;;;; Created at:    Wed Oct 25 12:30:49 2000
 ;;;; Distribution:  See the accompanying file COPYING.
 ;;;;                
-;;;; $Id: compiler.lisp,v 1.35 2004/03/25 00:54:07 ffjeld Exp $
+;;;; $Id: compiler.lisp,v 1.36 2004/03/26 01:34:13 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -4079,7 +4079,9 @@
 		 (cond
 		  ((and (movitz-constantp (optional-function-argument-init-form binding))
 			(< 1 position))
-		   `(
+		   `((:init-lexvar ,binding)
+		     ,@(when supplied-p-var
+			 `((:init-lexvar ,supplied-p-binding)))
 		     ,@(compiler-call #'compile-self-evaluating
 			 :form (eval-form (optional-function-argument-init-form binding) env nil)
 			 :funobj funobj
@@ -4105,7 +4107,10 @@
 		     (:movl (:ebp (:ecx 4) ,(* -4 (1- (1+ position)))) :ebx)
 		     default-done
 		     (:store-lexical ,binding :ebx :type t)))
-		  (t `((:arg-cmp ,(+ 2 position))
+		  (t `((:init-lexvar ,binding)
+		       ,@(when supplied-p-var
+			   `((:init-lexvar ,supplied-p-binding)))
+		       (:arg-cmp ,(+ 2 position))
 		       (:jb '(:sub-program (default)
 			      ,@(append
 				 (when supplied-p-var





More information about the Movitz-cvs mailing list