Subject: Re: bug#29462: 24.4; eval-when-compile won't mute warning as says in info doc

From: Eli Zaretskii <[email-masked]>
Date: Mon, 27 Nov 2017 18:29:25 +0200

> From: Michael Heerdegen <[email-masked]>
> Date: Mon, 27 Nov 2017 03:44:46 +0100
> 
> Emanuel Berg <[email-masked]> writes:
> 
> > In (info "(elisp) Warning Tips"), it says
> >
> >    * If you use many functions and variables
> >      from a certain file, you can add
> >      a ‘require’ for that package to avoid
> >      compilation warnings for them.
> >      For instance,
> >
> >           (eval-when-compile
> >             (require 'foo))
> 
> Thanks for the report.
> 
> I find this whole sentence confusing and misleading in general.  The
> main purpose of `require' is not to silence warnings, and calling it is
> very often something needed, not only something one "can" do.

The above citation is from a section which explains how to avoid
warnings.  It is not the place where we document 'require' itself,
only its use to avoid warnings.  So reading that out of context as a
statement of the main purpose of 'require' is a mistake, as 'require'
is fully documented elsewhere in the manual.

In the context of avoiding warnings, I see no problem in mentioning
'require'.