On Tue, Dec 7, 2021 at 11:39 PM Okamsn wrote: > 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