[R] R 3.2, Mac 10.10.3 : help.search showing error
David Winsemius
dwinsemius at comcast.net
Sun Jun 14 07:00:13 CEST 2015
On Jun 13, 2015, at 9:25 PM, Ramnik Bansal wrote:
> Thanks. But it seems to be an R 3.2.0 specific problem.
Exactly. That's why I needed to take the time to update my installation. I posted a message to R-devel after failing to find where the code was different in the two versions and not getting any understanding from tracing the 'help'-function.
I do see in the R 3.1.2 version that this code:
if (!missing(pattern)) {
if (!is.character(pattern) || (length(pattern) > 1L))
stop(.wrong_args("pattern"), domain = NA)
i <- pmatch(fields, FIELDS)
if (anyNA(i))
stop("incorrect field specification")
else fields <- FIELDS[i]
}
was changed .... to this:
if (!missing(pattern)) {
if (!is.character(pattern) || (length(pattern) > 1L))
stop(.wrong_args("pattern"), domain = NA)
i <- pmatch(fields, hsearch_db_fields)
if (anyNA(i))
stop("incorrect field specification")
else fields <- hsearch_db_fields[i]
}
And I see this in the NEWS file:
• New function hsearch_db() in package utils for building and retrieving the help search database used byhelp.search(), along with functions for inspecting the concepts and keywords in the help search database.
--
David.
>
> On Sun, Jun 14, 2015 at 8:42 AM, David Winsemius <dwinsemius at comcast.net> wrote:
>
> On Jun 13, 2015, at 7:41 AM, Ramnik Bansal wrote:
>
> > Getting following error in using help.search
> >
> >> utils::help.search("linear models")
> > Error in help(db[i, "topic"], package = db[i, "Package"], lib.loc = lib, :
> > 'topic' should be a name, length-one character vector or reserved word
>
> I first tried this in a Mac running the SL version for R 3.1.2 and did not get this error. I updated my Mavericks laptop to R 3.2.0 and can now reproduce this error. It does not seem to depend on having a space in the argument. It seems to be thrown by this segment of code in the `help()`-function:
>
> ischar <- tryCatch(is.character(topic) && length(topic) ==
> 1L, error = identity)
> if (inherits(ischar, "error"))
> ischar <- FALSE
> if (!ischar) {
> reserved <- c("TRUE", "FALSE", "NULL", "Inf", "NaN",
> "NA", "NA_integer_", "NA_real_", "NA_complex_", "NA_character_")
> stopic <- deparse(substitute(topic))
> if (!is.name(substitute(topic)) && !stopic %in% reserved)
> stop("'topic' should be a name, length-one character vector or reserved word")
>
> If gone through the `help.search` function code and cannot find where the `help` function is actually called. This seems unlikely to be a Mac-specific problem.
>
> >
> >
> >> example(help.search)
> >
> > hlp.sr> help.search("linear models") # In case you forgot how to fit
> > linear
> > Error in help(db[i, "topic"], package = db[i, "Package"], lib.loc = lib, :
> > 'topic' should be a name, length-one character vector or reserved word
> >
> >
> > How to sort this?
> >
> > [[alternative HTML version deleted]]
>
> David Winsemius
> Alameda, CA, USA
>
>
David Winsemius
Alameda, CA, USA
More information about the R-help
mailing list