bkyk8rc3zvpnsf5inmcqq4n3k98cv6hj-my-site-hyper-literate-git.test.suzanne.soy-0.0.1

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 58b270adbaad6ae4fa59f86e55b3554fa165549c
parent 48ce9faac6799c2af05535ea3752e8841cc89544
Author: Matthew Flatt <mflatt@racket-lang.org>
Date:   Fri,  1 Jun 2018 17:43:34 +0800

defform: typeset `...+` as meta like `...`

Within `defform`, `...+` should be treated like `...` and made to not
refer to a `...+` binding. (The identifier `...+` is bound by
`syntax/parse`, so it's not difficult to end up with a for-label
binding of `...+`.)

Diffstat:
Mscribble-lib/scribble/private/manual-scheme.rkt | 10+++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/scribble-lib/scribble/private/manual-scheme.rkt b/scribble-lib/scribble/private/manual-scheme.rkt @@ -247,12 +247,16 @@ (define-for-syntax (strip-ellipsis-context a) (define a-ellipsis (datum->syntax a '...)) + (define a-ellipsis+ (datum->syntax a '...+)) (let loop ([a a]) (cond [(identifier? a) - (if (free-identifier=? a a-ellipsis #f) - (datum->syntax #f '... a a) - a)] + (cond + [(free-identifier=? a a-ellipsis #f) + (datum->syntax #f '... a a)] + [(free-identifier=? a a-ellipsis+ #f) + (datum->syntax #f '...+ a a)] + [else a])] [(syntax? a) (datum->syntax a (loop (syntax-e a)) a a)] [(pair? a)