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 76a1fdf04f286fce35c699b5b12de4f4d0f679ad
parent 6d440f5a6b9da44006e072f670dc46b2b40e8827
Author: Matthew Flatt <mflatt@racket-lang.org>
Date:   Sun,  8 Mar 2015 16:23:08 -0600

fix `scribble/text` with `syntax-local-identifier-as-binding`

Diffstat:
Mscribble-text-lib/scribble/text/syntax-utils.rkt | 14++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/scribble-text-lib/scribble/text/syntax-utils.rkt b/scribble-text-lib/scribble/text/syntax-utils.rkt @@ -123,6 +123,16 @@ (if (null? exprs) (values (reverse ds) (reverse es) '()) (let ([expr* (local-expand (car exprs) ctx stoplist (car ctx))]) + (define (rebuild-bindings) + (syntax-case expr* () + [(def ids rhs) + (datum->syntax expr* + (list #'def + (map syntax-local-identifier-as-binding + (syntax->list #'ids)) + #'rhs) + expr* + expr*)])) (syntax-case expr* (begin define-syntaxes define-values) [(begin x ...) (loop (append (syntax->list #'(x ...)) (cdr exprs)) ds es)] @@ -132,7 +142,7 @@ (let ([ids (syntax->list #'(id ...))]) (syntax-local-bind-syntaxes ids (local-transformer-expand #'rhs 'expression '()) (car ctx)) - (loop (cdr exprs) (cons expr* ds) es)) + (loop (cdr exprs) (cons (rebuild-bindings) ds) es)) ;; return the unexpanded expr, to be re-expanded later, in the ;; right contexts (values (reverse ds) (reverse es) exprs))] @@ -141,7 +151,7 @@ (if (null? es) (begin (syntax-local-bind-syntaxes (syntax->list #'(id ...)) #f (car ctx)) - (loop (cdr exprs) (cons expr* ds) es)) + (loop (cdr exprs) (cons (rebuild-bindings) ds) es)) ;; same note here (values (reverse ds) (reverse es) exprs))] [_ (loop (cdr exprs) ds (cons expr* es))])))))