PLaneT and automatic compilation bad interaction (was Re: [plt-dev] Re: problem with optimistic compilation)

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Tue Aug 18 22:03:35 EDT 2009

On Fri, Aug 14, 2009 at 3:08 PM, Sam TH<samth at ccs.neu.edu> wrote:
> So, I think I just encountered the following problem:
>
> 1. Turn on all the new-fangled auto-compilation.
> 2. Add a planet require (for something not currently installed) to the
> module in the definitions window.
> 3. Watch while your entire collections tree gets recompiled.

Okay, I think I see what is happening. planet is invoking setup-plt like this:

           (parameterize ([current-namespace (make-namespace)])
             (let ([ipp (dynamic-require 'setup/plt-single-installer
                                         'install-planet-package)]
                   [rud (dynamic-require 'setup/plt-single-installer
                                         'reindex-user-documentation)])
               (ipp path the-dir (list owner (pkg-spec-name pkg)
                                       extra-path maj min))
               (unless was-nested?
                 (printf "------------- Rebuilding documentation index
-------------\n")
                 (rud))))

At the point where this code is run, the manager-skip-file-handler is
set to avoid compiling files in the plt collection tree. But, when
planet runs setup-plt, we get all new instantiations of the modules
and thus all new parameters and thus parameters all set to their
default values.

So, all of the entire plt tree is being compiled with errortrace .zo files.

I could just copy the manager-skip-file-handler parameter in the above
expression to the new handler, but I'm not sure that's really the
right thing.

Other opinions?

Robby


Posted on the dev mailing list.