From ripley at stats.ox.ac.uk  Wed Jul  4 07:36:53 2007
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Wed, 4 Jul 2007 06:36:53 +0100 (BST)
Subject: [Rd] reinforce library to re-load
In-Reply-To: <cdf817830707031227y7e076470nd8597967935c5e6@mail.gmail.com>
References: <cdf817830707031227y7e076470nd8597967935c5e6@mail.gmail.com>
Message-ID: <Pine.LNX.4.64.0707040616190.12086@gannet.stats.ox.ac.uk>

Please don't post to multiple lists: I am replying only to R-devel.

You should detach your package, and if it has a namespace unload it, 
before attempting to reload it.  Something like

detach("package:foo")
library(foo)

or

unloadNamespace("foo")  # this also detaches the package
library(foo)

If the package has a DLL, this will in general not reload that.  Now in 
quite a few cases you cannot successfully unload a DLL, but 
library.dynam.unload is provided if you want to do this (including in your 
package's .Last.lib or .onUnload hooks).

On Tue, 3 Jul 2007, Weiwei Shi wrote:

> Hi,
>
> I am wondering if there is a parameter in library() so that it can
> reinforce package to be reloaded. It helps when you test your modified
> package by yourself. Otherwise, my way is to re-start Rgui.
>
> (by reading ?library, I understand this option is not implemented)
> "...Both functions check and update the list of currently loaded
> packages and do not reload a package which is already loaded.
> (Furthermore, if the package has a name space and a name space of that
> name is already loaded, they work from the existing names space rather
> than reloading from the file system.)"
>
> Thanks.
>
>

-- 
Brian D. Ripley,                  ripley at 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



[Rd] reinforce library to re-load
Prof Brian Ripley