scribble
scribble copied to clipboard
Can't require a submodule in the same chunk with scribble/lp2
In the code below, the (require 'm) fails. Interestingly, it is possible to require m from a sibbling submodule works, but (require (submod "." m)) doesn't work.
#lang scribble/lp2
@chunk[<*>
(module m racket
(define x 1)
(provide x))
(require 'm) ;; Fails with "require: unknown module" module name: #<resolved-module-path:'m>
(require (submod "." m)) ;; Fails with "require: unknown module" module name: #<resolved-module-path:(submod 'scribble-lp-tmp-name m)>
(module other racket
(require (submod ".." m))) ;; Works.
]
Wrapping the module m and the require with (begin (module m ...) (require 'm)) works fine. It feels like the names were not introduced in the same context, due to an overly-aggressive strip-context or replace-context in scribble/lp/lang/common.rkt, but I'm not sure.
#lang scribble/lp2
@chunk[<*>
(begin
(module m racket
(define x 1)
(provide x))
(require 'm))] ;; Works.