[Rd] how to use debug.mypkg

Paul Gilbert pgilbert at bank-banque-canada.ca
Fri Mar 23 14:48:06 CET 2007


Here is the way I do something similar in my dse1 package:

..onLoad  <- function(library, section) {
    .DSEflags(list(COMPILED=TRUE, DUP=TRUE))
    invisible(TRUE)
    }

..DSEflags <- local({
    .DSE.flags <- character(0)
    function(new) {
        if(!missing(new))
            .DSE.flags <<- new
        else
            .DSE.flags
        }
})

This was suggested to me a few years ago (by Kurt I think).  It works 
well.  A call to .DSEflags() displays the settings and a list argument 
sets them.

Paul

Seth Falcon wrote:
> Benilton Carvalho <bcarvalh at jhsph.edu> writes:
> 
>> it doesn't matter where..
>>
>> just pick one of your files and set it...
>>
>> of course, your file should be listed in the Collate field (in case  
>> you changed your mind and are now using it).
> 
> One useful trick is to create an environment object in your package's
> namespace.  It is probably best to put this early in the Collate order
> so all your code can assume it is there:
> 
>    OPTIONS <- new.env(hash=TRUE, parent=emptyenv())
> 
> Then you could have, for example, a debug flag that gets a default
> value of FALSE, but can be interactively toggled.  In your package
> code you would have:
> 
>    OPTIONS$debug <- FALSE
> 
> Then you could either export this object from your namespace or, more
> conservatively, export a function to toggle.  Then an end user (or
> developer) can do:
> 
>   R> toggleDebug()
> 
> Obviously, for this to be useful, you need to have package code that
> checks if(OPTIONS$debug) and does something different.
> 
> + seth
> 
====================================================================================

La version française suit le texte anglais.

------------------------------------------------------------------------------------

This email may contain privileged and/or confidential inform...{{dropped}}



More information about the R-devel mailing list