From 962a72dfda7b0d808f3157887b5e8b9bde5c7d23 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Thu, 17 Dec 2015 19:35:08 -0500 Subject: [PATCH] Properly handle (place ...) in submodules. Closes #1173 and PR 12934. --- racket/collects/racket/place.rkt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/racket/collects/racket/place.rkt b/racket/collects/racket/place.rkt index b2ade96e54..237e71f194 100644 --- a/racket/collects/racket/place.rkt +++ b/racket/collects/racket/place.rkt @@ -10,6 +10,7 @@ racket/place/private/th-place racket/place/private/prop racket/private/streams + racket/match (for-syntax racket/base @@ -233,7 +234,12 @@ (when (and (symbol? name) (not (module-predefined? `(quote ,name)))) (error who "the enclosing module's resolved name is not a path or predefined")) - (start-place-func who `(submod ,(if (symbol? name) `(quote ,name) name) ,submod-name) 'main in out err)) + (define submod-ref + (match name + [(? symbol?) `(quote 'name)] + [(? path?) `(submod ,name ,submod-name)] + [`(,p ,s ...) `(submod ,p ,@s ,submod-name)])) + (start-place-func who submod-ref 'main in out err)) (define-syntax (place/context stx) (syntax-parse stx