Le 22/07/2020 à 14:36, Helmut Schütz a écrit :
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.
Hmm... I see 2 possibilities for still getting an error while the concerned part of code is not supposed to be run:

 - either you are running not updated version of your package;
 - or the error comes from some other place of the code.

Sorry but without a minimal reproducible example I cannot help more.
Best,
Serguei.

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to