Hello, I'm sorry that I aswer to my own mail; I forgot to attach the patch. Patch below, Stepan Kasal
On Mon, Mar 12, 2018 at 06:53:00PM +0100, Stepan Kasal wrote: > When thinking about it, stopifnot() should really issue a better error > message in this case. Patch attached. But I should perhaps send > it also to R-devel. --- stopifnot-orig.r 2018-03-12 18:49:01.439484100 +0100 +++ stopifnot.r 2018-03-12 18:48:55.721846700 +0100 @@ -1,16 +1,20 @@ -function (...) +function (...) { n <- length(ll <- list(...)) - if (n == 0L) + if (n == 0L) return(invisible()) mc <- match.call() - for (i in 1L:n) if (!(is.logical(r <- ll[[i]]) && !anyNA(r) && + for (i in 1L:n) if (!(is.logical(r <- ll[[i]]) && !anyNA(r) && all(r))) { ch <- deparse(mc[[i + 1]], width.cutoff = 60L) - if (length(ch) > 1L) + if (length(ch) > 1L) ch <- paste(ch[1L], "....") - stop(sprintf(ngettext(length(r), "%s is not TRUE", "%s are not all TRUE"), - ch), call. = FALSE, domain = NA) + if (is.logical(r)) { + msg <- ngettext(length(r), "%s is not TRUE", "%s are not all TRUE") + } else { + msg <- gettext("%s is not of type \"logical\"") + } + stop(sprintf(msg, ch), call. = FALSE, domain = NA) } invisible() } ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.