Subject: bug#52147: Eager macro-expansion is not performed in `eval-and-compile' functions

From: Michael Heerdegen <[email-masked]>
Date: Mon, 29 Nov 2021 20:14:51 +0100

Lars Ingebrigtsen <[email-masked]> writes:

> We usually don't stress a lot about the performance of interpreted
> (i.e., uncompiled) code.

Well we do, a bit,

  (info "(elisp) How Programs Do Loading")

says that loading a file performs eager macro expansion and that does
speed up the resulting code.  `eval', `eval-when-compile' and
`eval-and-compile' don't perform eager macro expansion.  I don't know to
what degree this is on purpose.  But if a macro is defined later in the
file or in another file that has not yet been loaded this may not be
possible anyway.

Michael.