~ chicken-core (chicken-5) 0b121bcabd4a5354f5c6a86cb223fa7ae2041e17
commit 0b121bcabd4a5354f5c6a86cb223fa7ae2041e17
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: Sat Nov 21 13:16:35 2009 +0100
synrules use internal form of syntax
diff --git a/compiler.scm b/compiler.scm
index ef9c68a7..4010ad8f 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