Skip to content
Prev 13857 / 398502 Next

on.exit

On Thu, 27 Sep 2001 13:05:01 -0400, you wrote in message
<3BB35C3C.C4FE9451 at umsanet.edu.bo>:
The problem is that you're assuming options() behaves the way par()
does, i.e. that options("warn") returns a number.  It doesn't, it
returns a list.  

The simplest way to get what you want is probably

test1 <- function() {
    oldwarn <- options(warn=-1)   # first call
    on.exit( options(oldwarn))       # second call
    log(-1)
}

Notice that the first call that changes the option returns the old
value, so you don't need two calls at the start; the second call that
restores it just uses the list (which has the name of the option
embedded in it).

Duncan Murdoch
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._