On 18/10/2018 8:50 AM, Ben Tupper wrote:
I also have no firewall running on the platform.  I do have anti-virus/malware 
and have turned it off.  The help window still renders with a blank page and 
there is no text captured with a copy-paste.

I tried debug() as Duncan suggested and get the following in a fresh R.app 
session...

Okay, that wasn't as informative as I had hoped. Could you try the following:

debug(get("aqua.browser", envir = as.environment("tools:RGUI")))

then ask for help on something. You should stop in the debugger seeing something like

debugging in: browser(if (encodeIfNeeded) URLencode(url) else url)
debug: {
    x <- gsub("http://127.0.0.1";, "http://localhost";, x, fixed = TRUE)
    .Call("aqua.custom.print", "help-files", x)
    invisible(x)
}

At the prompt, type "n" (without the quotes, followed by return) twice, until you are at the .Call line. Then type

browseURL(x)

This should open your external browser. It will either show a blank page, or the help page: that will indicate whether the problem is in the internal browser or in the server.

Then go back to R.app, and type "c". This should open the same help page in the internal browser. It might show a blank page, or the regular help page: either one would tell us something.

Duncan Murdoch



debug(utils:::print.help_files_with_topic)
help("help")
debugging in: print.help_files_with_topic(x)
debug: {
     browser <- getOption("browser")
     topic <- attr(x, "topic")
     type <- attr(x, "type")
     if (.Platform$GUI == "AQUA" && type == "html")
         browser <- get("aqua.browser", envir = as.environment("tools:RGUI"))
     paths <- as.character(x)
     if (!length(paths)) {
         writeLines(c(gettextf("No documentation for %s in specified packages and 
libraries:",
             sQuote(topic)), gettextf("you could try %s", sQuote(paste0("??",
             topic)))))
         return(invisible(x))
     }
     port <- if (type == "html")
         tools::startDynamicHelp(NA)
     else NULL
     if (attr(x, "tried_all_packages")) {
         paths <- unique(dirname(dirname(paths)))
         msg <- gettextf("Help for topic %s is not in any loaded package but can be 
found in the following packages:",
             sQuote(topic))
         if (type == "html" && port > 0L) {
             path <- file.path(tempdir(), ".R/doc/html")
             dir.create(path, recursive = TRUE, showWarnings = FALSE)
             out <- paste0("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 
Transitional//EN\">\n",
                 "<html><head><title>R: help</title>\n", "<meta http-equiv=\"Content-Type\" 
content=\"text/html; charset=\"UTF-8\">\n",
                 "<link rel=\"stylesheet\" type=\"text/css\" 
href=\"/doc/html/R.css\">\n",
                 "</head><body>\n\n<hr>\n")
             out <- c(out, "<p>", msg, "</p><br>")
             out <- c(out, "<table width=\"100%\" summary=\"R Package 
list\">\n",
                 "<tr align=\"left\" valign=\"top\">\n", "<td 
width=\"25%\">Package</td><td>Library</td></tr>\n")
             pkgs <- basename(paths)
             links <- paste0("<a href=\"http://127.0.0.1:";, port,
                 "/library/", pkgs, "/help/", topic, "\">", pkgs,
                 "</a>")
             out <- c(out, paste0("<tr align=\"left\" valign=\"top\">\n",
                 "<td>", links, "</td><td>", dirname(paths), "</td></tr>\n"))
             out <- c(out, "</table>\n</p>\n<hr>\n</body></html>")
             writeLines(out, file.path(path, "all.available.html"))
             browseURL(paste0("http://127.0.0.1:";, port, 
"/doc/html/all.available.html"),
                 browser)
         }
         else {
             writeLines(c(strwrap(msg), "", paste0("  ", 
formatDL(c(gettext("Package"),
                 basename(paths)), c(gettext("Library"), dirname(paths)),
                 indent = 22))))
         }
     }
     else {
         if (length(paths) > 1L) {
             if (type == "html" && port > 0L) {
                 browseURL(paste0("http://127.0.0.1:";, port, 
"/library/NULL/help/",
                   URLencode(topic, reserved = TRUE)), browser)
                 return(invisible(x))
             }
             file <- paths[1L]
             p <- paths
             msg <- gettextf("Help on topic %s was found in the following 
packages:",
                 sQuote(topic))
             paths <- dirname(dirname(paths))
             txt <- formatDL(c("Package", basename(paths)), c("Library",
                 dirname(paths)), indent = 22L)
             writeLines(c(strwrap(msg), "", paste0("  ", txt),
                 ""))
             if (interactive()) {
                 fp <- file.path(paths, "Meta", "Rd.rds")
                 tp <- basename(p)
                 titles <- tp
                 if (type == "html" || type == "latex")
                   tp <- tools::file_path_sans_ext(tp)
                 for (i in seq_along(fp)) {
                   tmp <- try(readRDS(fp[i]))
                   titles[i] <- if (inherits(tmp, "try-error"))
                     "unknown title"
                   else tmp[tools::file_path_sans_ext(tmp$File) ==
                     tp[i], "Title"]
                 }
                 txt <- paste0(titles, " {", basename(paths),
                   "}")
                 res <- menu(txt, title = gettext("Choose one"),
                   graphics = getOption("menu.graphics"))
                 if (res > 0)
                   file <- p[res]
             }
             else {
                 writeLines(gettext("\nUsing the first match ..."))
             }
         }
         else file <- paths
         if (type == "html") {
             if (port > 0L) {
                 path <- dirname(file)
                 dirpath <- dirname(path)
                 pkgname <- basename(dirpath)
                 browseURL(paste0("http://127.0.0.1:";, port, "/library/",
                   pkgname, "/html/", basename(file), ".html"),
                   browser)
             }
             else {
                 warning("HTML help is unavailable", call. = FALSE)
                 att <- attributes(x)
                 xx <- sub("/html/([^/]*)\\.html$", "/help/\\1",
                   x)
                 attributes(xx) <- att
                 attr(xx, "type") <- "text"
                 print(xx)
             }
         }
         else if (type == "text") {
             pkgname <- basename(dirname(dirname(file)))
             temp <- tools::Rd2txt(.getHelpFile(file), out = tempfile("Rtxt"),
                 package = pkgname)
             file.show(temp, title = gettextf("R Help on %s",
                 sQuote(topic)), delete.file = TRUE)
         }
         else if (type %in% "pdf") {
             path <- dirname(file)
             dirpath <- dirname(path)
             texinputs <- file.path(dirpath, "help", "figures")
             tf2 <- tempfile("Rlatex")
             tools::Rd2latex(.getHelpFile(file), out = tf2)
             .show_help_on_topic_offline(tf2, topic, type, texinputs)
             unlink(tf2)
         }
     }
     invisible(x)
}
Browse[2]> c

... at which point the blank help window pops.

On Oct 18, 2018, at 6:29 AM, zListserv <zlists...@gmail.com> wrote:


On 2018-10-17, at 22:29, Marc Schwartz <marc_schwa...@me.com> wrote:

Ok, strange. I figured that there was some conflict/corruption in place with 
R.app that was not immediately clear.

Peter raised the possibility of a firewall issue, but I am curious as to why 
that would affect the use of help in R.app, but not via other environments, 
like the Mac Terminal app. Theoretically, it should be via similar protocols 
and ports in each setting, unless there is something specific that R.app does 
to the OS environment when running, that would inhibit the dynamic generation 
of the HTML pages. But if so, why just for the two of you?

It seems like the server is starting up ok, but the help pages are not being 
generated by Rd2HTML() in R.app.

However, it sparked a thought in my head, which is always risky, and that is, 
do you guys have any anti-virus/malware software running? I may be grasping at 
straws here, but such applications have been known to cause all kinds of flaky 
behaviors, that are not immediately evident nor associated with them.

No firewall; no anti-virus or other malware software


One other thought. When you get the blank HTML page, presumably white 
background, drag the cursor around the page to try to highlight text, as if the 
text was also white, thus not showing against the white background. Another 
straw....

Nope.  Blank is blank.  No invisible text detected.


Regards,

Marc
<snip>


Ben Tupper
Bigelow Laboratory for Ocean Sciences
60 Bigelow Drive, P.O. Box 380
East Boothbay, Maine 04544
http://www.bigelow.org

Ecological Forecasting: https://eco.bigelow.org/






        [[alternative HTML version deleted]]

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac


_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

Reply via email to