~ chicken-core (chicken-5) 5c851ce643b4cd995c7fd467162efdc922c61b83


commit 5c851ce643b4cd995c7fd467162efdc922c61b83
Author:     Felix <bunny351@gmail.com>
AuthorDate: Sun Nov 8 00:02:39 2009 +0100
Commit:     Felix <bunny351@gmail.com>
CommitDate: Sun Nov 8 00:02:39 2009 +0100

    fixed bug in optimizer reported by Joerg Wittenberger (#99)

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