~ chicken-core (chicken-5) cbe42442f1e1bd0a0e05bbb48e0fded7b12d9add


commit cbe42442f1e1bd0a0e05bbb48e0fded7b12d9add
Author:     Felix <bunny351@gmail.com>
AuthorDate: Sun Nov 8 00:02:39 2009 +0100
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Wed Nov 18 08:33:36 2009 +0100

    fixed bug in optimizer reported by Joerg Wittenberger (#99)
    
    Signed-off-by: felix <felix@call-with-current-continuation.org>

diff --git a/support.scm b/support.scm
index 8cac05bd..22a74b5e 100644
--- a/support.scm
+++ b/support.scm
@@ -608,7 +608,11 @@
 	    [params (node-parameters n)]
 	    [class (node-class n)] )
 	(case class
-	  [(##core#variable) (varnode (rename (first params) rl))]
+	  [(##core#variable) 
+	   (let ((var (first params)))
+	     (when (get db var 'contractable)
+	       (put! db var 'contractable #f) )
+	     (varnode (rename var rl))) ]
 	  [(set!) 
 	   (make-node
 	    'set! (list (rename (first params) rl))
Trap