[Rd] R CMD check and missing imports from base packages
murdoch.duncan at gmail.com
Wed Apr 29 21:24:02 CEST 2015
On 29/04/2015 1:57 PM, Gábor Csárdi wrote:
> On Wed, Apr 29, 2015 at 1:45 PM, Gabriel Becker <gmbecker at ucdavis.edu>
> > Gabor,
> > To play devil's advocate a bit, why not just have the package formally
> > import the functions it wants to use (or the whole package if that is
> > easier)?
> This is exactly my goal. And to facilitate this, R CMD check could remind
> you if you forgot to do the formal import.
> You don't want to require people to import things like the assignment
> > operator, or "if", or a bunch of other things in the base package (and
> > probably not the stuff in grDevices either, though from your description
> > they would in principle need to do that now).
> I am not talking about the 'base' package, only the other base packages.
> (The base package is special, it is searched before the attached packages,
> so it is probably fine.)
> Yes, I suggest people import stuff from grDevices explicitly. Because if
> they don't, their package might break if used together with other packages.
> And this is not a theoretical issue, in the past couple of weeks I have
> seen this happening three times.
> But why should stats not require an import if you want to guarantee that
> > you get the density function from stats and not from somewhere else? Isn't
> > that what ImportFrom is for? Is the reason that it is loaded automatically?
> That's exactly what I am saying, sorry if it was not clear. I want to
> "require" format imports from base packages (except from _the_ base
> package, maybe).
> Yes, people can do this already. But why not help them with a NOTE if they
> don't know that this is good practice, or they just simply forget?
I suspect the reason for this is historical: at the time that the
current warning was added, it would have flagged too many packages as
problematic. People do complain when base R makes changes that force
them to change their packages. Perhaps that decision should be
More information about the R-devel