[Rd] Error in link in Rd file stops package installation
William Dunlap
wdunlap at tibco.com
Fri Oct 23 05:03:02 CEST 2009
The following patch seems to get the warning message right
lag.zoo html
Rd warning: ./man/lag.zoo.Rd:54: file link 'diff' in package 'stats'
does not exist and so has been treated as a topic
Index: src/library/tools/R/Rd2HTML.R
===================================================================
--- src/library/tools/R/Rd2HTML.R (revision 50178)
+++ src/library/tools/R/Rd2HTML.R (working copy)
@@ -305,7 +305,7 @@
if (!OK) {
## so how about as a topic?
file <- utils:::index.search(parts$targetfile,
pkgpath)
- if (nzchar(file)) {
+ if (length(file)==0 || nzchar(file)) {
warnRd(block, Rdfile,
"file link ", sQuote(parts$targetfile),
" in package ", sQuote(parts$pkg),
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
> -----Original Message-----
> From: r-devel-bounces at r-project.org
> [mailto:r-devel-bounces at r-project.org] On Behalf Of William Dunlap
> Sent: Thursday, October 22, 2009 1:54 PM
> To: R-devel at r-project.org
> Subject: [Rd] Error in link in Rd file stops package installation
>
> With a pretty recent version of R 2.11.0 (devel,unstable,
> svn 50178) on Linux I could not install version 1.5-8 of zoo (the
> current on on CRAN):
>
> % R-devel CMD INSTALL -l Rlib3 zoo
> * installing *source* package 'zoo' ...
> ** R
> ** inst
> ** preparing package for lazy loading
> ** help
> *** installing help indices
> converting help for package 'zoo'
> finding HTML links ... done
> MATCH html
> ORDER html
> aggregate.zoo html
> as.Date.ts html
> as.zoo html
> coredata html
> frequency html
> index html
> is.regular html
> lag.zoo html
> Error: argument is of length zero
> * removing
> '/a/seafiler01.na.tibco.com/vol/vol2/users/bill/packages/Rlib3/zoo'
>
> The tryCatch calls in the installer code obliterate
> most traces of where this 'argument is of length zero'
> comes from. If I run the install from a directory containing
> the .Rprofile file containing the line
> utils::assignInNamespace("tryCatch", function(expr, ...) expr,
> ns="base")
> then I get:
> ...
> is.regular html
> lag.zoo html Error in if
> (nzchar(file)) { : argument is of length zero
> * removing
> '/a/seafiler01.na.tibco.com/vol/vol2/users/bill/packages/Rlib3/zoo'
> * restoring previous
> '/a/seafiler01.na.tibco.com/vol/vol2/users/bill/packages/Rlib3/zoo'
> and I can grep around for 'if (nzchar(file))'. (Redefining q() in
> .Rprofile to give a traceback can help in the search also.)
>
> After the attached change to Rd2HTML I get
> ...
> index html
> is.regular html
> lag.zoo html
> Rd warning: ./man/lag.zoo.Rd:54: missing file link 'diff'
> make.par.list html
> merge.zoo html
> ...
> Line 54 of that help file is
> \seealso{\code{\link{zoo}}, \code{\link[stats]{lag}},
> \code{\link[stats]{diff}}}
> and I think the [stats]{diff} should be [base]{diff}.
>
> The change I made (which isn't quite right but avoids
> mysteriously killing the installation for what turns out
> to be a minor error) was
>
> Index: src/library/tools/R/Rd2HTML.R
> ===================================================================
> --- src/library/tools/R/Rd2HTML.R (revision 50178)
> +++ src/library/tools/R/Rd2HTML.R (working copy)
> @@ -305,7 +305,7 @@
> if (!OK) {
> ## so how about as a topic?
> file <- utils:::index.search(parts$targetfile,
> pkgpath)
> - if (nzchar(file)) {
> + if (length(file)>0 && nzchar(file)) {
> warnRd(block, Rdfile,
> "file link ",
> sQuote(parts$targetfile),
> " in package ", sQuote(parts$pkg),
>
> A longer range fix would be to print more contextual
> information with the error messages from INSTALL.
>
> Bill Dunlap
> Spotfire, TIBCO Software
> wdunlap tibco.com
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
More information about the R-devel
mailing list