[Rd] Conditional importFrom (roxygen?)
Duncan Murdoch
murdoch.duncan at gmail.com
Mon Oct 5 01:52:36 CEST 2015
On 04/10/2015 7:34 PM, Ben Bolker wrote:
> Duncan Murdoch <murdoch.duncan <at> gmail.com> writes:
>
>>
>> On 04/10/2015 10:10 AM, Jonathan Greenberg wrote:
>>> Folks:
>>>
>
> [snip snip snip]
>
>>>
>>> Is there a way to do a conditional importFrom based on the OS? Or can I
>>> safely ignore this (I'm trying to submit to CRAN).
>>>
>>
>> Yes, you can put conditionals into the NAMESPACE file. Apparently
>> roxygen2 doesn't support this feature, so you'll have to do it by hand.
>>
>> Duncan Murdoch
>>
>>
>
> This has been submitted as an issue at
>
> https://github.com/klutometis/roxygen/issues/378
>
> closely related:
>
> https://github.com/klutometis/roxygen/issues/371
>
> my current hacky solution to this is to use a Makefile that
> post-processes the NAMESPACE after it's roxygenized, e.g. search
> for "getRversion" in
>
> https://github.com/glmmTMB/glmmTMB/blob/master/Makefile
Hadley has the right idea (allow roxygen to specify some uninterpreted
text to drop into the NAMESPACE file), but it doesn't go far enough.
Really this is a design flaw in roxygen: being able to enter NAMESPACE
and help page info in source files is a great feature, but being forced
to go all or nothing is a flaw.
If base R adds something new to the NAMESPACE or .Rd files (or has some
obscure feature that roxygen authors didn't notice), it's really hard
for roxygen users to make use of it.
A better design would be to allow content from both sources: some
manually entered NAMESPACE stuff, and some automatically generated stuff.
A really nice design would be to read the manually entered stuff and
show (some of?) it in the .R files, but that would be really tricky to
get right. I think it would need to be supported by a GUI, it wouldn't
be reasonable to expect people to type it all properly in a dumb editor.
Maybe Hadley knows someone who has written a GUI?
Duncan Murdoch
More information about the R-devel
mailing list