Hi,

the attached patch is not yet tested.  I'm waiting for re-compilation,
which will take hours to really test.

However "it looks to me"(TM) as if should fix the problem: when compiled
with -strict-types the compiler will substitute code calling the
parameter's convert procedure as before.

I hope this works.  I'll let you know in a day or two whether or not it
works for me.

Best

/Jörg
diff --git a/chicken-syntax.scm b/chicken-syntax.scm
index 0d14a3f..30d6871 100644
--- a/chicken-syntax.scm
+++ b/chicken-syntax.scm
@@ -279,6 +279,8 @@
     (##sys#check-syntax 'parameterize form '#(_ 2))
     (let* ((bindings (cadr form))
 	   (body (cddr form))
+	   (the (r 'the))
+	   (boolean (r 'boolean))
 	   (convert? (r 'convert?))
 	   (params (##sys#map car bindings))
 	   (vals (##sys#map cadr bindings))
@@ -290,7 +292,7 @@
 	(##core#let
 	 ,(map ##sys#list saveds vals)
 	 (##core#let
-	  ((,convert? #t)) ; Convert only first time extent is entered!
+	  ((,convert? (,the ,boolean ((lambda (x) x) #t)))) ; Convert only first time extent is entered!
 	  (##sys#dynamic-wind
 	   (##core#lambda ()
 	    (##core#let
_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to