[Rd] directing print.packageInfo to a file
Gabor Grothendieck
ggrothendieck at myway.com
Mon Jul 26 01:16:49 CEST 2004
There was a discussion on r-help of getting the output from
print.packageInfo into a file. Spencer and I have added a file=
argument to print.packageInfo for consideration in R. Had this
been available it would have simplified the answer to that
thread. If the file= argument is used then the packageInfo
information is sent to the file specified rather than displayed
using file.show .
print.packageInfo <- function (x, ..., file = NULL)
{
if (!inherits(x, "packageInfo"))
stop("wrong class")
outFile <- if (is.null(file))
tempfile("RpackageInfo")
else
file
outConn <- file(outFile, open = "w")
vignetteMsg <- paste("Further information is available in the following ",
"vignettes in directory ", sQuote(file.path(x$path, "doc")),
":", sep = "")
headers <- c("", "Description:\n\n", "Index:\n\n", paste(paste(strwrap
(vignetteMsg),
collapse = "\n"), "\n\n", sep = ""))
footers <- c("\n", "\n", "\n", "")
formatDocEntry <- function(entry) {
if (is.list(entry) || is.matrix(entry))
formatDL(entry, style = "list")
else entry
}
for (i in which(!sapply(x$info, is.null))) {
writeLines(headers[i], outConn, sep = "")
writeLines(formatDocEntry(x$info[[i]]), outConn)
writeLines(footers[i], outConn, sep = "")
}
close(outConn)
if (is.null(file))
file.show(outFile, delete.file = TRUE, title = paste
("Documentation for package",
sQuote(x$name)))
invisible(x)
}
More information about the R-devel
mailing list