3

I have successfully redefined utils::View as a generic function so that I can use it my package. However, it so happens that RStudio also defines some kind of hook on this function.

Before loading my package, I see:

> View
function (...) 
.rs.callAs(name, hook, original, ...)
<environment: 0x000001f74d5ff0b0>

And looking for that .rs.callAs function, I get:

> findFunction('.rs.callAs')
[[1]]
<environment: 0x000001f74eb94598>
attr(,"name")
[1] "tools:rstudio"

After loading my package, I see:

> View
standardGeneric for "View" defined from package "summarytools"

function (...) 
standardGeneric("View")
<bytecode: 0x000001f752ecb7e0>
<environment: 0x000001f754a8e678>
Methods may be defined for arguments: ...
Use  showMethods("View")  for currently available ones.

Since tools:rstudio is not directly visible, I'm not sure there's anything I can do about it. And if I can somehow include its definition in my package, I'm not sure at all that I can redefine View differently depending on whether the R session is running in RStudio or not.

I'm clearly not very optimistic about this, but I thought of asking here before giving up!

Dominic Comtois
  • 10,230
  • 1
  • 39
  • 61

0 Answers0