diff --git a/pkgs/compiler-test/tests/compiler/embed/embed-me39.rkt b/pkgs/compiler-test/tests/compiler/embed/embed-me39.rkt new file mode 100644 index 0000000000..d97b7b99cb --- /dev/null +++ b/pkgs/compiler-test/tests/compiler/embed/embed-me39.rkt @@ -0,0 +1,12 @@ +#lang racket/base + +(module+ main + (require (for-syntax racket/base) + racket/runtime-path) + (define-runtime-path license '(share "LICENSE-libscheme.txt")) + (with-output-to-file (build-path (find-system-path 'temp-dir) "stdout") + #:exists 'append + (lambda () + (if (absolute-path? license) + (displayln "found license") + (displayln "not found"))))) diff --git a/pkgs/compiler-test/tests/compiler/embed/test.rkt b/pkgs/compiler-test/tests/compiler/embed/test.rkt index 755ea78a8c..3ee2fbce25 100644 --- a/pkgs/compiler-test/tests/compiler/embed/test.rkt +++ b/pkgs/compiler-test/tests/compiler/embed/test.rkt @@ -438,6 +438,14 @@ (path->string (build-path (collection-path "tests" "compiler" "embed") "embed-me30.rkt"))) (try-exe (mk-dest mred?) "Hello from a place!\n" mred?) + ;; raco exe on a module with a `main' submodule+ with a define-runtime-path within it + (system+ raco + "exe" + "-o" (path->string (mk-dest mred?)) + (if mred? "--gui" "--") + (path->string (build-path (collection-path "tests" "compiler" "embed") "embed-me39.rkt"))) + (try-exe (mk-dest mred?) "found license\n" mred?) + ;; raco exe --launcher (printf/flush ">>launcher\n") (system+ raco diff --git a/racket/collects/compiler/embed.rkt b/racket/collects/compiler/embed.rkt index ef1a9e6fce..ab1379dbff 100644 --- a/racket/collects/compiler/embed.rkt +++ b/racket/collects/compiler/embed.rkt @@ -331,7 +331,7 @@ actual-file-path use-source?)) -(define (mod-file m) (car m)) +(define (mod-file m) (strip-submod (car m))) (define (mod-mod-path m) (cadr m)) (define (mod-code m) (caddr m)) (define (mod-name m) (list-ref m 3))