> -----Original Message----- > From: r-devel-boun...@r-project.org > [mailto:r-devel-boun...@r-project.org] On Behalf Of Duncan Murdoch > Sent: Tuesday, November 17, 2009 2:50 AM > To: Gabor Grothendieck > Cc: r-devel@r-project.org > Subject: Re: [Rd] make.packages.html > > On 17/11/2009 5:33 AM, Gabor Grothendieck wrote: > > In "R version 2.10.0 Patched (2009-11-15 r50445)" on Windows Vista > > upon issuing help.start() and clicking on Packages I get this. > > > > Packages in C:\Users\Gabor\Documents\R\win-library\2.10 > > > > C:\Users\Gabor\Documents/R/win-library/2.10/AER/DESCRIPTION -- Title > > is missing -- > > > C:\Users\Gabor\Documents/R/win-library/2.10/akima/DESCRIPTION -- Title > > is missing -- > > C:\Users\Gabor\Documents/R/win-library/2.10/car/DESCRIPTION -- Title > > is missing -- > > C:\Users\Gabor\Documents/R/win-library/2.10/caroline/DESCRIPTION -- > > Title is missing -- > > ... > > > > Looking at make.packages.html in utils, this code: > > > > for (lib in lib.loc) { > > pg <- Sys.glob(file.path(lib, "*", "DESCRIPTION")) > > pkgs[[lib]] <- sort(sub(paste(lib, "([^/]*)", > "DESCRIPTION$", > > sep = "/"), "\\1", pg)) > > } > > > > has the problem that lib can contain regular expression > characters but > > is used in the pattern of sub. This could be changed to > the following > > which does not use lib in any pattern. Only the pkgs[[lib]]<- > > statement is changed relative to the original: > > > > for (lib in lib.loc) { > > pg <- Sys.glob(file.path(lib, "*", "DESCRIPTION")) > > pkgs[[lib]] <- sort(sub(".*[\\/]", "", > sub(".DESCRIPTION$", "", pg))) > > } > > Thanks, I'll take a look.
Hadley Wickham asked last week about a function that escaped all the regular-expression special characters in a string, so one could use gsub with fixed=TRUE, and I suggested asFixedRegex <- function(pattern) { gsub("([][^${}().?*+|\\])", "\\\\\\1", pattern) } (I left out the | in the original mail). asFixedRegex() could be used to fix this problem by changing 'lib' to 'asFixedRegex(lib)' in the offending call to sub sub(paste(asFixedRegex(lib), "([^/]*)", "DESCRIPTION$", sep = "/"), "\\1", pg) Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com > > Duncan Murdoch > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel