From 14e276094a002a8211c7428048b4d4a5af81810b Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 29 Sep 2012 08:58:42 -0600 Subject: [PATCH] improve source correlation on `require' expansion --- collects/racket/require-transform.rkt | 2 +- collects/tests/racket/macro.rktl | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/collects/racket/require-transform.rkt b/collects/racket/require-transform.rkt index 62657b7b14..2228c53e4b 100644 --- a/collects/racket/require-transform.rkt +++ b/collects/racket/require-transform.rkt @@ -299,7 +299,7 @@ stx)) (cdr names)))) namess)) - (list (make-import-source (datum->syntax #'simple mod-path) 0)))))] + (list (make-import-source (datum->syntax #'simple mod-path #'simple #'simple) 0)))))] [(id . rest) (identifier? #'id) (let ([t (syntax-local-value #'id (lambda () #f))]) diff --git a/collects/tests/racket/macro.rktl b/collects/tests/racket/macro.rktl index 4b630cf462..536b959551 100644 --- a/collects/tests/racket/macro.rktl +++ b/collects/tests/racket/macro.rktl @@ -786,6 +786,24 @@ (err/rt-test (syntax-local-lift-require 'abc #'def)) +;; ---------------------------------------- + +(let () + (define stx + (expand #'(module m racket + (require (only-in racket/list first))))) + + (define r/ls + (syntax-case stx () + [(_mod _m _racket + (_mod-begin (_req (_just-meta _0 (_rename rl1 . _whatever)) + (_only rl2)))) + (list #'rl1 #'rl2)])) + + (test (list #f #t) map syntax-original? r/ls) + (test (list #f #t) map number? (map syntax-position r/ls))) + + ;; ---------------------------------------- (report-errs)