I suspect your foo and bar variables are not logical anymore... insufficient info. However, why aren't you using short-circuit && and || operators?
On July 22, 2020 5:36:06 AM PDT, "Helmut Schütz" <helmut.schu...@bebac.at> wrote: >Dear all, > >I have two variables, foo and bar. The first is TRUE if a png should be > >created and the second is TRUE if an already existing one should be >overwritten. >At the end of the plot I had >if (foo | (foo & bar)) dev.off() >This worked as expected in all versions of my package built in R up to >v3.6.3. However, when I CHECK the package in v4.0.2 I get: > > grDevices::dev.off() >Error in grDevices::dev.off() : > cannot shut down device 1 (the null device) >Execution halted > >I tried: >if (foo | (foo & bar)) { > dev <- dev.list() > if (!is.null(dev)) { > if (dev == 2) invisible(dev.off()) > } >} >without success (same error). > >Even the more general >if (foo | (foo & bar)) { > graphics.off() >} >did not work. > >The plot is called only in an example of one man-page -- though >embedded >in \donttest{}. >Even if I set both foo and bar to FALSE (i.e., the respective part of >the code should not be executed at all), I get the same error. > >Any ideas/suggestions? > >Regards, >Helmut -- Sent from my phone. Please excuse my brevity. ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel