[R-pkg-devel] cross-ref possible ext.pkg's --not mentioned in DESCRIPTION file-- in non-code sections in .Rd files
Martin Maechler
m@ech|er @end|ng |rom @t@t@m@th@ethz@ch
Wed Nov 9 10:51:23 CET 2022
>>>>> Andrew Simmons
>>>>> on Mon, 7 Nov 2022 12:19:48 -0500 writes:
> Packages in Suggests and Enhances do not create a circular dependency, only
> the packages in the Depends and Imports need to be installed at INSTALL and
> loaded at load time. Packages in Suggests and Enhances are only needed at
> check time, and even then it's more of a desire to be loaded than actually
> needing to be loaded.
> I would just put them in Suggests or Enhances
Thank you, Andrew.
'Enhances' I think would be preferable.
Still, as Peter, I am not very happy about this NOTE.
Notably as I guess people will use (even) less \link{..} in
their R documentation (*).
... but yes, we can live with it, and I'm sure Peter will keep
his Rd files well maintained in spite ..
Martin
--
*) which is often lacking anyway, in my view
because things like roxygen implicitly/indirectly suggest to
many package authors that documentation is something you do as
quickly and as shortly as possible..
> On Mon, Nov 7, 2022, 11:10 Peter Ruckdeschel <peter.ruckdeschel using web.de>
> wrote:
>> Hi,
>>
>> triggered by some new NOTEs uncovering infallacities in my packages on
>> CRAN, I stumbled upon
>>
>> Result: NOTE Undeclared packages ‘distrMod’, ‘RobAStBase’ in Rd xrefs
>>
>> which is issued in R-devel-linux-x86_64-fedora-clang (but not otherwise).
>>
>> Digging into it, this comes from a text in a \seealso section where
>> through something like
>>
>> \code{\{link}[<ext.pkg>]{<generic>}
>>
>> we want to link to a method provided in some extension package <ext.pkg>
>> for a generic
>> <generic> documented in Rd-file of the current package.
>>
>> In this case, we intentionally do not have <ext.pkg> in any of the entries
>> "Depends", "Suggests",
>> "Imports", "Enhances" in the DESCRIPTION file, as <ext.pkg> is neither
>> needed visible for the
>> user, nor for the code in the current package nor for testing code nor for
>> example code and vignettes
>> of the current package, and because having it in "Suggests" would produce
>> a circular dependence
>> as <ext.pkg> has the current package in its "Imports" section.
>>
>> Of course, in "Writing R extesions" we find that
>>
>> "Packages referred to by these ‘other forms’ should be declared in the
>> DESCRIPTION file, in
>> the ‘Depends’, ‘Imports’, ‘Suggests’ or ‘Enhances’ fields. "
>>
>> so I am aware that this is my fault, as I use these 'other forms' without
>> declaration in the DESCRIPTION file.
>> Now I guess I could wrap my conditional cross-ref into some R-code,
>> testing whether <ext.pkg> is available,
>> i.e., something like
>>
>> \Sexpr[eval=TRUE,stage=render,results=text]{if("<ext.pkg>" %in%
>> installed.packages()[,1] )
>> cat("\\code{\\{link}[<ext.pkg>]{<generic>}") else cat("<generic> from
>> package \\pkg{<ext.pkg>})
>>
>> and so produce the link only if <ext.pkg> is installed at rendering time,
>> but I would guess such a
>> conditional linkage would be something which could be of interest to a
>> broader scope of R-package
>> developers and hence could and should be implemented in a less cumbersome,
>> and more
>> efficient way.
>>
>> Any suggestions welcome,
>> best, Peter
>>
>> --
>> %******************************************************************
>> % Prof. Dr. Peter Ruckdeschel
>> % Institut fuer Mathematik, Fakultaet V - Mathematik und
>> Naturwissenschaften
>> % Carl von Ossietzky Universitaet Oldenburg,
>> % Postfach 5634, 26111 Oldenburg
>> % Office: Wechloy W1 02-227 Tel: +49 (0)441 798-3240 Fax: +49 (0)441
>> 798-193240
>> %peter.ruckdeschel using uni-oldenburg.de
>> %http://www.uni-oldenburg.de/peter-ruckdeschel
>> %******************************************************************
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-package-devel using r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>>
> [[alternative HTML version deleted]]
> ______________________________________________
> R-package-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
More information about the R-package-devel
mailing list