diff --git a/pkgs/racket-test/tests/syntax/modcollapse.rkt b/pkgs/racket-test/tests/syntax/modcollapse.rkt index 2b315b61c1..5cf7b475b5 100644 --- a/pkgs/racket-test/tests/syntax/modcollapse.rkt +++ b/pkgs/racket-test/tests/syntax/modcollapse.rkt @@ -10,7 +10,8 @@ (define self (module-path-index-join #f #f)) -(define (check-collapse p expected [relative-expected expected]) +(define (check-collapse p expected [relative-expected expected] + #:here [here here]) (check (collapse-module-path p here) expected) @@ -54,6 +55,14 @@ `(submod ,here test) '(submod "." test)) +(check-collapse '(submod "local.rkt" test) + `(submod ,(build-path here-dir "local.rkt") test) + '(submod "local.rkt" test)) +(check-collapse '(submod "local.rkt" test) + `(submod ,(build-path here-dir "local.rkt") test) + `(submod "local.rkt" test) + #:here `(submod ,here other)) + (define rel-rel (module-path-index-join "apple.rkt" (module-path-index-join @@ -143,3 +152,4 @@ (check (collapse-module-path-index rel-dirrel here) (build-path here-dir "x" "apple.rkt")) + diff --git a/racket/collects/syntax/private/modcollapse-noctc.rkt b/racket/collects/syntax/private/modcollapse-noctc.rkt index 8124605758..995dcc5180 100644 --- a/racket/collects/syntax/private/modcollapse-noctc.rkt +++ b/racket/collects/syntax/private/modcollapse-noctc.rkt @@ -327,7 +327,7 @@ Use syntax/modcollapse instead. (flatten-relto-mp!) (normalize-submod `(submod ,relto-mp ,@relto-submod ,@(cdr s)))] [else - (normalize-submod `(submod ,(normalize-recur (cadr s)) ,@relto-submod ,@(cddr s)))])] + (normalize-submod `(submod ,(normalize-recur (cadr s)) ,@(cddr s)))])] [else #f]))) (define collapse-module-path-index @@ -360,7 +360,8 @@ Use syntax/modcollapse instead. (let ([r (force-relto relto-mp)] [sm (module-path-index-submodule mpi)]) (if sm - (if (and (pair? r) (eq? (car r) 'submod)) + (if (and (pair? r) + (eq? (car r) 'submod)) (append r sm) (list* 'submod r sm)) r))))]))