~ chicken-core (chicken-5) b6eeedccc7bcb10856da9d196f25106bbbc05450


commit b6eeedccc7bcb10856da9d196f25106bbbc05450
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Thu Nov 19 18:38:57 2009 +0100
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Mon Nov 23 17:46:42 2009 +0100

    synrules use internal form of syntax
    
    Signed-off-by: felix <felix@call-with-current-continuation.org>

diff --git a/compiler.scm b/compiler.scm
index 7680ec99..41258492 100644
--- a/compiler.scm
+++ b/compiler.scm
@@ -99,6 +99,7 @@
 ; (##core#immutable <exp>)
 ; (##core#global-ref <variable>)
 ; (quote <exp>)
+; ([##core#]syntax <exp>)
 ; (if <exp> <exp> [<exp>])
 ; ([##core#]syntax <exp>)
 ; ([##core#]let <variable> ({(<variable> <exp>)}) <body>)
diff --git a/synrules.scm b/synrules.scm
index 492a65ae..0e5f66fe 100644
--- a/synrules.scm
+++ b/synrules.scm
@@ -130,7 +130,7 @@
   (define (process-match input pattern)
     (cond ((symbol? pattern)
 	   (if (memq pattern subkeywords)
-	       `((,%compare ,input (,%rename (syntax ,pattern))))
+	       `((,%compare ,input (,%rename (##core#syntax ,pattern))))
 	       `()))
 	  ((segment-pattern? pattern)
 	   (process-segment-match input (car pattern)))
@@ -229,7 +229,7 @@
 		     template
 		     (##sys#syntax-error-hook "template dimension error (too few ellipses?)"
 					      template))
-		 `(,%rename (syntax ,template)))))
+		 `(,%rename (##core#syntax ,template)))))
 	  ((segment-template? template)
 	   (let* ((depth (segment-depth template))
 		  (seg-dim (+ dim depth))
Trap