[R-pkg-devel] Error in CHECK caused by dev.off()

Jeff Newmiller jdnewm|| @end|ng |rom dcn@d@v|@@c@@u@
Wed Jul 22 16:00:56 CEST 2020


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.schuetz using 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.



More information about the R-package-devel mailing list