Skip to content

.First.lib and namespaces

2 messages · Deepayan Sarkar, Brian Ripley

#
The lattice package has a namespace, so it has a .onLoad function. I 
also keep around a .First.lib, for use during development, when I 
temporarily delete the NAMESPACE file.

When using a namespace, I used to comment out the .First.lib function.  
However, that seems unnecessary since it's not executed anyway. Is this 
intended (and dependable) behaviour? 

(If so, this should probably be mentioned in ?library, which currently 
says

     '.First.lib' is called when a package is loaded; '.Last.lib' is
     called when a package is detached.

without any mention of namespaces).

Deepayan
#
On Thu, 2 Sep 2004, Deepayan Sarkar wrote:

            
Yes.
[.Last.lib is called when a package with a namespace is detached.]

Indeed, but see `Writing R Extensions', under `Load hooks', and

Various @R{} functions in a package can be used to initialize and clean
up.  For packages without a name space, these are @code{.First.lib} and
@code{.Last.lib}.  (For packages with a name space, @xref{Load hooks}.)


I'll update library.Rd to mention this and user hooks.