From c1df897ab37d407c3af11bce78f19d420ad398fe Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 9 Jun 2015 07:09:11 -0600 Subject: [PATCH] fix `codeblock` to use location only for current source --- scribble-lib/scribble/private/manual-code.rkt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scribble-lib/scribble/private/manual-code.rkt b/scribble-lib/scribble/private/manual-code.rkt index 82ebccb2..aad30d46 100644 --- a/scribble-lib/scribble/private/manual-code.rkt +++ b/scribble-lib/scribble/private/manual-code.rkt @@ -124,6 +124,7 @@ (loop (if (dont-stop? mode) (dont-stop-val mode) mode))))))] + [program-source 'prog] [e (parameterize ([read-accept-reader #t]) ((or expand (lambda (stx) @@ -133,7 +134,7 @@ (let ([p (open-input-string bstr)]) (port-count-lines! p) (let loop () - (let ([v (read-syntax 'prog p)]) + (let ([v (read-syntax program-source p)]) (cond [expand v] [(eof-object? v) null] @@ -141,7 +142,9 @@ [ids (let loop ([e e]) (cond [(and (identifier? e) - (syntax-original? e)) + (syntax-original? e) + (syntax-position e) + (eq? program-source (syntax-source e))) (let ([pos (sub1 (syntax-position e))]) (list (list (lambda (str) (to-element (syntax-property