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
>