~ 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