[Rd] Base R examples that write to current working directory
Martin Maechler
maechler at stat.math.ethz.ch
Tue Apr 3 11:37:04 CEST 2018
>>>>> Henrik Bengtsson <henrik.bengtsson at gmail.com>
>>>>> on Fri, 30 Mar 2018 10:14:04 -0700 writes:
> 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.
I think it should clearly be '1.',
as both '2.' and '3.' would need new functionality in R.
Ideally we'd get the patch within a day or two, so we can safely
apply it also to R 3.5.0 alpha (before it turns beta!).
I think the 'eval.path' argument to example() is a nice idea,
but also changing its default to tempdir() is definitely out of
the question for R 3.5.0.
Martin
> 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
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel
mailing list