better error message for R5RS transformer expressions that are not 'syntax-rules'
svn: r14183
This commit is contained in:
parent
154b73755a
commit
f14b7158cd
|
@ -1,10 +1,14 @@
|
||||||
|
|
||||||
(module main scheme/base
|
(module main scheme/base
|
||||||
(require scheme/mpair
|
(require scheme/mpair
|
||||||
(for-syntax scheme/base syntax/kerncase)
|
(for-syntax scheme/base syntax/kerncase
|
||||||
|
"private/r5rs-trans.ss")
|
||||||
(only-in mzscheme transcript-on transcript-off))
|
(only-in mzscheme transcript-on transcript-off))
|
||||||
|
|
||||||
(provide (for-syntax syntax-rules ...)
|
(provide (for-syntax syntax-rules ...
|
||||||
|
(rename-out [syntax-rules-only #%top]
|
||||||
|
[syntax-rules-only #%app]
|
||||||
|
[syntax-rules-only #%datum]))
|
||||||
(rename-out
|
(rename-out
|
||||||
[mcons cons]
|
[mcons cons]
|
||||||
[mcar car]
|
[mcar car]
|
||||||
|
|
11
collects/r5rs/private/r5rs-trans.ss
Normal file
11
collects/r5rs/private/r5rs-trans.ss
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#lang scheme/base
|
||||||
|
(require (for-syntax scheme/base))
|
||||||
|
(provide syntax-rules-only)
|
||||||
|
|
||||||
|
(define-syntax (syntax-rules-only stx)
|
||||||
|
(syntax-case stx ()
|
||||||
|
[(_ . form)
|
||||||
|
(raise-syntax-error
|
||||||
|
'macro-transformer
|
||||||
|
"only a `syntax-rules' form is allowed"
|
||||||
|
#'form)]))
|
|
@ -1,6 +1,7 @@
|
||||||
#lang scribble/doc
|
#lang scribble/doc
|
||||||
@(require scribble/manual
|
@(require scribble/manual
|
||||||
(for-label r5rs
|
(for-label (only-meta-in 0 r5rs)
|
||||||
|
(only-in r5rs syntax-rules ...)
|
||||||
(only-in mzscheme #%plain-module-begin)
|
(only-in mzscheme #%plain-module-begin)
|
||||||
(only-in scheme/mpair mmap)
|
(only-in scheme/mpair mmap)
|
||||||
(only-in scheme/contract one-of/c)
|
(only-in scheme/contract one-of/c)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user