scribble icon indicating copy to clipboard operation
scribble copied to clipboard

Can't require a submodule in the same chunk with scribble/lp2

Open SuzanneSoy opened this issue 10 years ago • 1 comments

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.
       ]

SuzanneSoy avatar Aug 05 '15 14:08 SuzanneSoy

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.

SuzanneSoy avatar Aug 24 '15 15:08 SuzanneSoy