[racket-dev] sporadic failure when building PLaneT docs

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Sat Aug 20 18:08:37 EDT 2011

I don't know if this is a clue or not, but if you do a dynamic-require
instead of a require to get to the planet package, then things work


On Sat, Aug 20, 2011 at 4:56 PM, Robby Findler
<robby at eecs.northwestern.edu> wrote:
> Yes, the code below is what I meant with my message. Sorry I wasn't
> clear enough and apparently made you waste your time.
> The standard-module-name-resolver is in
> plt/src/racket/src/startup.rktl, but it doesn't really seem to do
> anything before handing control to planet.
> Robby
> On Sat, Aug 20, 2011 at 12:35 PM, Eli Barzilay <eli at barzilay.org> wrote:
>> So, it doesn't look like this is related to the sandbox, and perhaps
>> also unrelated to planet -- unless the resolver is hooked in some bad
>> way.  I managed to minimize it to this:
>>  ---> tmp.rkt
>>  #lang racket/base
>>  (require (planet neil/numspell))
>> Running `racket tmp.rkt' shows the failure, and requiring the file
>> from the repl shows it too.  But I couldn't get a failure if the
>> planet module is required directly.
>> In an attempt to minimize it, I got the planet resolver code (in
>> "collects/planet/private/resolver.rkt") down to just the following:
>>  #lang racket/base
>>  (define resolver
>>    (case-lambda
>>      [(name)
>>       (void)]
>>      [(spec module-path stx load? orig-paramz)
>>       (parameterize ([current-namespace (make-base-namespace)])
>>         (eprintf "1 ~s\n" (list spec module-path stx load? orig-paramz))
>>         (eval '(module program racket/base))
>>         (eprintf "2\n")
>>         (eval '(require 'program))
>>         (eprintf "3\n"))]))
>>  (provide (rename-out [resolver planet-module-name-resolver]
>>                       [x install?] [x download?]
>>                       [x resolve-planet-path] [x get-planet-module-path/pkg]))
>>  (define x 1)
>> and this still shows the same error.  I can try to minimize it further
>> if someone can point me where/how the resolver is hooked in.  I tried
>> some things with parameterizing `current-module-name-resolver'
>> directly, but that doesn't work.
>> --
>>          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
>>                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.