[R-pkg-devel] check cross-references error: Non-file package-anchored link(s)

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Mon Jun 15 18:30:05 CEST 2020

On 15/06/2020 12:05 p.m., Martin Maechler wrote:
>>>>>> Duncan Murdoch   on Sun, 14 Jun 2020 07:28:03 -0400 writes:
>      > I agree with almost everything you wrote, except one thing:  this isn't
>      > newly enforced, it has been enforced since the help system began.  What
>      > I think is new is that there are now tests for it.  Previously those
>      > links just wouldn't work.
>      > Duncan Murdoch
> Yes, to all... including Duncan's agreement with Gábor.
> Also, Duncan M earlier did mention that he had wanted to
> *change* the link-to-file behavior for these cases (when he
> wrote most of the Rd2html source code) but somehow did not get it.

Actually, I don't think I pushed for this change at the time (or at 
least I didn't push much).  I just wish now that I had, because I think 
it will be harder to do it now than it would have been then.


> And that's why we had partial workarounds (as the dynamic server
> still finding the links under some circumstances).
> My personal opinions was also that "we" (the R community; i.e.,
> people providing good patches to the R sources / collaborating
> with R core / ...) should rather work to fix the current
> design/implementation "infelicity" than the current checks
> starting to enforce something which is really a wart in my view,
> and indeed, as Gábor also notes, will create R source
> documentation that depends on implementation details of other
> package's documentation.
> I don't like it either, not at all.
> Martin
>      > On 14/06/2020 6:26 a.m., Gábor Csárdi wrote:
>      >> On Sun, Jun 14, 2020 at 10:44 AM Duncan Murdoch
>      >> <murdoch.duncan using gmail.com> wrote:
>      >> [...]
>      >>>
>      >>> I think the argument was that static builds of the help pages would have
>      >>> trouble resolving the links.  With the current system, you can build a
>      >>> help page that links to a page in package foo even if package foo is not
>      >>> installed yet, and have the link work later after you install foo.
>      >>
>      >> That is true, but it is also not a big problem, I think. The CRAN
>      >> Windows R installer does indeed build static help pages by default.
>      >> But the built-in web server that serves these works around broken
>      >> links by treating them as help topics instead of files. As you know.
>      >> :) So this would only be a problem if you wanted to serve the static
>      >> help pages with another web server. (Which is not a bad use case, but
>      >> then maybe Rd2HTML() can just resolve them as topics and avoid the
>      >> broken links.)
>      >>
>      >> Btw. the problem of linking to the wrong page is even worse with
>      >> static builds of help pages, because if a link w/o a package (e.g.
>      >> \link{filter}) picks up the wrong package at install time, then the
>      >> wrong link is hard-coded in the html. If you are building binary
>      >> packages, then they will link to the wrong help pages.
>      >>
>      >> WRE says that specifying the package in the link is rarely needed.
>      >> This was probably the case some time ago, especially when packages did
>      >> not have (compulsory) namespaces. But I am not sure if it still holds.
>      >> I would argue that it is better to specify the package you are linking
>      >> to. But the newly enforced requirement that we need to link to files
>      >> instead of topics makes this more error prone.
>      >>
>      >> Gabor
>      >>
>      >> [...]

More information about the R-package-devel mailing list