On Sun, 17 Jul 2011, Duncan Murdoch wrote:
On 11-07-16 10:13 PM, Gabor Grothendieck wrote:
Packages without explicit ‘NAMESPACE’ files will have a default one
created at build or INSTALL time,
so all packages will have namespaces. A consequence of this is that
‘.First.lib’ functions need to be
renamed, usually as ‘.onLoad’ but sometimes as ‘.onAttach’.
Couldn't R simply regard .First.lib as the appropriate function to
save many packages from
being needlessly changed?
It is doing that (see today's version of the NEWS), but the problem is that
it may choose the wrong one. If your package requires initialization then
yourpkg::somefun only works if the initialization happens in .onLoad. But
some packages only work if the initialization happens when the package is
attached. It's better for the author to make the choice than for R to do it
automatically.
True in principle, but so far using .First.lib as a surrogate for
.onAttach seems to work in all cases (whereas using it as surrogate
for .onLoad did not in ca 20 packages). Once people start importing
from packages with automatically produced namespaces, this will likely
change.
So there is nothing 'needless' about needing to choose the right thing
for your package.
--
Brian D. Ripley, rip...@stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel