~ chicken-core (chicken-5) ca9b0ec0192a174c7582396afaec81c2fc831b50


commit ca9b0ec0192a174c7582396afaec81c2fc831b50
Author:     Peter Bex <peter@more-magic.net>
AuthorDate: Sat Feb 24 11:16:55 2018 +0100
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Mon Mar 12 19:12:46 2018 +1300

    Do not strip syntax when handling let-syntax
    
    This is not necessary and may (may!) break things.  It's asking for
    trouble, though I haven't managed to build a test case where this
    makes a difference yet.
    
    Signed-off-by: Evan Hanson <evhan@foldling.org>

diff --git a/core.scm b/core.scm
index f5dfd650..f9014c4b 100644
--- a/core.scm
+++ b/core.scm
@@ -819,7 +819,7 @@
 					     se
 					     (##sys#ensure-transformer
 					      (##sys#eval/meta (cadr b))
-					      (strip-syntax (car b)))))
+					      (car b))))
 					  (cadr x) )
 				     se) )
 			       (ln (or (get-line x) outer-ln)))
@@ -835,7 +835,7 @@
 					   #f
 					   (##sys#ensure-transformer
 					    (##sys#eval/meta (cadr b))
-					    (strip-syntax (car b)))))
+					    (car b))))
 					(cadr x) ) )
 			       (se2 (append ms se))
 			       (ln (or (get-line x) outer-ln)) )
@@ -889,7 +889,7 @@
 				(##sys#cons
 				 (##sys#ensure-transformer
 				  (##sys#eval/meta body)
-				  (strip-syntax var))
+				  var)
 				 (##sys#current-environment))))
 			  (walk
 			   (if ##sys#enable-runtime-macros
@@ -916,7 +916,7 @@
 					(and (pair? (cdr b))
 					     (cons (##sys#ensure-transformer
 						    (##sys#eval/meta (cadr b))
-						    (strip-syntax (car b)))
+						    (car b))
 						   se))
 					(##sys#get name '##compiler#compiler-syntax) ) ) )
 				   (cadr x)))
Trap