dont.lock.me {mvbutils} | R Documentation |
Prevent sealing of a namespace, to facilitate package maintenance.
Description
Call dont.lock.me()
during a .onLoad
to stop the namespace from being sealed. This will allow you to add/remove objects to/from the namespace later in the R session (in a sealed namespace, you can only change objects, and you can't unseal a namespace retrospectively). There could be all sorts of unpleasant side-effects. Best to leave it to maintain.packages
to look after this for you...
Usage
# default of env works if called directly in .onLoad
dont.lock.me( env=environment( sys.function( -1)))
Arguments
env |
the environment to not lock. |
Details
dont.lock.me
hacks the standard lockEnvironment
function so that locking won't happen if the environment has a non-NULL dont.lock.me
attribute. Then it sets this attribute for the namespace environment.
Examples
## Not run:
# This unseals the namespace of MYPACK only if the option "maintaining.MYPACK" is non-NULL:
.onLoad <- function( libname, pkgname) {
if( !is.null( getOption( 'maintaining.' %&% pkgname)))
mvbutils:::dont.lock.me()
}
## End(Not run)
[Package mvbutils version 2.8.232 Index]