Hi all,

Here is a patch that fixes an issue Kristian ran into while porting an
extension. It avoids a confusing compiler error when `parameterize' is
used without having incidentally also imported "chicken.type".

Evan
>From 585e41efc7d24950cd8264b2b3a28014056a12b7 Mon Sep 17 00:00:00 2001
From: Evan Hanson <ev...@foldling.org>
Date: Thu, 26 Apr 2018 13:56:29 +0200
Subject: [PATCH] Use internal form for "(the ...)" in expansion of
 `parameterize'

Because `the' now lives in the chicken.type module, we need to use the
internal version of the form within `parameterize' so that users aren't
confusingly told they need to import chicken.type without having used
any values from that module.
---
 chicken-syntax.scm | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/chicken-syntax.scm b/chicken-syntax.scm
index 51ef4b69..a0237b57 100644
--- a/chicken-syntax.scm
+++ b/chicken-syntax.scm
@@ -488,8 +488,6 @@
     (##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))
@@ -506,7 +504,7 @@
 	  ;; value expressions (see first example in #1336).
 	  ,(map ##sys#list saveds saveds)
 	  (##core#let
-	   ((,convert? (,the ,boolean #t))) ; Convert only first time extent is entered!
+	   ((,convert? (##core#the (##core#quote boolean) #t #t))) ; Convert only first time extent is entered!
 	   (##sys#dynamic-wind
 	    (##core#lambda ()
 	      (##core#let
-- 
2.11.0

_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to