[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#47161: 28.0.50; [feature/native-comp] Failure to native-compile byte
From: |
Andrea Corallo |
Subject: |
bug#47161: 28.0.50; [feature/native-comp] Failure to native-compile bytecomp.el etc. |
Date: |
Tue, 16 Mar 2021 16:22:01 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Andrea Corallo <akrl@sdf.org>
>> Cc: 47161@debbugs.gnu.org
>> Date: Mon, 15 Mar 2021 20:05:10 +0000
>>
>> > ELC emacs-lisp/byte-opt.elc
>> > Compiler-macro error for cl--block-wrapper: (error "(setf seq-elt) is
>> > already defined as something else than a generic function")
>> > Eager macro-expansion failure: (error "(setf seq-elt) is already defined
>> > as something else than a generic function")
>> >
>> > What causes this?
>>
>> ATM I've no idea, but it doesn't look to me evidently related to native
>> compilation. How can I reproduce it?
>
> What I did was modified byte-opt.el, saved, and said "make".
I can reproduce it.
>> Also, shouldn't byte-opt.el be native compiled as it's in COMPILE_FIRST?
>
> That bothers me as well. It happens from time to time: for example,
> I've just updated from Git, which brought modified bytecomp.el and
> comp.el, both in COMPILE_FIRST. And yet this is what I see when I say
> "make":
>
> make -C lisp all
> make[1]: Entering directory `/d/gnu/git/emacs/native-comp/lisp'
> make -C ../leim all EMACS="../src/emacs.exe"
> make -C ../admin/grammars all EMACS="../../src/emacs.exe"
> make[2]: Entering directory `/d/gnu/git/emacs/native-comp/admin/grammars'
> make[2]: Nothing to be done for `all'.
> make[2]: Leaving directory `/d/gnu/git/emacs/native-comp/admin/grammars'
> make[2]: Entering directory `/d/gnu/git/emacs/native-comp/leim'
> make[2]: Nothing to be done for `all'.
> make[2]: Leaving directory `/d/gnu/git/emacs/native-comp/leim'
> make[2]: Entering directory `/d/gnu/git/emacs/native-comp/lisp'
> ELC emacs-lisp/bytecomp.elc
> make[2]: Leaving directory `/d/gnu/git/emacs/native-comp/lisp'
> make[2]: Entering directory `/d/gnu/git/emacs/native-comp/lisp'
> ELC emacs-lisp/comp.elc
> make[2]: Leaving directory `/d/gnu/git/emacs/native-comp/lisp'
> make[2]: Entering directory `/d/gnu/git/emacs/native-comp/lisp'
> make[2]: Nothing to be done for `compile-targets'.
> make[2]: Leaving directory `/d/gnu/git/emacs/native-comp/lisp'
>
> Why not "ELC+ELN"?
AFAICS using "make V=1" we fail only to add the correct "ELC+ELN" in
place of "ELC" but we invoke the right command, will try to have a look.
Regarding the macro expansion issue I tried to have a quick look but I'm
not very much into cl-generic.el and couldn't spot any obvious (for me)
issue so far.
Andrea