Hello,
I'm updating my package 'this.path' which is supposed to retrieve the absolute path of the executing script when called. It's similar to 'here', except that 'here' constructs paths relative to a project directory, whereas 'this.path' constructs paths relative to script directories. I was updating the section where I retrieve the executing script's path while running from a script open in Rgui for Windows, and I needed utils::getWindowsHandles to do such a thing. But utils::getWindowsHandles is a Windows only function, I would imagine that 'utils' contains a similar line of code as above: if (.Platform$OS.type == "windows") getWindowsHandles <- function() ... and then in the NAMESPACE: if (.Platform$OS.type == "windows") export(getWindowsHandles) so I'd like to change my code to getWindowsHandles and import getWindowsHandles from utils, but I can only do that on Windows, and so the conditional importing should work for me. At no point does my function mis-behave because of a attempting to use a function that isn't exported on that platform, because within the function it only uses getWindowsHandles if the OS is Windows. On Thu, Sep 30, 2021 at 11:01 AM Mark Miller <mark.roman.mil...@gmail.com> wrote: > Returning to the original question, if it's helpful: I'd like to know what > constraints led to considering an export only available on Windows, and see > if we can suggest some other designs. It'd be good to keep the user's > mental model abstracted from the platform they're working on. There are > often unavoidable differences due to platform, but usually they're handled > with warnings and errors rather than selective exports. > > On Thu, Sep 30, 2021 at 3:40 AM Berry Boessenkool < > berryboessenk...@hotmail.com> wrote: > > > > > One of the very best fortunes nominations! > > > > [...] > > > > I suspect something like > > > > if (stats::runif(1) > 0.5) export(someFunction) > > > > would work too, for a particularly frustrating experience for your > > users. It would mean half the installs export the function, and half > > don't. > > > > Duncan Murdoch > > > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-package-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-package-devel > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-package-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-package-devel > [[alternative HTML version deleted]] ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel