Subject: bug#52342: [PATCH] Add Texinfo support for Flymake

From: João Távora <[email-masked]>
Date: Tue, 7 Dec 2021 23:43:51 +0000

On Tue, Dec 7, 2021 at 11:39 PM Okamsn <[email-masked]> 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