[bugfix] avoid auxiliary keywords such as unquote or unquote-splicing
from being renamed
This commit is contained in:
parent
725297384a
commit
b231d63297
|
@ -599,6 +599,16 @@
|
|||
(let ((expr (walk (lambda (x) (if (symbol? x) (inject x) x)) expr)))
|
||||
(make-syntactic-closure mac-env '() (f expr inject compare)))))
|
||||
|
||||
(define-syntax define-auxiliary-syntax
|
||||
(ir-macro-transformer
|
||||
(lambda (expr i c)
|
||||
`(define-syntax ,(cadr expr)
|
||||
(sc-macro-transformer
|
||||
(lambda (expr env)
|
||||
(error "invalid use of auxiliary syntax")))))))
|
||||
|
||||
(define-auxiliary-syntax unquote)
|
||||
(define-auxiliary-syntax unquote-splicing)
|
||||
(define-syntax or
|
||||
(ir-macro-transformer
|
||||
(lambda (expr inject compare)
|
||||
|
|
Loading…
Reference in New Issue