bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#47049: [feature/native] macro-expansion cycle when compiling comp.el


From: Andrea Corallo
Subject: bug#47049: [feature/native] macro-expansion cycle when compiling comp.el
Date: Wed, 10 Mar 2021 16:05:10 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Eli Zaretskii <eliz@gnu.org> writes:

> From: eliz@HOME-C4E4A596F7.i-did-not-set--mail-host-address--so-tickle-me
> --text follows this line--
> I made some local modifications in comp.el, and used that modified
> comp.el for a while (by loading it manually at run time) to debug some
> problem.  Then I undid those local modifications of comp.el (by saying
> "git checkout") and said "make" to rebuild Emacs.  And I see this:
>
>     ELC      emacs-lisp/comp.elc
>   Warning: Eager macro-expansion skipped due to cycle:
>       => (load "comp.el") => (macroexpand-all (defalias 'comp-add-call-cstr  
> )) => (macroexpand (comp-loop-insn-in-block  )) => (load "comp.el")
>
> Why does this happen?

I'm not sure, but I can reproduce it.

I guess (just a guess) it might be because `comp-add-call-cstr' is using
a macro `comp-loop-insn-in-block' that is expanding with a
`cl-symbol-macrolet' inside? (no idea why this should be a problem).

> could it be that while comp.el was modified it
> got native-compiled, and now that inconsistent comp.eln gets in the
> way?

I think this has not to do specifically with native compilation.

I see it goes away removing '(setq load-prefer-newer t)' from the
invocation tho.

Perhaps somebody already more into the macro expansion business might
have some suggestion.

Thanks

  Andrea





reply via email to

[Prev in Thread] Current Thread [Next in Thread]