From c1df897ab37d407c3af11bce78f19d420ad398fe Mon Sep 17 00:00:00 2001
From: Matthew Flatt <mflatt@racket-lang.org>
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