Re: [Rd] The Depends: field of a package is now used by library()

From: Deepayan Sarkar <>
Date: Fri 13 Aug 2004 - 01:47:45 EST

On Thursday 12 August 2004 10:19, Prof Brian Ripley wrote:
> On Thu, 12 Aug 2004, Deepayan Sarkar wrote:
> > On Thursday 12 August 2004 07:34, Prof Brian Ripley wrote:
> > > In R-devel, the Depends: field in the DESCRIPTION file is now
> > > used by library() to load the named packages before the current
> > > package, and also to set up the environment to save images and
> > > prepare for lazy loading.
> >
> > How would this relate to namespaces? For instance, lattice imports
> > grid (and a few things from stats and graphics). If I keep grid in
> > the depends field, loading lattice does a require(grid), which
> > defeats one of the purposes of having namespaces. If I leave it
> > out, nothing bad seems to happen as long as grid is installed, but
> > there should be some indication in the DESCRIPTION that that grid
> > is a requirement. None of the other fields seem appropriate.
> It's a grey area. As all copies of R that you are using will have
> grid, leave it out of Depends: for lattice.
> Perhaps we need to invent another field such as UsesNamespaces?

That should work.

Writing R Extensions says that

`Packages that are necessary to successfully load the package using library(pkgname) must be listed in the Depends field.'

which no longer remains true. Ideally, it probably would have been better to keep the old behaviour of Depends, and add the new functionality in a new field, but I guess this way the majority of packages can remain unchanged while being able to avail the new features.

Deepayan mailing list Received on Fri Aug 13 01:50:20 2004

This archive was generated by hypermail 2.1.8 : Fri 18 Mar 2005 - 08:59:19 EST