With all this discussion, I shudder to ask this. I may have missed the
answers but the discussion seems to have been about identifying and solving
the problem rapidly rather than what maybe is best going forward if all
parties agree.
What was the motivation for what RSTUDIO did for their version and the
decision to replace what came with utils unless someone very explicitly
over-rode them by asking for the original? Is their version better in other
ways? Is there a possibility the two implementations may someday merge into
something that meets several sets of needs or are they incompatible?
Is there agreement that what broke with the substitution is a valid use or
is it something that just happens to work on the utils version if not
patched?
-----Original Message-----
From: R-help <r-help-bounces at r-project.org> On Behalf Of Duncan Murdoch
Sent: Thursday, March 21, 2024 5:53 AM
To: peter dalgaard <pdalgd at gmail.com>
Cc: Jorgen Harmse <JHarmse at roku.com>; r-help at r-project.org; Martin
Maechler
<maechler at stat.math.ethz.ch>
Subject: Re: [R] Building Packages.
Yes, you're right. The version found in the search list entry for
"package:utils" is the RStudio one; the ones found with two or three
colons are the original.
Duncan Murdoch
On 21/03/2024 5:48 a.m., peter dalgaard wrote:> Um, what's with the triple colon? At least on my install, double seems
to
suffice:>
>> identical(utils:::install.packages, utils::install.packages)
> [1] TRUE
>> install.packages
> function (...)
> .rs.callAs(name, hook, original, ...)
> <environment: 0x7f79e0019860>
>
> -pd
>
>> On 21 Mar 2024, at 09:58 , Duncan Murdoch <murdoch.duncan at
gmail.com>
wrote:>>
>> The good news for Jorgen (who may not be reading this thread any more)
is
that one can still be sure of getting the original install.packages() by
using>>
>> utils:::install.packages( ... )
>>
>> with *three* colons, to get the internal (namespace) version of the
function.>>
>> Duncan Murdoch
>>
>>
>> On 21/03/2024 4:31 a.m., Martin Maechler wrote:
>>>>>>>> "Duncan Murdoch on Wed, 20 Mar 2024
13:20:12 -0400 writes:
>>> > On 20/03/2024 1:07 p.m., Duncan Murdoch wrote:
>>> >> On 20/03/2024 12:37 p.m., Ben Bolker wrote:
>>> >>> Ivan, can you give more detail on this? I've
heard this
>>> >>> issue mentioned, but when I open RStudio and run
>>> >>> find("install.packages") it returns
>>> >>> "utils::install.packages", and running
dump() from
>>> >>> within RStudio console and from an external
"R
>>> >>> --vanilla" gives identical results.
>>> >>>
>>> >>> I thought at one point this might only refer to
the GUI
>>> >>> package-installation interface, but you seem to
be
>>> >>> saying it's the install.packages() function
as well.
>>> >>>
>>> >>> Running an up-to-date RStudio on Linux, FWIW --
maybe
>>> >>> weirdness only happens on other OSs?
>>> >>
>>> >> On MacOS, I see this:
>>> >>
>>> >> > install.packages function (...)
.rs.callAs(name, hook,
>>> >> original, ...) <environment: 0x7fa7c72a6268>
>>> >>
>>> >> I get the same results as you from find(). I'm
not sure
>>> >> what RStudio is doing to give a different value for
the
>>> >> function than what find() sees.
>>> > Turns out that RStudio replaces the install.packages
>>> > object in the utils package.
>>> > Duncan Murdoch
>>> Yes, and this has been the case for several years now, and I
>>> have mentioned this several times, too (though some of it
>>> possibly not in a public R-* mailing list).
>>> And yes, that they modify the package environment
>>> as.environment("package:utils")
>>> but leave the
>>> namespace asNamespace("utils")
>>> unchanged, makes it harder to see what's
>>> going on (but also has less severe consequences; if they kept to
>>> the otherwise universal *rule* that the namespace and package must
have
the same objects>>> apart from those only in the namespace,
>>> people would not even have access to R's true
install.packages()
>>> but only see the RStudio fake^Hsubstitute..
>>> We are still not happy with their decision. Also
>>> help(install.packages) goes to R's documentation of R's
>>> install.packages, so there's even more misleading of useRs.
>>> Martin
>>>
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html>> and provide commented, minimal, self-contained, reproducible code.
>
______________________________________________
R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.