* bug#11649: Some compilation woes
@ 2012-06-08 13:19 Juanma Barranquero
2012-06-09 9:29 ` bug#11649: 24.1.50; " Eli Zaretskii
0 siblings, 1 reply; 33+ messages in thread
From: Juanma Barranquero @ 2012-06-08 13:19 UTC (permalink / raw)
To: 11649
Package: emacs
Version: 24.1.50
1) Bootstrapping now generates a few "lisp nesting exceeds
max-lisp-eval-depth" errors:
In toplevel form:
progmodes/make-mode.el:324:1:Error: Lisp nesting exceeds `max-lisp-eval-depth'
In toplevel form:
textmodes/rst.el:271:1:Error: Lisp nesting exceeds `max-lisp-eval-depth'
In toplevel form:
cedet/semantic/bovine/c-by.el:183:1:Error: Lisp nesting exceeds
`max-lisp-eval-depth'
2) Byte-compilation generates lots of new "function X might not be
defined at runtime". AFAICS, they are generated for functions used
before they are defined (with defun).
3) Byte-compilation seems quite fragile. After a successful bootstrap,
touch'ing every *.el in lisp/** and doing
cd lisp
make recompile
produces quite a few errors:
Generating autoloads for ibuf-macs.el...
Autoload cookie error in ibuf-macs.el:129 (wrong-type-argument integerp nil)
Autoload cookie error in ibuf-macs.el:160 (wrong-type-argument integerp nil)
Autoload cookie error in ibuf-macs.el:264 (wrong-type-argument integerp nil)
Autoload cookie error in ibuf-macs.el:299 (wrong-type-argument integerp nil)
Generating autoloads for ibuf-macs.el...done
In toplevel form:
textmodes/rst.el:120:1:Error: Invalid byte code in
c:/emacs/trunk/lisp/emacs-lisp/cl-macs.elc
Checking c:/emacs/trunk/lisp/url...
Checking c:/emacs/trunk/lisp/vc...
Compiling c:emacs/repo/lisp/vc/pcvs.el...
Compiler-macro error: (error "Invalid byte code in
c:/emacs/trunk/lisp/emacs-lisp/cl-macs.elc")
Compiler-macro error: (error "Invalid byte code in
c:/emacs/trunk/lisp/emacs-lisp/cl-macs.elc")
etc
Juanma
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-08 13:19 bug#11649: Some compilation woes Juanma Barranquero
@ 2012-06-09 9:29 ` Eli Zaretskii
2012-06-09 10:05 ` Juanma Barranquero
` (3 more replies)
0 siblings, 4 replies; 33+ messages in thread
From: Eli Zaretskii @ 2012-06-09 9:29 UTC (permalink / raw)
To: Juanma Barranquero, Stefan Monnier; +Cc: 11649
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Fri, 8 Jun 2012 15:19:27 +0200
>
> 1) Bootstrapping now generates a few "lisp nesting exceeds
> max-lisp-eval-depth" errors:
>
> In toplevel form:
> progmodes/make-mode.el:324:1:Error: Lisp nesting exceeds `max-lisp-eval-depth'
>
> In toplevel form:
> textmodes/rst.el:271:1:Error: Lisp nesting exceeds `max-lisp-eval-depth'
>
> In toplevel form:
> cedet/semantic/bovine/c-by.el:183:1:Error: Lisp nesting exceeds
> `max-lisp-eval-depth'
I fixed this in revision 108536, by enlarging the stack depth of the
byte compiler when it is run interpreted. The new size is 2200; the
largest value I needed to use to compile the above files was 2000.
AFAICS, this problem doesn't show on Posix hosts because there the
byte compiler is run interpreted only for a small set of Lisp files
that are preloaded into Emacs. After these are compiled, the
bootstrap process produces a new Emacs executable with those files
preloaded, then compiles the rest of Lisp files with this new
executable, where the byte compiler no longer runs interpreted.
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.
Volunteers are welcome to change the Windows bootstrap procedure to
include this optimization. In the meantime, a larger stack will have
to be the solution.
> 2) Byte-compilation generates lots of new "function X might not be
> defined at runtime". AFAICS, they are generated for functions used
> before they are defined (with defun).
I don't see this with the latest trunk. If you do, can you show a
complete recipe with the messages it produces?
> 3) Byte-compilation seems quite fragile. After a successful bootstrap,
> touch'ing every *.el in lisp/** and doing
>
> cd lisp
> make recompile
>
> produces quite a few errors:
>
> Generating autoloads for ibuf-macs.el...
> Autoload cookie error in ibuf-macs.el:129 (wrong-type-argument integerp nil)
> Autoload cookie error in ibuf-macs.el:160 (wrong-type-argument integerp nil)
> Autoload cookie error in ibuf-macs.el:264 (wrong-type-argument integerp nil)
> Autoload cookie error in ibuf-macs.el:299 (wrong-type-argument integerp nil)
> Generating autoloads for ibuf-macs.el...done
Do you still see this one?
> In toplevel form:
> textmodes/rst.el:120:1:Error: Invalid byte code in
> c:/emacs/trunk/lisp/emacs-lisp/cl-macs.elc
> Checking c:/emacs/trunk/lisp/url...
> Checking c:/emacs/trunk/lisp/vc...
> Compiling c:emacs/repo/lisp/vc/pcvs.el...
> Compiler-macro error: (error "Invalid byte code in
> c:/emacs/trunk/lisp/emacs-lisp/cl-macs.elc")
> Compiler-macro error: (error "Invalid byte code in
> c:/emacs/trunk/lisp/emacs-lisp/cl-macs.elc")
> etc
I confirm these. They also happen on GNU/Linux. My interpretation of
this is that some of the files compiled by bootstrap-emacs produce
invalid .elc files (e.g., cl-macs.elc, cl-lib.elc, and pvcs-util.elc),
because once they are compiled by the non-bootstrap Emacs executable,
the errors go away. Stefan, can you please look into this?
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-09 9:29 ` bug#11649: 24.1.50; " Eli Zaretskii
@ 2012-06-09 10:05 ` Juanma Barranquero
2012-06-09 11:41 ` Eli Zaretskii
2012-06-09 10:14 ` martin rudalics
` (2 subsequent siblings)
3 siblings, 1 reply; 33+ messages in thread
From: Juanma Barranquero @ 2012-06-09 10:05 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 11649
On Sat, Jun 9, 2012 at 11:29 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> Volunteers are welcome to change the Windows bootstrap procedure to
> include this optimization. In the meantime, a larger stack will have
> to be the solution.
I see. Though the stack depth still depends of the needs of that small
number of preloaded files. Presumably none of them is big or complex
enough.
> I don't see this with the latest trunk. If you do, can you show a
> complete recipe with the messages it produces?
I will try next wednesday. I don't have access to a build environment
right now. But the recipe was just bootstrapping from a clean slate. I
saw the warnings because I compare the bootstrap log with the previous
bootstrap log (usually a few days older, at most).
>> Autoload cookie error in ibuf-macs.el:129 (wrong-type-argument integerp nil)
>
> Do you still see this one?
I'll check.
Juanma
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-09 9:29 ` bug#11649: 24.1.50; " Eli Zaretskii
2012-06-09 10:05 ` Juanma Barranquero
@ 2012-06-09 10:14 ` martin rudalics
2012-06-09 11:38 ` Eli Zaretskii
2012-06-10 1:08 ` Stefan Monnier
2012-06-12 21:35 ` Juanma Barranquero
3 siblings, 1 reply; 33+ messages in thread
From: martin rudalics @ 2012-06-09 10:14 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Juanma Barranquero, 11649
> Do you still see this one?
>
>> In toplevel form:
>> textmodes/rst.el:120:1:Error: Invalid byte code in
>> c:/emacs/trunk/lisp/emacs-lisp/cl-macs.elc
>> Checking c:/emacs/trunk/lisp/url...
>> Checking c:/emacs/trunk/lisp/vc...
>> Compiling c:emacs/repo/lisp/vc/pcvs.el...
>> Compiler-macro error: (error "Invalid byte code in
>> c:/emacs/trunk/lisp/emacs-lisp/cl-macs.elc")
>> Compiler-macro error: (error "Invalid byte code in
>> c:/emacs/trunk/lisp/emacs-lisp/cl-macs.elc")
>> etc
>
> I confirm these. They also happen on GNU/Linux. My interpretation of
> this is that some of the files compiled by bootstrap-emacs produce
> invalid .elc files (e.g., cl-macs.elc, cl-lib.elc, and pvcs-util.elc),
> because once they are compiled by the non-bootstrap Emacs executable,
> the errors go away. Stefan, can you please look into this?
I got these too for a couple of weeks but didn't get them with today's
bootstrap.
martin
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-09 10:14 ` martin rudalics
@ 2012-06-09 11:38 ` Eli Zaretskii
2012-06-09 13:02 ` martin rudalics
0 siblings, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2012-06-09 11:38 UTC (permalink / raw)
To: martin rudalics; +Cc: lekktu, 11649
> Date: Sat, 09 Jun 2012 12:14:14 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: Juanma Barranquero <lekktu@gmail.com>,
> Stefan Monnier <monnier@iro.umontreal.ca>,
> 11649@debbugs.gnu.org
>
> > Do you still see this one?
> >
> >> In toplevel form:
> >> textmodes/rst.el:120:1:Error: Invalid byte code in
> >> c:/emacs/trunk/lisp/emacs-lisp/cl-macs.elc
> >> Checking c:/emacs/trunk/lisp/url...
> >> Checking c:/emacs/trunk/lisp/vc...
> >> Compiling c:emacs/repo/lisp/vc/pcvs.el...
> >> Compiler-macro error: (error "Invalid byte code in
> >> c:/emacs/trunk/lisp/emacs-lisp/cl-macs.elc")
> >> Compiler-macro error: (error "Invalid byte code in
> >> c:/emacs/trunk/lisp/emacs-lisp/cl-macs.elc")
> >> etc
> >
> > I confirm these. They also happen on GNU/Linux. My interpretation of
> > this is that some of the files compiled by bootstrap-emacs produce
> > invalid .elc files (e.g., cl-macs.elc, cl-lib.elc, and pvcs-util.elc),
> > because once they are compiled by the non-bootstrap Emacs executable,
> > the errors go away. Stefan, can you please look into this?
>
> I got these too for a couple of weeks but didn't get them with today's
> bootstrap.
Did you repeat Juanma's recipe? You need to touch every .el file in
the lisp/ subdirectory, then type "make recompile".
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-09 10:05 ` Juanma Barranquero
@ 2012-06-09 11:41 ` Eli Zaretskii
2012-06-09 19:28 ` Juanma Barranquero
0 siblings, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2012-06-09 11:41 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: 11649
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Sat, 9 Jun 2012 12:05:41 +0200
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, 11649@debbugs.gnu.org
>
> On Sat, Jun 9, 2012 at 11:29 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>
> > Volunteers are welcome to change the Windows bootstrap procedure to
> > include this optimization. In the meantime, a larger stack will have
> > to be the solution.
>
> I see. Though the stack depth still depends of the needs of that small
> number of preloaded files. Presumably none of them is big or complex
> enough.
Are you saying that there's some bug in the byte compiler? You may be
right, although I don't see why the value 1200 should be OK, but 2200
shouldn't.
> > I don't see this with the latest trunk. If you do, can you show a
> > complete recipe with the messages it produces?
>
> I will try next wednesday. I don't have access to a build environment
> right now. But the recipe was just bootstrapping from a clean slate. I
> saw the warnings because I compare the bootstrap log with the previous
> bootstrap log (usually a few days older, at most).
>
> >> Autoload cookie error in ibuf-macs.el:129 (wrong-type-argument integerp nil)
> >
> > Do you still see this one?
>
> I'll check.
Thanks.
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-09 11:38 ` Eli Zaretskii
@ 2012-06-09 13:02 ` martin rudalics
0 siblings, 0 replies; 33+ messages in thread
From: martin rudalics @ 2012-06-09 13:02 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: lekktu, 11649
> Did you repeat Juanma's recipe? You need to touch every .el file in
> the lisp/ subdirectory, then type "make recompile".
No. I'll report back when I find out more.
martin
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-09 11:41 ` Eli Zaretskii
@ 2012-06-09 19:28 ` Juanma Barranquero
2012-06-10 2:52 ` Eli Zaretskii
0 siblings, 1 reply; 33+ messages in thread
From: Juanma Barranquero @ 2012-06-09 19:28 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 11649
On Sat, Jun 9, 2012 at 1:41 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> Are you saying that there's some bug in the byte compiler? You may be
> right, although I don't see why the value 1200 should be OK, but 2200
> shouldn't.
No, I'm saying that I don't see a problem in the way it is currently
done on Windows because, at the end, even doing it as it is done in
POSIX does not guarantee that you won't be forced to use a greater
stack depth sooner or later, because it depends on the small number of
files that are compiled with the interpreted byte-compiler, and these
files are not static; they can grow bigger or more complex and
eventually, someday, trigger the same stack depth error. Unless I've
failed to understand you.
Juanma
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-09 9:29 ` bug#11649: 24.1.50; " Eli Zaretskii
2012-06-09 10:05 ` Juanma Barranquero
2012-06-09 10:14 ` martin rudalics
@ 2012-06-10 1:08 ` Stefan Monnier
2012-06-10 2:59 ` Eli Zaretskii
2012-06-12 21:35 ` Juanma Barranquero
3 siblings, 1 reply; 33+ messages in thread
From: Stefan Monnier @ 2012-06-10 1:08 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Juanma Barranquero, 11649
> 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.
>> In toplevel form:
>> textmodes/rst.el:120:1:Error: Invalid byte code in
>> c:/emacs/trunk/lisp/emacs-lisp/cl-macs.elc
>> Checking c:/emacs/trunk/lisp/url...
>> Checking c:/emacs/trunk/lisp/vc...
>> Compiling c:emacs/repo/lisp/vc/pcvs.el...
>> Compiler-macro error: (error "Invalid byte code in
>> c:/emacs/trunk/lisp/emacs-lisp/cl-macs.elc")
>> Compiler-macro error: (error "Invalid byte code in
>> c:/emacs/trunk/lisp/emacs-lisp/cl-macs.elc")
>> etc
> I confirm these. They also happen on GNU/Linux. My interpretation of
> this is that some of the files compiled by bootstrap-emacs produce
> invalid .elc files (e.g., cl-macs.elc, cl-lib.elc, and pvcs-util.elc),
> because once they are compiled by the non-bootstrap Emacs executable,
> the errors go away. Stefan, can you please look into this?
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.
Stefan
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-09 19:28 ` Juanma Barranquero
@ 2012-06-10 2:52 ` Eli Zaretskii
0 siblings, 0 replies; 33+ messages in thread
From: Eli Zaretskii @ 2012-06-10 2:52 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: 11649
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Sat, 9 Jun 2012 21:28:28 +0200
> Cc: 11649@debbugs.gnu.org
>
> On Sat, Jun 9, 2012 at 1:41 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>
> > Are you saying that there's some bug in the byte compiler? You may be
> > right, although I don't see why the value 1200 should be OK, but 2200
> > shouldn't.
>
> No, I'm saying that I don't see a problem in the way it is currently
> done on Windows because, at the end, even doing it as it is done in
> POSIX does not guarantee that you won't be forced to use a greater
> stack depth sooner or later, because it depends on the small number of
> files that are compiled with the interpreted byte-compiler, and these
> files are not static; they can grow bigger or more complex and
> eventually, someday, trigger the same stack depth error. Unless I've
> failed to understand you.
No, you understood me. That's why I didn't hesitate to enlarge the
stack size.
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-10 1:08 ` Stefan Monnier
@ 2012-06-10 2:59 ` Eli Zaretskii
2012-06-10 14:40 ` Stefan Monnier
0 siblings, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2012-06-10 2:59 UTC (permalink / raw)
To: Stefan Monnier; +Cc: lekktu, 11649
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Juanma Barranquero <lekktu@gmail.com>, 11649@debbugs.gnu.org
> 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.
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-10 2:59 ` Eli Zaretskii
@ 2012-06-10 14:40 ` Stefan Monnier
2012-06-10 16:05 ` Eli Zaretskii
0 siblings, 1 reply; 33+ messages in thread
From: Stefan Monnier @ 2012-06-10 14:40 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: lekktu, 11649
>> > 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.
Yes, the stack depth is probably linked to the 8x speed impact discussed
elsewhere.
> Maybe I'm missing something, but it sounds likeyour scenario requires
> two compilations of cl-macs.el.
That's right.
> 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.
Then, we need to investigate the real source of the problem.
Does someone have a reproducible recipe for it?
Stefan
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-10 14:40 ` Stefan Monnier
@ 2012-06-10 16:05 ` Eli Zaretskii
2012-06-13 14:12 ` Stefan Monnier
0 siblings, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2012-06-10 16:05 UTC (permalink / raw)
To: Stefan Monnier; +Cc: lekktu, 11649
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: lekktu@gmail.com, 11649@debbugs.gnu.org
> Date: Sun, 10 Jun 2012 10:40:54 -0400
>
> > 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.
>
> Then, we need to investigate the real source of the problem.
> Does someone have a reproducible recipe for it?
The way I did it was to wait until the bootstrap version of Emacs,
with all the preloaded Lisp files in .el form, dumps itself during
bootstrap, then copy the executable aside, and use it for compiling
whatever Lisp files I wanted.
Andreas suggested a different recipe, which I think is equivalent.
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-09 9:29 ` bug#11649: 24.1.50; " Eli Zaretskii
` (2 preceding siblings ...)
2012-06-10 1:08 ` Stefan Monnier
@ 2012-06-12 21:35 ` Juanma Barranquero
2012-06-12 22:27 ` Glenn Morris
3 siblings, 1 reply; 33+ messages in thread
From: Juanma Barranquero @ 2012-06-12 21:35 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 11649
On Sat, Jun 9, 2012 at 11:29 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>> 2) Byte-compilation generates lots of new "function X might not be
>> defined at runtime". AFAICS, they are generated for functions used
>> before they are defined (with defun).
>
> I don't see this with the latest trunk. If you do, can you show a
> complete recipe with the messages it produces?
I don't see it in today's trunk.
>> Generating autoloads for ibuf-macs.el...
>> Autoload cookie error in ibuf-macs.el:129 (wrong-type-argument integerp nil)
>> Autoload cookie error in ibuf-macs.el:160 (wrong-type-argument integerp nil)
>> Autoload cookie error in ibuf-macs.el:264 (wrong-type-argument integerp nil)
>> Autoload cookie error in ibuf-macs.el:299 (wrong-type-argument integerp nil)
>> Generating autoloads for ibuf-macs.el...done
>
> Do you still see this one?
Yes. As of revno:108574,
Autoload cookie error in progmodes/ebrowse.el:3654
(wrong-type-argument integerp nil)
...
Autoload cookie error in erc/erc.el:2169 (wrong-type-argument integerp nil)
..,
Autoload cookie error in emacs-lisp/ert.el:340 (wrong-type-argument
integerp nil)
...
Autoload cookie error in net/quickurl.el:322 (wrong-type-argument integerp nil)
...
Autoload cookie error in ibuf-macs.el:129 (wrong-type-argument integerp nil)
Autoload cookie error in ibuf-macs.el:160 (wrong-type-argument integerp nil)
Autoload cookie error in ibuf-macs.el:264 (wrong-type-argument integerp nil)
Autoload cookie error in ibuf-macs.el:299 (wrong-type-argument integerp nil)
> Stefan, can you please look into this?
And the "Invalid byte code" errors still happen.
Juanma
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-12 21:35 ` Juanma Barranquero
@ 2012-06-12 22:27 ` Glenn Morris
2012-06-12 22:39 ` Glenn Morris
0 siblings, 1 reply; 33+ messages in thread
From: Glenn Morris @ 2012-06-12 22:27 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: 11649
Juanma Barranquero wrote:
> Autoload cookie error in progmodes/ebrowse.el:3654
> (wrong-type-argument integerp nil)
Trivially reproducible for me on GNU/Linux, using a variant of the
suggested method:
bootstrap
cd lisp
touch ibuf-macs.el
make autoloads
Here is a backtrace (from autoloads.el):
Generating autoloads for ibuf-macs.el...
Debugger entered--Lisp error: (wrong-type-argument integerp nil)
nthcdr(nil (defmacro* define-ibuffer-column (symbol (&key name inline props summarizer header-mouse-map) &rest body) "Define a column SYMBOL for use with `ibuffer-formats'.\n\nBODY will be called with `buffer' bound to the buffer object, and\n`mark' bound to the current mark on the buffer. The original ibuffer\nbuffer will be bound to `ibuffer-buf'.\n\nIf NAME is given, it will be used as a title for the column.\nOtherwise, the title will default to a capitalized version of the\nSYMBOL's name. PROPS is a plist of additional properties to add to\nthe text, such as `mouse-face'. And SUMMARIZER, if given, is a\nfunction which will be passed a list of all the strings in its column;\nit should return a string to display at the bottom.\n\nIf HEADER-MOUSE-MAP is given, it will be used as a keymap for the\ntitle of the column.\n\nNote that this macro expands into a `defun' for a function named\nibuffer-make-column-NAME. If INLINE is non-nil, then the form will be\ninlined into the compiled format versions. This means that if you\nchange its definition, you should explicitly call\n`ibuffer-recompile-formats'.\n\n(fn SYMBOL (&key NAME INLINE PROPS SUMMARIZER) &rest BODY)" (declare (indent defun)) (let* ((sym (intern (concat "ibuffer-make-column-" (symbol-name symbol)))) (bod-1 (\` (with-current-buffer buffer (\,@ body)))) (bod (if props (\` (propertize (\, bod-1) (\,@ props))) bod-1))) (\` (progn (\, (if inline (\` (push ... ibuffer-inline-columns)) (\` (defun ... ... ...)))) (put (quote (\, sym)) (quote ibuffer-column-name) (\, (if (stringp name) name (capitalize ...)))) (\, (if header-mouse-map (\` (put ... ... ...)))) (\, (if summarizer (\` (put ... ... ...)))) (\, (if summarizer (\` (put ... ... nil)))) :autoload-end)))))
(let* ((macrop (memq car (quote (defmacro defmacro*)))) (name (nth 1 form)) (args (cl-case car ((defun defmacro defun* defmacro* define-overloadable-function) (nth 2 form)) ((define-skeleton) (quote (&optional str arg))) ((define-generic-mode define-derived-mode define-compilation-mode) nil) (t))) (body (nthcdr (get car (quote doc-string-elt)) form)) (doc (if (stringp (car body)) (pop body)))) (when (listp args) (setq doc (help-add-fundoc-usage doc args))) (list (quote autoload) (if (listp name) name (list (quote quote) name)) file doc (or (and (memq car (quote (define-skeleton define-derived-mode define-generic-mode easy-mmode-define-global-mode define-global-minor-mode define-globalized-minor-mode easy-mmode-define-minor-mode define-minor-mode))) t) (eq (car-safe (car body)) (quote interactive))) (if macrop (list (quote quote) (quote macro)) nil)))
(cond ((and expansion (eq car (quote defalias))) (pcase-let* (((\` ((\, _) (\, _) (\, arg) \, rest)) form) ((or (and (or ... ...) (let type t)) (and (let fun arg) (let type nil))) arg) (lam (if (memq (car-safe fun) (quote ...)) (cadr fun))) ((or (\` (lambda ... \, body)) (and (let args t) (let body t))) lam) (doc (cond ((stringp ...) (car body)) ((stringp ...) (car rest)))) (interactive (pcase body ((or ... ...) t)))) (when (listp args) (setq doc (help-add-fundoc-usage doc args))) (\` (autoload (\, (nth 1 form)) (\, file) (\, doc) (\, interactive) (\, type))))) ((and expansion (memq car (quote (progn prog1)))) (let ((end (memq :autoload-end form))) (when end (setq form (copy-sequence form)) (setcdr (memq :autoload-end form) nil)) (let ((exps (delq nil (mapcar ... ...)))) (when exps (cons (quote progn) exps))))) ((and (memq car (quote (easy-mmode-define-global-mode define-global-minor-mode define-globalized-minor-mode defun defmacro easy-mmode-define-minor-mode define-minor-mode))) (setq expand (let ((load-file-name file)) (macroexpand form))) (memq (car expand) (quote (progn prog1 defalias)))) (make-autoload expand file (quote expansion))) ((memq car (quote (define-skeleton define-derived-mode define-compilation-mode define-generic-mode easy-mmode-define-global-mode define-global-minor-mode define-globalized-minor-mode easy-mmode-define-minor-mode define-minor-mode defun* defmacro* define-overloadable-function))) (let* ((macrop (memq car (quote (defmacro defmacro*)))) (name (nth 1 form)) (args (cl-case car ((defun defmacro defun* defmacro* define-overloadable-function) (nth 2 form)) ((define-skeleton) (quote ...)) ((define-generic-mode define-derived-mode define-compilation-mode) nil) (t))) (body (nthcdr (get car (quote doc-string-elt)) form)) (doc (if (stringp (car body)) (pop body)))) (when (listp args) (setq doc (help-add-fundoc-usage doc args))) (list (quote autoload) (if (listp name) name (list (quote quote) name)) file doc (or (and (memq car (quote ...)) t) (eq (car-safe (car body)) (quote interactive))) (if macrop (list (quote quote) (quote macro)) nil)))) ((eq car (quote defclass)) (let ((name (nth 1 form)) (superclasses (nth 2 form)) (doc (nth 4 form))) (list (quote eieio-defclass-autoload) (list (quote quote) name) (list (quote quote) superclasses) file doc))) ((eq car (quote defcustom)) (let ((varname (car-safe (cdr-safe form))) (init (car-safe (cdr-safe (cdr-safe form)))) (doc (car-safe (cdr-safe (cdr-safe ...))))) (\` (progn (defvar (\, varname) (\, init) (\, doc)) (custom-autoload (quote (\, varname)) (\, file) (\, (condition-case nil ... ...))))))) ((eq car (quote defgroup)) (let ((groupname (nth 1 form))) (\` (let ((loads (get ... ...))) (if (member (quote ...) loads) nil (put (quote ...) (quote custom-loads) (cons ... loads))))))) ((and expansion (consp form)) form) (t nil))
(let ((car (car-safe form)) expand) (cond ((and expansion (eq car (quote defalias))) (pcase-let* (((\` (... ... ... \, rest)) form) ((or (and ... ...) (and ... ...)) arg) (lam (if (memq ... ...) (cadr fun))) ((or (\` ...) (and ... ...)) lam) (doc (cond (... ...) (... ...))) (interactive (pcase body (... t)))) (when (listp args) (setq doc (help-add-fundoc-usage doc args))) (\` (autoload (\, (nth 1 form)) (\, file) (\, doc) (\, interactive) (\, type))))) ((and expansion (memq car (quote (progn prog1)))) (let ((end (memq :autoload-end form))) (when end (setq form (copy-sequence form)) (setcdr (memq :autoload-end form) nil)) (let ((exps (delq nil ...))) (when exps (cons (quote progn) exps))))) ((and (memq car (quote (easy-mmode-define-global-mode define-global-minor-mode define-globalized-minor-mode defun defmacro easy-mmode-define-minor-mode define-minor-mode))) (setq expand (let ((load-file-name file)) (macroexpand form))) (memq (car expand) (quote (progn prog1 defalias)))) (make-autoload expand file (quote expansion))) ((memq car (quote (define-skeleton define-derived-mode define-compilation-mode define-generic-mode easy-mmode-define-global-mode define-global-minor-mode define-globalized-minor-mode easy-mmode-define-minor-mode define-minor-mode defun* defmacro* define-overloadable-function))) (let* ((macrop (memq car (quote ...))) (name (nth 1 form)) (args (cl-case car (... ...) (... ...) (... nil) (t))) (body (nthcdr (get car ...) form)) (doc (if (stringp ...) (pop body)))) (when (listp args) (setq doc (help-add-fundoc-usage doc args))) (list (quote autoload) (if (listp name) name (list (quote quote) name)) file doc (or (and (memq car ...) t) (eq (car-safe ...) (quote interactive))) (if macrop (list (quote quote) (quote macro)) nil)))) ((eq car (quote defclass)) (let ((name (nth 1 form)) (superclasses (nth 2 form)) (doc (nth 4 form))) (list (quote eieio-defclass-autoload) (list (quote quote) name) (list (quote quote) superclasses) file doc))) ((eq car (quote defcustom)) (let ((varname (car-safe (cdr-safe form))) (init (car-safe (cdr-safe ...))) (doc (car-safe (cdr-safe ...)))) (\` (progn (defvar (\, varname) (\, init) (\, doc)) (custom-autoload (quote ...) (\, file) (\, ...)))))) ((eq car (quote defgroup)) (let ((groupname (nth 1 form))) (\` (let ((loads ...)) (if (member ... loads) nil (put ... ... ...)))))) ((and expansion (consp form)) form) (t nil)))
make-autoload((defmacro* define-ibuffer-column (symbol (&key name inline props summarizer header-mouse-map) &rest body) "Define a column SYMBOL for use with `ibuffer-formats'.\n\nBODY will be called with `buffer' bound to the buffer object, and\n`mark' bound to the current mark on the buffer. The original ibuffer\nbuffer will be bound to `ibuffer-buf'.\n\nIf NAME is given, it will be used as a title for the column.\nOtherwise, the title will default to a capitalized version of the\nSYMBOL's name. PROPS is a plist of additional properties to add to\nthe text, such as `mouse-face'. And SUMMARIZER, if given, is a\nfunction which will be passed a list of all the strings in its column;\nit should return a string to display at the bottom.\n\nIf HEADER-MOUSE-MAP is given, it will be used as a keymap for the\ntitle of the column.\n\nNote that this macro expands into a `defun' for a function named\nibuffer-make-column-NAME. If INLINE is non-nil, then the form will be\ninlined into the compiled format versions. This means that if you\nchange its definition, you should explicitly call\n`ibuffer-recompile-formats'.\n\n(fn SYMBOL (&key NAME INLINE PROPS SUMMARIZER) &rest BODY)" (declare (indent defun)) (let* ((sym (intern (concat "ibuffer-make-column-" (symbol-name symbol)))) (bod-1 (\` (with-current-buffer buffer (\,@ body)))) (bod (if props (\` (propertize (\, bod-1) (\,@ props))) bod-1))) (\` (progn (\, (if inline (\` (push ... ibuffer-inline-columns)) (\` (defun ... ... ...)))) (put (quote (\, sym)) (quote ibuffer-column-name) (\, (if (stringp name) name (capitalize ...)))) (\, (if header-mouse-map (\` (put ... ... ...)))) (\, (if summarizer (\` (put ... ... ...)))) (\, (if summarizer (\` (put ... ... nil)))) :autoload-end)))) "ibuf-macs")
(let* ((form (prog1 (read (current-buffer)) (or (bolp) (forward-line 1)))) (autoload (make-autoload form load-name))) (if autoload (push (nth 1 form) autoloads-done) (setq autoload form)) (let ((autoload-print-form-outbuf (marker-buffer output-start))) (autoload-print-form autoload)))
(closure ((ostart . 515329) (output-start . #<marker at 515329 in loaddefs.el>) (absfile . "/tmp/trunk/lisp/ibuf-macs.el") (otherbuf) (visited) (load-name . "ibuf-macs") (autoloads-done) (outfile . "/tmp/trunk/lisp/loaddefs.el") (outbuf . #<buffer loaddefs.el>) (file . "ibuf-macs.el") print-readably autoload-modified-buffers t) nil (let* ((form (prog1 (read (current-buffer)) (or (bolp) (forward-line 1)))) (autoload (make-autoload form load-name))) (if autoload (push (nth 1 form) autoloads-done) (setq autoload form)) (let ((autoload-print-form-outbuf (marker-buffer output-start))) (autoload-print-form autoload))))()
funcall((closure ((ostart . 515329) (output-start . #<marker at 515329 in loaddefs.el>) (absfile . "/tmp/trunk/lisp/ibuf-macs.el") (otherbuf) (visited) (load-name . "ibuf-macs") (autoloads-done) (outfile . "/tmp/trunk/lisp/loaddefs.el") (outbuf . #<buffer loaddefs.el>) (file . "ibuf-macs.el") print-readably autoload-modified-buffers t) nil (let* ((form (prog1 (read (current-buffer)) (or (bolp) (forward-line 1)))) (autoload (make-autoload form load-name))) (if autoload (push (nth 1 form) autoloads-done) (setq autoload form)) (let ((autoload-print-form-outbuf (marker-buffer output-start))) (autoload-print-form autoload)))))
(if debug-on-error (funcall body) (condition-case err (funcall body) (error (message "Autoload cookie error in %s:%s %S" file (count-lines (point-min) (point)) err))))
(let ((body (lambda nil (let* ((form (prog1 ... ...)) (autoload (make-autoload form load-name))) (if autoload (push (nth 1 form) autoloads-done) (setq autoload form)) (let ((autoload-print-form-outbuf ...)) (autoload-print-form autoload)))))) (if debug-on-error (funcall body) (condition-case err (funcall body) (error (message "Autoload cookie error in %s:%s %S" file (count-lines (point-min) (point)) err)))))
(condition-case-unless-debug err (let* ((form (prog1 (read (current-buffer)) (or (bolp) (forward-line 1)))) (autoload (make-autoload form load-name))) (if autoload (push (nth 1 form) autoloads-done) (setq autoload form)) (let ((autoload-print-form-outbuf (marker-buffer output-start))) (autoload-print-form autoload))) (error (message "Autoload cookie error in %s:%s %S" file (count-lines (point-min) (point)) err)))
(if (eolp) (condition-case-unless-debug err (let* ((form (prog1 (read (current-buffer)) (or (bolp) (forward-line 1)))) (autoload (make-autoload form load-name))) (if autoload (push (nth 1 form) autoloads-done) (setq autoload form)) (let ((autoload-print-form-outbuf (marker-buffer output-start))) (autoload-print-form autoload))) (error (message "Autoload cookie error in %s:%s %S" file (count-lines (point-min) (point)) err))) (princ (buffer-substring (progn (skip-chars-backward " \f ") (if (= (char-after (1+ ...)) 32) (forward-char 1)) (point)) (progn (forward-line 1) (point))) (marker-buffer output-start)))
(cond ((looking-at (regexp-quote generate-autoload-cookie)) (unless output-start (let ((outbuf (or (if otherbuf nil outbuf) (autoload-find-destination absfile load-name) (throw ... otherbuf)))) (with-current-buffer outbuf (setq output-start (point-marker) ostart (point))))) (search-forward generate-autoload-cookie) (skip-chars-forward " ") (if (eolp) (condition-case-unless-debug err (let* ((form (prog1 ... ...)) (autoload (make-autoload form load-name))) (if autoload (push (nth 1 form) autoloads-done) (setq autoload form)) (let ((autoload-print-form-outbuf ...)) (autoload-print-form autoload))) (error (message "Autoload cookie error in %s:%s %S" file (count-lines (point-min) (point)) err))) (princ (buffer-substring (progn (skip-chars-backward " \f ") (if (= ... 32) (forward-char 1)) (point)) (progn (forward-line 1) (point))) (marker-buffer output-start)))) ((looking-at ";") (forward-line 1)) (t (forward-sexp 1) (forward-line 1)))
(while (not (eobp)) (skip-chars-forward " \n\f") (cond ((looking-at (regexp-quote generate-autoload-cookie)) (unless output-start (let ((outbuf (or ... ... ...))) (with-current-buffer outbuf (setq output-start (point-marker) ostart (point))))) (search-forward generate-autoload-cookie) (skip-chars-forward " ") (if (eolp) (condition-case-unless-debug err (let* ((form ...) (autoload ...)) (if autoload (push ... autoloads-done) (setq autoload form)) (let (...) (autoload-print-form autoload))) (error (message "Autoload cookie error in %s:%s %S" file (count-lines ... ...) err))) (princ (buffer-substring (progn (skip-chars-backward " \f ") (if ... ...) (point)) (progn (forward-line 1) (point))) (marker-buffer output-start)))) ((looking-at ";") (forward-line 1)) (t (forward-sexp 1) (forward-line 1))))
(save-restriction (widen) (goto-char (point-min)) (while (not (eobp)) (skip-chars-forward " \n\f") (cond ((looking-at (regexp-quote generate-autoload-cookie)) (unless output-start (let ((outbuf ...)) (with-current-buffer outbuf (setq output-start ... ostart ...)))) (search-forward generate-autoload-cookie) (skip-chars-forward " ") (if (eolp) (condition-case-unless-debug err (let* (... ...) (if autoload ... ...) (let ... ...)) (error (message "Autoload cookie error in %s:%s %S" file ... err))) (princ (buffer-substring (progn ... ... ...) (progn ... ...)) (marker-buffer output-start)))) ((looking-at ";") (forward-line 1)) (t (forward-sexp 1) (forward-line 1)))))
(save-excursion (save-restriction (widen) (goto-char (point-min)) (while (not (eobp)) (skip-chars-forward " \n\f") (cond ((looking-at (regexp-quote generate-autoload-cookie)) (unless output-start (let (...) (with-current-buffer outbuf ...))) (search-forward generate-autoload-cookie) (skip-chars-forward " ") (if (eolp) (condition-case-unless-debug err (let* ... ... ...) (error ...)) (princ (buffer-substring ... ...) (marker-buffer output-start)))) ((looking-at ";") (forward-line 1)) (t (forward-sexp 1) (forward-line 1))))))
(if no-update-autoloads nil (message "Generating autoloads for %s..." file) (setq load-name (if (stringp generated-autoload-load-name) generated-autoload-load-name (autoload-file-load-name absfile))) (when (and outfile (not (if (memq system-type (quote (ms-dos windows-nt))) (equal (downcase outfile) (downcase (autoload-generated-file))) (equal outfile (autoload-generated-file))))) (setq otherbuf t)) (save-excursion (save-restriction (widen) (goto-char (point-min)) (while (not (eobp)) (skip-chars-forward " \n\f") (cond ((looking-at (regexp-quote generate-autoload-cookie)) (unless output-start (let ... ...)) (search-forward generate-autoload-cookie) (skip-chars-forward " ") (if (eolp) (condition-case-unless-debug err ... ...) (princ ... ...))) ((looking-at ";") (forward-line 1)) (t (forward-sexp 1) (forward-line 1)))))) (when output-start (let ((secondary-autoloads-file-buf (if otherbuf (current-buffer)))) (with-current-buffer (marker-buffer output-start) (save-excursion (cl-assert (= ostart output-start)) (goto-char output-start) (let ((relfile ...)) (autoload-insert-section-header (marker-buffer output-start) autoloads-done load-name relfile (if secondary-autoloads-file-buf ... ...)) (insert ";;; Generated autoloads from " relfile "\n"))) (insert generate-autoload-section-trailer)))) (message "Generating autoloads for %s...done" file))
(unless no-update-autoloads (message "Generating autoloads for %s..." file) (setq load-name (if (stringp generated-autoload-load-name) generated-autoload-load-name (autoload-file-load-name absfile))) (when (and outfile (not (if (memq system-type (quote (ms-dos windows-nt))) (equal (downcase outfile) (downcase (autoload-generated-file))) (equal outfile (autoload-generated-file))))) (setq otherbuf t)) (save-excursion (save-restriction (widen) (goto-char (point-min)) (while (not (eobp)) (skip-chars-forward " \n\f") (cond ((looking-at (regexp-quote generate-autoload-cookie)) (unless output-start (let ... ...)) (search-forward generate-autoload-cookie) (skip-chars-forward " ") (if (eolp) (condition-case-unless-debug err ... ...) (princ ... ...))) ((looking-at ";") (forward-line 1)) (t (forward-sexp 1) (forward-line 1)))))) (when output-start (let ((secondary-autoloads-file-buf (if otherbuf (current-buffer)))) (with-current-buffer (marker-buffer output-start) (save-excursion (cl-assert (= ostart output-start)) (goto-char output-start) (let ((relfile ...)) (autoload-insert-section-header (marker-buffer output-start) autoloads-done load-name relfile (if secondary-autoloads-file-buf ... ...)) (insert ";;; Generated autoloads from " relfile "\n"))) (insert generate-autoload-section-trailer)))) (message "Generating autoloads for %s...done" file))
(save-current-buffer (set-buffer (or visited (autoload-find-file file))) (unless no-update-autoloads (message "Generating autoloads for %s..." file) (setq load-name (if (stringp generated-autoload-load-name) generated-autoload-load-name (autoload-file-load-name absfile))) (when (and outfile (not (if (memq system-type (quote ...)) (equal (downcase outfile) (downcase ...)) (equal outfile (autoload-generated-file))))) (setq otherbuf t)) (save-excursion (save-restriction (widen) (goto-char (point-min)) (while (not (eobp)) (skip-chars-forward " \n\f") (cond ((looking-at ...) (unless output-start ...) (search-forward generate-autoload-cookie) (skip-chars-forward " ") (if ... ... ...)) ((looking-at ";") (forward-line 1)) (t (forward-sexp 1) (forward-line 1)))))) (when output-start (let ((secondary-autoloads-file-buf (if otherbuf (current-buffer)))) (with-current-buffer (marker-buffer output-start) (save-excursion (cl-assert (= ostart output-start)) (goto-char output-start) (let (...) (autoload-insert-section-header ... autoloads-done load-name relfile ...) (insert ";;; Generated autoloads from " relfile "\n"))) (insert generate-autoload-section-trailer)))) (message "Generating autoloads for %s...done" file)) (or visited (kill-buffer (current-buffer))))
(with-current-buffer (or visited (autoload-find-file file)) (unless no-update-autoloads (message "Generating autoloads for %s..." file) (setq load-name (if (stringp generated-autoload-load-name) generated-autoload-load-name (autoload-file-load-name absfile))) (when (and outfile (not (if (memq system-type (quote ...)) (equal (downcase outfile) (downcase ...)) (equal outfile (autoload-generated-file))))) (setq otherbuf t)) (save-excursion (save-restriction (widen) (goto-char (point-min)) (while (not (eobp)) (skip-chars-forward " \n\f") (cond ((looking-at ...) (unless output-start ...) (search-forward generate-autoload-cookie) (skip-chars-forward " ") (if ... ... ...)) ((looking-at ";") (forward-line 1)) (t (forward-sexp 1) (forward-line 1)))))) (when output-start (let ((secondary-autoloads-file-buf (if otherbuf (current-buffer)))) (with-current-buffer (marker-buffer output-start) (save-excursion (cl-assert (= ostart output-start)) (goto-char output-start) (let (...) (autoload-insert-section-header ... autoloads-done load-name relfile ...) (insert ";;; Generated autoloads from " relfile "\n"))) (insert generate-autoload-section-trailer)))) (message "Generating autoloads for %s...done" file)) (or visited (kill-buffer (current-buffer))))
(let ((autoloads-done (quote nil)) load-name (print-length nil) (print-level nil) (print-readably t) (float-output-format nil) (visited (get-file-buffer file)) (otherbuf nil) (absfile (expand-file-name file)) output-start ostart) (with-current-buffer (or visited (autoload-find-file file)) (unless no-update-autoloads (message "Generating autoloads for %s..." file) (setq load-name (if (stringp generated-autoload-load-name) generated-autoload-load-name (autoload-file-load-name absfile))) (when (and outfile (not (if (memq system-type ...) (equal ... ...) (equal outfile ...)))) (setq otherbuf t)) (save-excursion (save-restriction (widen) (goto-char (point-min)) (while (not (eobp)) (skip-chars-forward " \n\f") (cond (... ... ... ... ...) (... ...) (t ... ...))))) (when output-start (let ((secondary-autoloads-file-buf (if otherbuf ...))) (with-current-buffer (marker-buffer output-start) (save-excursion (cl-assert ...) (goto-char output-start) (let ... ... ...)) (insert generate-autoload-section-trailer)))) (message "Generating autoloads for %s...done" file)) (or visited (kill-buffer (current-buffer)))) (or (not output-start) otherbuf))
(catch (quote done) (let ((autoloads-done (quote nil)) load-name (print-length nil) (print-level nil) (print-readably t) (float-output-format nil) (visited (get-file-buffer file)) (otherbuf nil) (absfile (expand-file-name file)) output-start ostart) (with-current-buffer (or visited (autoload-find-file file)) (unless no-update-autoloads (message "Generating autoloads for %s..." file) (setq load-name (if (stringp generated-autoload-load-name) generated-autoload-load-name (autoload-file-load-name absfile))) (when (and outfile (not (if ... ... ...))) (setq otherbuf t)) (save-excursion (save-restriction (widen) (goto-char (point-min)) (while (not ...) (skip-chars-forward " \n\f") (cond ... ... ...)))) (when output-start (let ((secondary-autoloads-file-buf ...)) (with-current-buffer (marker-buffer output-start) (save-excursion ... ... ...) (insert generate-autoload-section-trailer)))) (message "Generating autoloads for %s...done" file)) (or visited (kill-buffer (current-buffer)))) (or (not output-start) otherbuf)))
autoload-generate-file-autoloads("ibuf-macs.el" #<buffer loaddefs.el> "/tmp/trunk/lisp/loaddefs.el")
(if (autoload-generate-file-autoloads file (current-buffer) buffer-file-name) (push file no-autoloads))
(cond ((and (consp file) (stringp (car file))) (autoload-remove-section (match-beginning 0)) (let ((last-time (nth 4 form))) (dolist (file file) (let ((file-time (nth 5 ...))) (when (and file-time (not ...)) (push file no-autoloads) (setq files (delete file files))))))) ((not (stringp file))) ((or (not (file-exists-p file)) (member file done) (member (expand-file-name file) autoload-excludes)) (autoload-remove-section (match-beginning 0))) ((not (time-less-p (nth 4 form) (nth 5 (file-attributes file)))) nil) (t (autoload-remove-section (match-beginning 0)) (if (autoload-generate-file-autoloads file (current-buffer) buffer-file-name) (push file no-autoloads))))
(let* ((form (autoload-read-section-header)) (file (nth 3 form))) (cond ((and (consp file) (stringp (car file))) (autoload-remove-section (match-beginning 0)) (let ((last-time (nth 4 form))) (dolist (file file) (let ((file-time ...)) (when (and file-time ...) (push file no-autoloads) (setq files ...)))))) ((not (stringp file))) ((or (not (file-exists-p file)) (member file done) (member (expand-file-name file) autoload-excludes)) (autoload-remove-section (match-beginning 0))) ((not (time-less-p (nth 4 form) (nth 5 (file-attributes file)))) nil) (t (autoload-remove-section (match-beginning 0)) (if (autoload-generate-file-autoloads file (current-buffer) buffer-file-name) (push file no-autoloads)))) (push file done) (setq files (delete file files)))
(while (search-forward generate-autoload-section-header nil t) (let* ((form (autoload-read-section-header)) (file (nth 3 form))) (cond ((and (consp file) (stringp (car file))) (autoload-remove-section (match-beginning 0)) (let ((last-time (nth 4 form))) (dolist (file file) (let (...) (when ... ... ...))))) ((not (stringp file))) ((or (not (file-exists-p file)) (member file done) (member (expand-file-name file) autoload-excludes)) (autoload-remove-section (match-beginning 0))) ((not (time-less-p (nth 4 form) (nth 5 (file-attributes file)))) nil) (t (autoload-remove-section (match-beginning 0)) (if (autoload-generate-file-autoloads file (current-buffer) buffer-file-name) (push file no-autoloads)))) (push file done) (setq files (delete file files))))
(save-excursion (setq files (delete (file-relative-name buffer-file-name) (mapcar (quote file-relative-name) files))) (goto-char (point-min)) (while (search-forward generate-autoload-section-header nil t) (let* ((form (autoload-read-section-header)) (file (nth 3 form))) (cond ((and (consp file) (stringp (car file))) (autoload-remove-section (match-beginning 0)) (let ((last-time ...)) (dolist (file file) (let ... ...)))) ((not (stringp file))) ((or (not (file-exists-p file)) (member file done) (member (expand-file-name file) autoload-excludes)) (autoload-remove-section (match-beginning 0))) ((not (time-less-p (nth 4 form) (nth 5 ...))) nil) (t (autoload-remove-section (match-beginning 0)) (if (autoload-generate-file-autoloads file (current-buffer) buffer-file-name) (push file no-autoloads)))) (push file done) (setq files (delete file files)))))
(save-current-buffer (set-buffer (autoload-find-generated-file)) (save-excursion (setq files (delete (file-relative-name buffer-file-name) (mapcar (quote file-relative-name) files))) (goto-char (point-min)) (while (search-forward generate-autoload-section-header nil t) (let* ((form (autoload-read-section-header)) (file (nth 3 form))) (cond ((and (consp file) (stringp ...)) (autoload-remove-section (match-beginning 0)) (let (...) (dolist ... ...))) ((not (stringp file))) ((or (not ...) (member file done) (member ... autoload-excludes)) (autoload-remove-section (match-beginning 0))) ((not (time-less-p ... ...)) nil) (t (autoload-remove-section (match-beginning 0)) (if (autoload-generate-file-autoloads file ... buffer-file-name) (push file no-autoloads)))) (push file done) (setq files (delete file files))))) (dolist (file files) (cond ((member (expand-file-name file) autoload-excludes) nil) ((autoload-generate-file-autoloads file nil buffer-file-name) (push file no-autoloads)))) (when no-autoloads (setq no-autoloads (sort no-autoloads (quote string<))) (goto-char (point-max)) (search-backward "\f" nil t) (autoload-insert-section-header (current-buffer) nil nil no-autoloads this-time) (insert generate-autoload-section-trailer)) (let ((version-control (quote never))) (save-buffer)) (autoload-save-buffers))
(with-current-buffer (autoload-find-generated-file) (save-excursion (setq files (delete (file-relative-name buffer-file-name) (mapcar (quote file-relative-name) files))) (goto-char (point-min)) (while (search-forward generate-autoload-section-header nil t) (let* ((form (autoload-read-section-header)) (file (nth 3 form))) (cond ((and (consp file) (stringp ...)) (autoload-remove-section (match-beginning 0)) (let (...) (dolist ... ...))) ((not (stringp file))) ((or (not ...) (member file done) (member ... autoload-excludes)) (autoload-remove-section (match-beginning 0))) ((not (time-less-p ... ...)) nil) (t (autoload-remove-section (match-beginning 0)) (if (autoload-generate-file-autoloads file ... buffer-file-name) (push file no-autoloads)))) (push file done) (setq files (delete file files))))) (dolist (file files) (cond ((member (expand-file-name file) autoload-excludes) nil) ((autoload-generate-file-autoloads file nil buffer-file-name) (push file no-autoloads)))) (when no-autoloads (setq no-autoloads (sort no-autoloads (quote string<))) (goto-char (point-max)) (search-backward "\f" nil t) (autoload-insert-section-header (current-buffer) nil nil no-autoloads this-time) (insert generate-autoload-section-trailer)) (let ((version-control (quote never))) (save-buffer)) (autoload-save-buffers))
(let* ((files-re (let ((tmp nil)) (dolist (suf (get-load-suffixes)) (unless (string-match "\\.elc" suf) (push suf tmp))) (concat "^[^=.].*" (regexp-opt tmp t) "\\'"))) (files (apply (quote nconc) (mapcar (lambda (dir) (directory-files (expand-file-name dir) t files-re)) dirs))) (done nil) (this-time (current-time)) (no-autoloads nil) (autoload-modified-buffers nil) (generated-autoload-file (if (called-interactively-p (quote interactive)) (read-file-name "Write autoload definitions to file: ") generated-autoload-file))) (with-current-buffer (autoload-find-generated-file) (save-excursion (setq files (delete (file-relative-name buffer-file-name) (mapcar (quote file-relative-name) files))) (goto-char (point-min)) (while (search-forward generate-autoload-section-header nil t) (let* ((form (autoload-read-section-header)) (file (nth 3 form))) (cond ((and ... ...) (autoload-remove-section ...) (let ... ...)) ((not ...)) ((or ... ... ...) (autoload-remove-section ...)) ((not ...) nil) (t (autoload-remove-section ...) (if ... ...))) (push file done) (setq files (delete file files))))) (dolist (file files) (cond ((member (expand-file-name file) autoload-excludes) nil) ((autoload-generate-file-autoloads file nil buffer-file-name) (push file no-autoloads)))) (when no-autoloads (setq no-autoloads (sort no-autoloads (quote string<))) (goto-char (point-max)) (search-backward "\f" nil t) (autoload-insert-section-header (current-buffer) nil nil no-autoloads this-time) (insert generate-autoload-section-trailer)) (let ((version-control (quote never))) (save-buffer)) (autoload-save-buffers)))
update-directory-autoloads()
apply(update-directory-autoloads nil)
(let ((args command-line-args-left)) (setq command-line-args-left nil) (apply (quote update-directory-autoloads) args))
batch-update-autoloads()
command-line-1(("-l" "emacs-lisp/autoload.el" "--eval" "(setq generated-autoload-file \"/tmp/trunk/lisp/loaddefs.el\" debug-on-error t)" "-f" "batch-update-autoloads"))
command-line()
normal-top-level()
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-12 22:27 ` Glenn Morris
@ 2012-06-12 22:39 ` Glenn Morris
2012-06-13 11:09 ` Juanma Barranquero
2012-06-13 12:48 ` Stefan Monnier
0 siblings, 2 replies; 33+ messages in thread
From: Glenn Morris @ 2012-06-12 22:39 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: 11649
Glenn Morris wrote:
> Debugger entered--Lisp error: (wrong-type-argument integerp nil)
> nthcdr(nil (defmacro* define-ibuffer-column (symbol (&key name
> inline props
So presumably it's this wot's to blame:
2012-05-18 Stefan Monnier <monnier AT iro.umontreal.ca>
* emacs-lisp/lisp-mode.el (doc-string-elt): Move those properties to
their respective macro declarations.
Since autoload.el has this:
(require 'lisp-mode) ;for `doc-string-elt' properties.
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-12 22:39 ` Glenn Morris
@ 2012-06-13 11:09 ` Juanma Barranquero
2012-06-13 12:56 ` Stefan Monnier
2012-06-15 3:19 ` Stefan Monnier
2012-06-13 12:48 ` Stefan Monnier
1 sibling, 2 replies; 33+ messages in thread
From: Juanma Barranquero @ 2012-06-13 11:09 UTC (permalink / raw)
To: Glenn Morris; +Cc: 11649
More trouble:
With an up-to-date, successfully bootstrapped Emacs:
C:/emacs/trunk> cd lisp/url
C:/emacs/trunk/lisp/url> emacs -batch -Q -f batch-byte-compile url-handlers.el
In url-handler-mode:
url-handlers.el:105:19:Warning: reference to free variable
`url-handler-regexp'
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Compiler-macro error: (void-function cl--defsubst-expand)
Wrote c:/emacs/trunk/lisp/url/url-handlers.elc
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-12 22:39 ` Glenn Morris
2012-06-13 11:09 ` Juanma Barranquero
@ 2012-06-13 12:48 ` Stefan Monnier
1 sibling, 0 replies; 33+ messages in thread
From: Stefan Monnier @ 2012-06-13 12:48 UTC (permalink / raw)
To: Glenn Morris; +Cc: Juanma Barranquero, 11649
>> Debugger entered--Lisp error: (wrong-type-argument integerp nil)
>> nthcdr(nil (defmacro* define-ibuffer-column (symbol (&key name
>> inline props
> So presumably it's this wot's to blame:
> 2012-05-18 Stefan Monnier <monnier AT iro.umontreal.ca>
> * emacs-lisp/lisp-mode.el (doc-string-elt): Move those properties to
> their respective macro declarations.
> Since autoload.el has this:
> (require 'lisp-mode) ;for `doc-string-elt' properties.
Indeed, thanks, should be fixed now.
Stefan
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-13 11:09 ` Juanma Barranquero
@ 2012-06-13 12:56 ` Stefan Monnier
2012-06-15 3:19 ` Stefan Monnier
1 sibling, 0 replies; 33+ messages in thread
From: Stefan Monnier @ 2012-06-13 12:56 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: 11649
> Compiler-macro error: (void-function cl--defsubst-expand)
I have to investigate some more, but I believe this is very minor: the
compiler-macro is not loaded so the function does not get inlined
(cl--defsubst-expand is the compiler-macro that implements the
inlining for defsubst*, aka cl-defsubst).
Not only this should be very minor but I believe the only real change is
that the compiler-macro-expansion used to fail silently in this case.
It happens in any file which calls a function defined with `cl-defsubst'
(e.g. a defstruct accessor) but which does not itself require CL.
Stefan
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-10 16:05 ` Eli Zaretskii
@ 2012-06-13 14:12 ` Stefan Monnier
2012-06-13 15:35 ` Eli Zaretskii
0 siblings, 1 reply; 33+ messages in thread
From: Stefan Monnier @ 2012-06-13 14:12 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: lekktu, 11649
>> > 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.
>> Then, we need to investigate the real source of the problem.
>> Does someone have a reproducible recipe for it?
> The way I did it was to wait until the bootstrap version of Emacs,
> with all the preloaded Lisp files in .el form, dumps itself during
> bootstrap, then copy the executable aside, and use it for compiling
> whatever Lisp files I wanted.
> Andreas suggested a different recipe, which I think is equivalent.
I could swear I saw Andreas's recipe, but I can't find it again in
my emails. Could someone resend it, please?
Stefan
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-13 14:12 ` Stefan Monnier
@ 2012-06-13 15:35 ` Eli Zaretskii
2012-06-13 16:39 ` Stefan Monnier
0 siblings, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2012-06-13 15:35 UTC (permalink / raw)
To: Stefan Monnier; +Cc: lekktu, 11649
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: lekktu@gmail.com, 11649@debbugs.gnu.org
> Date: Wed, 13 Jun 2012 10:12:35 -0400
>
> I could swear I saw Andreas's recipe, but I can't find it again in
> my emails. Could someone resend it, please?
find -name "*.elc" -delete && make
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-13 15:35 ` Eli Zaretskii
@ 2012-06-13 16:39 ` Stefan Monnier
2012-06-14 3:06 ` Eli Zaretskii
2012-06-14 17:51 ` Glenn Morris
0 siblings, 2 replies; 33+ messages in thread
From: Stefan Monnier @ 2012-06-13 16:39 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: lekktu, 11649
>> I could swear I saw Andreas's recipe, but I can't find it again in
>> my emails. Could someone resend it, please?
> find -name "*.elc" -delete && make
Hmm... I was thinking of something else. Maybe I dreamt it.
In any case, the above recipe does not exhibit any problem for me.
Any other recipe?
Stefan
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-13 16:39 ` Stefan Monnier
@ 2012-06-14 3:06 ` Eli Zaretskii
2012-06-14 3:32 ` Stefan Monnier
2012-06-14 17:51 ` Glenn Morris
1 sibling, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2012-06-14 3:06 UTC (permalink / raw)
To: Stefan Monnier; +Cc: lekktu, 11649
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: lekktu@gmail.com, 11649@debbugs.gnu.org
> Date: Wed, 13 Jun 2012 12:39:44 -0400
>
> >> I could swear I saw Andreas's recipe, but I can't find it again in
> >> my emails. Could someone resend it, please?
> > find -name "*.elc" -delete && make
>
> Hmm... I was thinking of something else. Maybe I dreamt it.
> In any case, the above recipe does not exhibit any problem for me.
> Any other recipe?
What specific problem you are trying to reproduce?
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-14 3:06 ` Eli Zaretskii
@ 2012-06-14 3:32 ` Stefan Monnier
2012-06-14 17:10 ` Eli Zaretskii
0 siblings, 1 reply; 33+ messages in thread
From: Stefan Monnier @ 2012-06-14 3:32 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: lekktu, 11649
>> >> I could swear I saw Andreas's recipe, but I can't find it again in
>> >> my emails. Could someone resend it, please?
>> > find -name "*.elc" -delete && make
>> Hmm... I was thinking of something else. Maybe I dreamt it.
>> In any case, the above recipe does not exhibit any problem for me.
>> Any other recipe?
> What specific problem you are trying to reproduce?
The "invalid byte code" errors.
Stefan
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-14 3:32 ` Stefan Monnier
@ 2012-06-14 17:10 ` Eli Zaretskii
2012-06-14 17:56 ` Glenn Morris
0 siblings, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2012-06-14 17:10 UTC (permalink / raw)
To: Stefan Monnier; +Cc: lekktu, 11649
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: lekktu@gmail.com, 11649@debbugs.gnu.org
> Date: Wed, 13 Jun 2012 23:32:21 -0400
>
> >> >> I could swear I saw Andreas's recipe, but I can't find it again in
> >> >> my emails. Could someone resend it, please?
> >> > find -name "*.elc" -delete && make
> >> Hmm... I was thinking of something else. Maybe I dreamt it.
> >> In any case, the above recipe does not exhibit any problem for me.
> >> Any other recipe?
> > What specific problem you are trying to reproduce?
>
> The "invalid byte code" errors.
All I needed on GNU/Linux was this:
make bootstrap
cd lisp
find . -name "*.el" -exec touch "{}" ";"
make recompile
Don't you see it?
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-13 16:39 ` Stefan Monnier
2012-06-14 3:06 ` Eli Zaretskii
@ 2012-06-14 17:51 ` Glenn Morris
1 sibling, 0 replies; 33+ messages in thread
From: Glenn Morris @ 2012-06-14 17:51 UTC (permalink / raw)
To: Stefan Monnier; +Cc: lekktu, 11649
Stefan Monnier wrote:
>>> I could swear I saw Andreas's recipe, but I can't find it again in
>>> my emails. Could someone resend it, please?
>> find -name "*.elc" -delete && make
>
> Hmm... I was thinking of something else. Maybe I dreamt it.
Andreas comments are here:
http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00172.html
and explain why he increased the stack depth.
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-14 17:10 ` Eli Zaretskii
@ 2012-06-14 17:56 ` Glenn Morris
2012-06-14 18:27 ` Juanma Barranquero
` (2 more replies)
0 siblings, 3 replies; 33+ messages in thread
From: Glenn Morris @ 2012-06-14 17:56 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: lekktu, 11649
Eli Zaretskii wrote:
>> The "invalid byte code" errors.
>
> All I needed on GNU/Linux was this:
>
> make bootstrap
> cd lisp
> find . -name "*.el" -exec touch "{}" ";"
> make recompile
>
> Don't you see it?
I see this, but I also see the same thing with the emacs-24 branch.
(There, it is "Invalid byte code in cl-seq.elc".)
I don't think this is a new (or real) bug, it is just that `make
recompile' does the wrong thing (as was already known), since it
compiles everything in the same single Emacs instance.
As Stefan said in http://debbugs.gnu.org/11649#29
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.
AFAICS, nobody is claiming that the "invalid byte code" happens buring
*bootstrap*, which would be a new, serious bug.
AFAICS, all the actual problems are fixed in this area (expect perhaps
MS Windows specific build efficiency issues).
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-14 17:56 ` Glenn Morris
@ 2012-06-14 18:27 ` Juanma Barranquero
2012-06-14 19:28 ` Eli Zaretskii
2012-06-15 17:45 ` Juanma Barranquero
2 siblings, 0 replies; 33+ messages in thread
From: Juanma Barranquero @ 2012-06-14 18:27 UTC (permalink / raw)
To: Glenn Morris; +Cc: 11649
On Thu, Jun 14, 2012 at 7:56 PM, Glenn Morris <rgm@gnu.org> wrote:
> AFAICS, all the actual problems are fixed in this area (expect perhaps
> MS Windows specific build efficiency issues).
And the defstruct related errors (minor according to Stefan, but still
they should be fixed):
Compiler-macro error: (void-function cl--defsubst-expand)
Juanma
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-14 17:56 ` Glenn Morris
2012-06-14 18:27 ` Juanma Barranquero
@ 2012-06-14 19:28 ` Eli Zaretskii
2012-06-15 17:45 ` Juanma Barranquero
2 siblings, 0 replies; 33+ messages in thread
From: Eli Zaretskii @ 2012-06-14 19:28 UTC (permalink / raw)
To: Glenn Morris; +Cc: lekktu, 11649
> From: Glenn Morris <rgm@gnu.org>
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, lekktu@gmail.com, 11649@debbugs.gnu.org
> Date: Thu, 14 Jun 2012 13:56:41 -0400
>
> AFAICS, all the actual problems are fixed in this area (expect perhaps
> MS Windows specific build efficiency issues).
The efficiency issues are not Windows specific, they just belong to
another bug report. I gave data from GNU/Linux, which shows the same
slowdown, here:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11657#5
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-13 11:09 ` Juanma Barranquero
2012-06-13 12:56 ` Stefan Monnier
@ 2012-06-15 3:19 ` Stefan Monnier
1 sibling, 0 replies; 33+ messages in thread
From: Stefan Monnier @ 2012-06-15 3:19 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: 11649
> Compiler-macro error: (void-function cl--defsubst-expand)
Should be fixed now (it was indeed minor, and rather than silence the
warning, I decided to make inlining work in those cases as well).
Stefan
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-14 17:56 ` Glenn Morris
2012-06-14 18:27 ` Juanma Barranquero
2012-06-14 19:28 ` Eli Zaretskii
@ 2012-06-15 17:45 ` Juanma Barranquero
2012-06-15 18:27 ` Eli Zaretskii
2 siblings, 1 reply; 33+ messages in thread
From: Juanma Barranquero @ 2012-06-15 17:45 UTC (permalink / raw)
To: Glenn Morris; +Cc: 11649
On Thu, Jun 14, 2012 at 7:56 PM, Glenn Morris <rgm@gnu.org> wrote:
> I see this, but I also see the same thing with the emacs-24 branch.
>
> (There, it is "Invalid byte code in cl-seq.elc".)
>
> I don't think this is a new (or real) bug, it is just that `make
> recompile' does the wrong thing (as was already known), since it
> compiles everything in the same single Emacs instance.
If "make recompile" does the wrong thing, it is a bug, if a small one.
As the only remaining item of this bug report, and not being really
24.1.50-specific, I think it should be filed as a separate bug and
this one closed.
Juanma
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-15 17:45 ` Juanma Barranquero
@ 2012-06-15 18:27 ` Eli Zaretskii
2012-06-15 19:22 ` Juanma Barranquero
0 siblings, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2012-06-15 18:27 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: 11649
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Fri, 15 Jun 2012 19:45:51 +0200
> Cc: Eli Zaretskii <eliz@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca>, 11649@debbugs.gnu.org
>
> If "make recompile" does the wrong thing, it is a bug, if a small one.
It does the right thing, but should not be used in certain situations.
I don't think you can "fix" that, except if you remove that target
altogether.
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#11649: 24.1.50; Some compilation woes
2012-06-15 18:27 ` Eli Zaretskii
@ 2012-06-15 19:22 ` Juanma Barranquero
0 siblings, 0 replies; 33+ messages in thread
From: Juanma Barranquero @ 2012-06-15 19:22 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 11649-done
On Fri, Jun 15, 2012 at 8:27 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> It does the right thing, but should not be used in certain situations.
> I don't think you can "fix" that, except if you remove that target
> altogether.
OK, closing then.
Juanma
^ permalink raw reply [flat|nested] 33+ messages in thread
end of thread, other threads:[~2012-06-15 19:22 UTC | newest]
Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-08 13:19 bug#11649: Some compilation woes Juanma Barranquero
2012-06-09 9:29 ` bug#11649: 24.1.50; " Eli Zaretskii
2012-06-09 10:05 ` Juanma Barranquero
2012-06-09 11:41 ` Eli Zaretskii
2012-06-09 19:28 ` Juanma Barranquero
2012-06-10 2:52 ` Eli Zaretskii
2012-06-09 10:14 ` martin rudalics
2012-06-09 11:38 ` Eli Zaretskii
2012-06-09 13:02 ` martin rudalics
2012-06-10 1:08 ` Stefan Monnier
2012-06-10 2:59 ` Eli Zaretskii
2012-06-10 14:40 ` Stefan Monnier
2012-06-10 16:05 ` Eli Zaretskii
2012-06-13 14:12 ` Stefan Monnier
2012-06-13 15:35 ` Eli Zaretskii
2012-06-13 16:39 ` Stefan Monnier
2012-06-14 3:06 ` Eli Zaretskii
2012-06-14 3:32 ` Stefan Monnier
2012-06-14 17:10 ` Eli Zaretskii
2012-06-14 17:56 ` Glenn Morris
2012-06-14 18:27 ` Juanma Barranquero
2012-06-14 19:28 ` Eli Zaretskii
2012-06-15 17:45 ` Juanma Barranquero
2012-06-15 18:27 ` Eli Zaretskii
2012-06-15 19:22 ` Juanma Barranquero
2012-06-14 17:51 ` Glenn Morris
2012-06-12 21:35 ` Juanma Barranquero
2012-06-12 22:27 ` Glenn Morris
2012-06-12 22:39 ` Glenn Morris
2012-06-13 11:09 ` Juanma Barranquero
2012-06-13 12:56 ` Stefan Monnier
2012-06-15 3:19 ` Stefan Monnier
2012-06-13 12:48 ` Stefan Monnier
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).