[Rd] .onLoad, packageStartupMessage, and R CMD check
Duncan Murdoch
murdoch@dunc@n @end|ng |rom gm@||@com
Thu Nov 4 20:37:01 CET 2021
On 04/11/2021 2:50 p.m., Michael Chirico via R-devel wrote:
> I wrote a linter to stop users from using packageStartupMessage() in
> their .onLoad() hook because of the R CMD check warning it triggers:
>
> https://github.com/wch/r-source/blob/8b6625e39cd62424dc23399dade37f20fa8afa91/src/library/tools/R/QC.R#L5167
>
> However, this received some pushback which I ultimately agree with,
> and moreover ?.onLoad seems to agree as well:
>
>> Loading a namespace should where possible be silent, with startup
> messages given by \code{.onAttach}. These messages (**and any essential
> ones from \code{.onLoad}**) should use \code{\link{packageStartupMessage}}
> so they can be silenced where they would be a distraction.
>
> **emphasis** mine. That is, if we think some message is _essential_ to
> print during loadNamespace(), we are told to use
> packageStartupMessage().
>
> Should we remove this R CMD check warning?
The help page doesn't define what an "essential" message would be, but I
would assume it's a message about some dire condition, not just "Hi! I
just got loaded!". So I think a note or warning would be appropriate,
but not an error.
Do you have an example of something that should routinely print, but
that triggers a warning when checked?
Duncan Murdoch
More information about the R-devel
mailing list