Subject: bug#11649: 24.1.50; Some compilation woes

From: Eli Zaretskii <[email-masked]>
Date: Sun, 10 Jun 2012 05:59:43 +0300

> From: Stefan Monnier <[email-masked]>
> Cc: Juanma Barranquero <[email-masked]>,  [email-masked]
> Date: Sat, 09 Jun 2012 21:08:41 -0400
> 
> > By contrast, on MS-Windows, all of the Lisp files are compiled with
> > the bootstrapped Emacs executable, so they all are compiled with the
> > interpreted byte compiler.
> 
> Ahh... that could explain this high stack use.  That should also impose
> a fairly high impact on compilation speed.

But note that previously, 1200 was enough for the same compilation,
and the speed was also much higher.

> Usually "Invalid byte code in <foo>" happens because <foo> is
> byte-compile-dynamic (as is the case for cl-macs) and you try to call
> a function from it after byte-compiling a new version of the file.
> More specifically, the scenario is:
> 1- load cl-macs.elc.
> 2- don't call function <bla>.
> 3- change cl-macs.elc.
> 4- call <bla> which is dynamically loaded from cl-macs.elc.
> 5- now the offset loaded at point 1 is not valid any more, so you get an
>    error: you need to re-load cl-macs.elc.
> If the above cannot be explained by this scenario, we apparently have
> a serious new bug.

Maybe I'm missing something, but it sounds likeyour scenario requires
two compilations of cl-macs.el.  If so, this scenario cannot explain
the problem, because cl-macs.el is compiled exactly once during
bootstrap; before the compilation there's only cl-macs.el.