[Rd] on.exit(par(old.par)) warnings

Marc Schwartz mschwartz at medanalytics.com
Mon May 12 16:47:07 MEST 2003


>-----Original Message-----
>From: r-devel-bounces at stat.math.ethz.ch 
>[mailto:r-devel-bounces at stat.math.ethz.ch] On Behalf Of Paul Gilbert
>Sent: Monday, May 12, 2003 3:33 PM
>To: R-devel at stat.math.ethz.ch
>Subject: [Rd] on.exit(par(old.par)) warnings
>
>
>I often use something like
>
>  old.par <- par(set someting)
>  on.exit(par(old.par))
>
>but in R 1.7.0. I now get warnings:               
>          
>> old.par <- par()
>> par(old.par)
>Warning messages: 
>1: parameter "cin" can't be set in: par(args) 
>2: parameter "cra" can't be set in: par(args) 
>3: parameter "csi" can't be set in: par(args) 
>4: parameter "cxy" can't be set in: par(args) 
>5: parameter "din" can't be set in: par(args) 
>6: gamma cannot be modified on this device in: par(args) 
>
>Is this a mistake or a new feature? If it is a new feature, is 
>there a simple
>way to avoid the warnings?
>
>Thanks,
>Paul Gilbert


Paul,

You should be using:

old.par <- par(no.readonly=TRUE)
on.exit(par(old.par))

Without the  'no.readonly=TRUE' in the first call, you will store and
then try to set non-user adjustable (read only) parameters, hence the
warning.

HTH,

Marc Schwartz



More information about the R-devel mailing list