Dear Duncan and Michael,

My initial reaction is that I'd rather not export these functions from the car 
package since the package already has many exported functions and the functions 
in question perform low-level operations that won't be of interest to end 
users. I recognize, however, the functions (and possibly some others) may be 
useful in other packages, such as heplots, so I'll think about this some more.

Following up on Michael's subsequent message in this thread, I find the current 
text in Sec. 1.6.1 ("Specifying imports and exports") of Writing R Extensions 
reasonably clear.

Best,
 John

On Wed, 16 Jan 2013 11:40:37 -0500
 Duncan Murdoch <murdoch.dun...@gmail.com> wrote:
> On 13-01-16 11:25 AM, Michael Friendly wrote:
> > A new function in my heplots package wants to use a non-exported utility
> > function in the car package,
> > df.terms, but this depends on other non-exported functions.
> >   From the Writing R extensions manual, I thought I could do this via (in
> > my NAMESPACE)
> >
> > importFrom(car, car:::df.terms, car:::df.terms.default, car:::is.aliased)
> >
> > but I get:
> > ** preparing package for lazy loading
> > Error : objects 'car:::df.terms', 'car:::df.terms.default',
> > 'car:::is.aliased' are not exported by 'namespace:car'
> > ERROR: lazy loading failed for package 'heplots'
> >
> > \S 1.6.1 of the manual says regarding importFrom():
> > Using |foo:::f| instead of |foo::f| allows access to unexported objects.
> > This is generally not recommended, as the semantics of unexported
> > objects may be changed by the package author in routine maintenance.
> >
> > Questions:
> > 1.  Why doesn't this work?
> 
> I think you misread the manual.  It is talking about ways to access functions 
> other than by using importFrom.  You can use car:::df.terms in your functions.
> 
> > 2.  Is my only alternative to copy these functions to my package, also
> > unexported?
> 
> Using car:::df.terms explicitly is another option.
> 
> Another possibility is for the car maintainer (John Fox) to export that 
> function from car.
> 
> Duncan Murdoch

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

Reply via email to