Base R examples that write to current working directory
So, the proposal would then be to write to tempdir(), correct? If so,
I see three alternatives:
1. explicitly use file.path(tempdir(), filename), or tempfile() everywhere.
2. wrap example code in a withTempDir({ ... }) call.
3. Add an 'eval.path' (*) argument to example() and make it default to
eval.path = tempdir(). This would probably be backward compatible and
keep the code example clean. The downside is when a user runs an
example and can't locate produced files. (*) or 'wd', 'workdir', ...
/Henrik
On Fri, Mar 30, 2018 at 9:25 AM, Uwe Ligges
<ligges at statistik.tu-dortmund.de> wrote:
On 30.03.2018 00:08, Duncan Murdoch wrote:
On 29/03/2018 5:23 PM, Hadley Wickham wrote:
Hi all, Given the recent CRAN push to prevent examples writing to the working directory, is there any interest in fixing base R examples that write to the working directory? A few candidates are the graphics devices, file.create(), writeBin(), writeChar(), write(), and saveRDS(). I'm sure there are many more. One way to catch these naughty examples would be to search for unlink() in examples: e.g., https://github.com/wch/r-source/search?utf8=?&q=unlink+extension%3ARd&type=. Of course, simply cleaning up after yourself is not sufficient because if those files existed before the examples were run, the examples will destroy them.
Why not put together a patch that fixes these? This doesn't seem to be something that needs discussion, fixing the bad examples would be a good idea.
Seconded. CRAN would not accept these base packages, hence we should urgently give better examples. Best, Uwe
Duncan Murdoch
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel