From bb7b5e9a7db94e7f9d2db356c807bdf5e6435342 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georges=20Dup=C3=A9ron?= Date: Tue, 7 Feb 2017 23:09:56 +0100 Subject: [PATCH] Documented all overridden identifiers. --- .travis.yml | 3 +- scribblings/ovl.rkt | 20 +++++--- scribblings/stxparse-info.scrbl | 81 ++++++++++++++++++++++++++++++++- 3 files changed, 95 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3f2b39e..3010fe5 100644 --- 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 index 8687cf5..81fdfb8 100644 --- 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 index 4e17d69..139f446 100644 --- 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