On 12/7/21 09:23, João Távora wrote:
> Not sure about the eval-when-compile for require. It was my
> _expression_ that require is always "when compile".
>
> I've unfortunately been a little away from Emacs lately.
>
> João
My understanding is that `eval-when-compile` is used to make sure that
macro definitions are available during compilation and that the
libraries are not loaded when `texinfo.el` is loaded. The macros in the
patch are `rx`, `cl-loop`, and `flymake-log`.
require is always `eval-and-compile` (sorry if I misled you earlier).
It's OK to use `eval-when-compile` when needing `cl-loop` from `cl-lib`
if _all_ you need form `cl-lib` is indeed macros.
But for flymake, you need the actual runtime things too, right? So
I think plain require is better and simpler
There is also the following comment on line 82 of the current version
(https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/textmodes/texinfo.el#n82):
> Don't you dare insert any `require' calls at top level in this file
> --rms.
which I tried to observe.
No comment :-)
Anyway, let's hear what byte-compiler guru Stefan Monnier has to say
about this?
João