G'day Hadley,

On Mon, 15 Nov 2010 19:45:30 -0600
Hadley Wickham <had...@rice.edu> wrote:

> > 1.6 of Writing R Extensions says
> >
> > Note that adding a name space to a package changes the search
> > strategy. The package name space comes first in the search, then
> > the imports, then the base name space and then the normal search
> > path.
> >
> > I'm not sure of the details, but I think
> >
> >  parents(getNamespace("devtools"))
> 
> Ah, my mistake was assuming that the package namespace and environment
> were the same thing.
> 
> Interestingly the namespace is dynamic:

Not sure what you mean with this.  Section 1.6 of "Writing R
Extensions" explicitly states:

        Name spaces are @emph{sealed} once they are loaded.  Sealing
        means that imports and exports cannot be changed and that
        internal variable bindings cannot be changed.

> > parents(getNamespace("devtools"))
> ...
> [31] "base"
> > library(roxygen)
> > parents(getNamespace("devtools"))
> ...
> [31] "Autoloads"            "base"

Well, as the part of "Writing R Extensions" that Martin quoted states,
the normal search path is part of the search path used by packages with
name spaces.  So if you attach another package via library(), the
normal search path changes and, hence,
`parents(getNamespace("devtools"))' has one more location to report.

Cheers,

        Berwin

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to