Hi Sebastian,

Sebastian Meyer wrote on 2020-07-23 16:52:
Back to the original topic:

THX!

Calling graphics.off() in example code will also disturb standard R CMD
check. Before running the examples, R CMD check opens a pdf device to
store any graphics output [1]. You will find the resulting pdf file in
{PACKAGE}.Rcheck/{PACKAGE}-Ex.pdf after R CMD check.

Ah! For years I was wondering where the PDF comes from.

R CMD check will eventually fail from trying to close this pdf device
after running the examples [2], if you have already closed all graphics
devices (including this pdf device) through code in your examples. This
is where the

Error in grDevices::dev.off() :
   cannot shut down device 1 (the null device)
Execution halted

actually came from.

OK, now I have:
if (file.exists("myfile") & !is.null(dev.list()["png"]) {
  invisible(dev.off(dev.list()["png"]))
}
You made my day. No error in check() any more.

Finally, […] the png device may not even be available.

Ouch!

So it is reasonable to condition on
capabilities("png")

Done.

  or to put such examples in \donttest.

It was already in \donttest{} but check() ignored that.

HTH!

It did. Additionally I've learned a new abbreviation...

Helmut

--
Ing. Helmut Schütz
BEBAC – Consultancy Services for
Bioequivalence and Bioavailability Studies
Neubaugasse 36/11
1070 Vienna, Austria
E helmut.schu...@bebac.at
W https://bebac.at/
F https://forum.bebac.at/

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

Reply via email to