[R-pkg-devel] Error in CHECK caused by dev.off()
On 23/07/2020 5:11 p.m., Helmut Sch?tz wrote:
Hi Dirk, Dirk Eddelbuettel wrote on 2020-07-23 15:16:
Helmut,
For previous uploads you affirmed that you read the CRAN Repository Policy
which states
[...]
Your package appears to violate that requirement.
As I wrote previously the statement continues with "Limited exceptions may be allowed in interactive sessions if the package obtains confirmation from the user." I'm not a native speaker of English but for me "should not write" != "must not write".
And "may be allowed" is not "will be allowed".
I would fix the package.
I removed the automatic switch to "~/" if no path is given. As before I recommend in the man-pages to give the full path. However, I _still_ state that "~/" _can_ be used for convenience.
This is a little unclear (perhaps the language issue again). It's fine if your documentation recommends the user choose that. That's a variation on what I recommended to you (that you generate an error message that suggests how to avoid the error). I don't agree with it if you mean to say the CRAN policy gets it wrong, and you should be allowed to have your original automatic fallback.
The package is used in a regulated environment. The output file contains
an entire audit-trail (name of the user and system, version and date of
the OS, R, all packages, functions used, time of execution, blablah). If
the package would write to tempdir() I would have to add a warning in
bold font of every man-page like "Execute the command tempdir() to find
out where your result files reside. Copy the files to a safe location
before you quit the R-session. If you fail to do so, your results will
be lost."
Off topic: I don't like it that on Windows tempdir is located at
"C:/Users/{Username}/AppData/Local/Temp/Rtmp..." I strictly separate my
OSes (on C), software (on D), data (on E), backups (on F). Writing to
the system disk is not what I prefer. However, in my installation "~/"
resolves to "E:/Users/{Username}/Documents/"...
It can resolve anywhere you like (as long as its writable), by specifying the TMPDIR environment variable. Duncan Murdoch