Subject: Re: bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files

From: Eli Zaretskii <[email-masked]>
Date: Sun, 22 Feb 2009 00:33:12 +0200

> From: Stefan Monnier <[email-masked]>
> Cc: [email-masked]
> Date: Sat, 21 Feb 2009 15:54:01 -0500
> 
> > After thinking some more about this, I don't see any easy and safe
> > solution besides adding a "bootstrap-emacs" file to the tarball.
> > Maybe in future releases we will be able to find a better way, but for
> > now this is the only one that's safe.
> 
> > I will do that if you agree.
> 
> I'd rather not if the patch I suggested works.  Does it?

Maybe it does, but it isn't meant to solve the problem at hand, as it
builds bootstrap-emacs unconditionally.

> > In any case, it sounds wrong to me to have the distribution biased in
> > favor of people who build Emacs out of CVS.
> 
> My guess is that many more people build from CVS than from the release
> tarball.  Most users of the release will use a precompiled package.

Then perhaps we should stop producing releases.

> I do think the patch I proposed fixes the problem and doesn't make the
> code significantly more hairy, so I'm willing to install it.

Go ahead, and let's see what it does to the next pretest.

> >> >> Also, I'd like to make sure that if some wants to change some .el files
> >> >> and then recompile, it still works correctly.
> >> > It will, I think, because we can copy emacs to bootstrap-emacs at the
> >> > end of the build.
> >> What if they edit .el files before building a first `emacs'?
> > We could arrange for byte-recompile-directory at the end of the build,
> > if that is a real-life use-case.
> 
> That wouldn't help: the problem is that such a change would trigger
> recompilation of the .elc file, which in turn will run your dummy
> bootstrap-emacs, at which point the build will presumably fail.

You are assuming too much about what I meant.
byte-recompile-directory could use the just-built Emacs binary, and
the dummy bootstrap-emacs could be a shell script that just invoked
that same binary.