[Top][All Lists]

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

Re: none

From: Stefan Monnier
Subject: Re: none
Date: Sat, 31 Jul 2021 12:22:59 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Troy Hinckley [2021-07-30 23:09:29] wrote:
> byte-run.el does use backquotes
> https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/byte-run.el#n122
> However I had not thought about the impacts of lazy evaluation.

Right [except evaluation is not lazy, only macro-expansion is].

> I guess this would require that you load the code twice: First with
> the interpreter, then with the byte compiler, since you can't compile
> a macro that has not been defined.

Indeed: we first load the interpreted code when dumping the
`src/bootstrap-emacs` executable, which is then used to compile the
preloaded files (and the compiler), after which we load them again (but
in their compiled form) to dump the final `src/emacs` executable.

Note that lazy macro-expansion is only used for some of the preloaded
files (more specifically for those loaded before `macroexp.el` in
`lisp/loadup.el`, where you can also see some hackish workaround we have
to use at that time).


reply via email to

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