You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The expression \code{.()} is a \emph{shorthand} alias to \code{list()}; they both mean the same. (An exception is made for the use of \code{.()} within a call to \code{\link{bquote}}, where \code{.()} is left unchanged.)
Let's do so consistently, including a linter to prevent regression.
froll drafts all only touch man/froll.Rd, except #5441, which appears to have an ongoing merge conflict/rebase issue where unrelated edits are showing up in other man/ files.
I think it's fine to file a PR for this issue now, if the PR author agrees to also resolve any conflicts with the listed PRs afterwards, should any arise.
If it is just a few PRs then we could alternatively try to merge or close them before. That will end up to be less work in total, than the other way around.
It's not necessary to spell out \link[foo:bar]{bar} instead of \link[foo]{bar}, tools:::get_link resolves them the same way, but it shouldn't hurt too much either.
This issue isn't of high priority because even unqualified links to base topics should never fail to resolve, people usually don't create conflicts with base topics, and R CMD check only gives a NOTE about unqualified non-(base or local) links, but it is useful in case a topic conflict does occur.
# list of topics documented on CRANtools::CRAN_aliases_db() ->cran_aliases# (takes a long time)cran_aliases|> names() |> lapply(\(pkg)
cran_aliases[[pkg]] |> names() |> lapply(\(file)
data.table(alias=cran_aliases[[pkg]][[file]], file=file, pkg=pkg)
)
) |> unlist(FALSE) |> rbindlist() ->cran_alias_db# list of documented topics in base packages (destinations for \link{foo})tools::base_aliases_db() |> unlist(use.names=FALSE) |> unique() ->base_aliases
length(base_aliases) # ⇒ [1] 4696# links from the data.table help pagestools::CRAN_rdxrefs_db()$data.table|> as.data.table() ->dt_xrefs# Any unqualified links from data.table to base topics intersecting with CRAN?dt_xrefs[
# Any unqualified links from data.table...!nzchar(Anchor), -'Anchor'
][
# ...to base topics....
J(Target=base_aliases), on= .(Target), nomatch=NULL
][
# ...intersecting with aliases from CRAN, not in data.table itself?cran_alias_db[pkg!='data.table'], on= .(Target=alias), nomatch=NULL
][
, .(Source= paste(unique(Source), collapse=', '), dest= paste(pkg, file, sep=':', collapse=', ')), by= .(Target)
] ->potential_conflictspotential_conflicts[,-'dest'] # the last column can be really long
This is only a minor problem when using the dynamic help server (help.start()). With R CMD INSTALL --html, the links will be forced to resolve to the base and recommended packages before they can be resolved to CRAN packages.
Activity
jangorecki commentedon Jun 24, 2025
+1
But let's not make it top priority stuff that will cause new git conflicts. Adding it later on will not make any harm...
MichaelChirico commentedon Jun 24, 2025
To facilitate this type of discussion, I made LLM write a script (happily it worked copy+paste, but I tweaked it a bit anyway):
https://gist.github.com/MichaelChirico/64e981b4359a36d2279bf55c39c7d3dd
Here are the non-
frollnon-draft PRs that touch any existing Rd file#6899, #6879, #6624, #6360, #6136, #5168, #4978, #4868, #3093
They touch files:
all.equal.data.table.Rd, data.table.Rd, groupingsets.Rd, IDateTime.Rd, last.Rd, na.omit.data.table.Rd, setDT.Rd
frolldrafts all only touch man/froll.Rd, except #5441, which appears to have an ongoing merge conflict/rebase issue where unrelated edits are showing up in other man/ files.I think it's fine to file a PR for this issue now, if the PR author agrees to also resolve any conflicts with the listed PRs afterwards, should any arise.
jangorecki commentedon Jun 24, 2025
If it is just a few PRs then we could alternatively try to merge or close them before. That will end up to be less work in total, than the other way around.
aitap commentedon Jul 1, 2025
It's not necessary to spell out
\link[foo:bar]{bar}instead of\link[foo]{bar},tools:::get_linkresolves them the same way, but it shouldn't hurt too much either.This issue isn't of high priority because even unqualified links to base topics should never fail to resolve, people usually don't create conflicts with base topics, and
R CMD checkonly gives a NOTE about unqualified non-(base or local) links, but it is useful in case a topic conflict does occur.aitap commentedon Mar 3, 2026
To quantify the problem:
This is only a minor problem when using the dynamic help server (
help.start()). WithR CMD INSTALL --html, the links will be forced to resolve to the base and recommended packages before they can be resolved to CRAN packages.