commit bb7b5e9a7db94e7f9d2db356c807bdf5e6435342
parent 1d529a3065e2b42a92b9663dfc041ee6b249744a
Author: Georges Dupéron <georges.duperon@gmail.com>
Date: Tue, 7 Feb 2017 23:09:56 +0100
Documented all overridden identifiers.
Diffstat:
3 files changed, 97 insertions(+), 10 deletions(-)
diff --git a/.travis.yml b/.travis.yml
@@ -56,7 +56,8 @@ script:
- raco test -p stxparse-info
- raco setup --check-pkg-deps --pkgs stxparse-info
- raco pkg install --deps search-auto doc-coverage
- - raco doc-coverage stxparse-info/current-pvars
+ - raco doc-coverage stxparse-info/current-pvars stxparse-info/parse stxparse-info/case
+ # TODO: should also run doc-coverage on stxparse-info itself, but it refuses to see the docs for pattern-expander? pattern-expander pattern-expander? pattern-expander?.
#- if $RECENT; then raco pkg install --deps search-auto cover cover-codecov; fi
#- if $RECENT; then raco cover -b -f codecov -d $TRAVIS_BUILD_DIR/coverage .; fi
diff --git a/scribblings/ovl.rkt b/scribblings/ovl.rkt
@@ -55,11 +55,19 @@
#'(name ...))])
#'(list
@defidform[stripped-name]{
- Overloaded version of @|prefixed| from
- @racketmodname[mod].}
+ Overloaded version of @|prefixed| from
+ @racketmodname[mod].}
...))]))
- (define-syntax-rule (ovl mod name ...)
- (begin
- (orig mod name ...)
- (ovl* mod name ...))))
-\ No newline at end of file
+ (define-syntax (ovl stx)
+ (syntax-case stx ()
+ [(self mod name ...)
+ (identifier? #'mod)
+ #'(self #:wrapper list mod name ...)]
+ [(self #:wrapper wrapper mod name ...)
+ (identifier? #'mod)
+ #'(self #:wrapper wrapper #:require mod mod name ...)]
+ [(_ #:wrapper wrapper #:require req mod name ...)
+ #'(begin
+ (orig req name ...)
+ (wrapper (ovl* mod name ...)))])))
+\ No newline at end of file
diff --git a/scribblings/stxparse-info.scrbl b/scribblings/stxparse-info.scrbl
@@ -10,6 +10,12 @@
@for-syntax[racket/base]
"ovl.rkt"]
+@; Circumvent https://github.com/racket/scribble/issues/79
+@(require scribble/struct
+ scribble/decode)
+@(define (nested-inset . vs)
+ (nested #:style 'inset vs))
+
@(version-case
[(version< (version) "6.4")
]
@@ -49,6 +55,69 @@ track which syntax pattern variables are bound.
syntax-parser
define/syntax-parse)
+Additionally, the following identifiers are overridden as they are part of the
+duplicated implementation of @racketmodname[syntax/parse].
+
+@(ovl #:wrapper nested-inset
+ syntax/parse
+ ...+
+ attribute
+ boolean
+ char
+ character
+ define-conventions
+ define-eh-alternative-set
+ define-literal-set
+ define-splicing-syntax-class
+ define-syntax-class
+ exact-integer
+ exact-nonnegative-integer
+ exact-positive-integer
+ expr
+ expr/c
+ id
+ identifier
+ integer
+ kernel-literals
+ keyword
+ literal-set->predicate
+ nat
+ number
+ pattern
+ static
+ str
+ this-syntax
+ ~!
+ ~and
+ ~between
+ ~bind
+ ~commit
+ ~datum
+ ~delimit-cut
+ ~describe
+ ~do
+ ~fail
+ ~literal
+ ~not
+ ~once
+ ~optional
+ ~or
+ ~parse
+ ~peek
+ ~peek-not
+ ~post
+ ~rest
+ ~seq
+ ~var)
+
+@(ovl #:wrapper nested-inset
+ #:require (for-template syntax/parse)
+ syntax/parse
+ pattern-expander?
+ pattern-expander
+ prop:pattern-expander
+ syntax-local-syntax-parse-pattern-introduce)
+
@section{Tracking currently-bound pattern variables with @racket[syntax-case]}
@defmodule[stxparse-info/case]
@@ -236,6 +305,9 @@ track which syntax or datum pattern variables are bound.
@defmodule[stxparse-info/parse/experimental/template]
+@(orig syntax/parse/experimental/template
+ define-template-metafunction)
+
@defidform[define-template-metafunction]{
Overloaded version of @orig:define-template-metafunction from
@racketmodname[syntax/parse/experimental/template].
@@ -262,5 +334,10 @@ track which syntax or datum pattern variables are bound.
template/loc
quasitemplate/loc)
-@(orig syntax/parse/experimental/template
- define-template-metafunction)
+Additionally, the following identifiers are overridden as they are part of the
+duplicated implementation of @racketmodname[syntax/parse].
+
+@(ovl #:wrapper nested-inset
+ syntax/parse/experimental/template
+ ??
+ ?@)
+\ No newline at end of file