commit 50cac9ec150a00089fec2dcf23d540552bd1c64b
parent 51598299301a8285902f51101a1b35c9954ebb9b
Author: Georges Dupéron <georges.duperon@gmail.com>
Date: Tue, 23 Aug 2016 13:50:27 +0200
Use syntax/parse for reqprov, fix documentation for require-in and change order of arguments for require-in.
Diffstat:
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/private/reqprov.rkt b/private/reqprov.rkt
@@ -4,7 +4,8 @@
racket/provide-syntax
(for-syntax racket/base
racket/provide-transform
- racket/syntax))
+ racket/syntax
+ syntax/parse))
(provide expander-in
expander-out)
@@ -22,14 +23,12 @@
(#,@prefix define-id-expander)
(for-syntax (#,@prefix expand-all-id-expanders)))))
-(define-require-syntax (expander-in stx)
- (syntax-case stx ()
- [(_ id modpath)
- (identifier? #'id)
- (reqprov-transformer2 #'id #'combine-in #'(only-in modpath))]))
+(define-require-syntax expander-in
+ (syntax-parser
+ [(_ require-spec id:id)
+ (reqprov-transformer2 #'id #'combine-in #'(only-in require-spec))]))
-(define-provide-syntax (expander-out stx)
- (syntax-case stx ()
- [(_ id)
- (identifier? #'id)
+(define-provide-syntax expander-out
+ (syntax-parser
+ [(_ id:id)
(reqprov-transformer2 #'id #'combine-out #'(combine-out))]))
\ No newline at end of file
diff --git a/private/reqprov.scrbl b/private/reqprov.scrbl
@@ -4,9 +4,10 @@
@title{@racket[require] and @racket[provide] transformers}
@defform[#:kind "require transformer"
- (expander-in id)]{
+ (expander-in require-spec id)]{
This @techlink[#:doc '(lib "scribblings/reference/reference.scrbl")]{
- require transformer} imports the identifiers defined by
+ require transformer} imports from @racket[require-spec]
+ the identifiers defined by
@racket[(define-expander-type id)]:
@itemlist[@item{@tt{@emph{id}-expander-type}}
@item{@tt{make-@emph{id}-expander}}