Re: [R-pkg-devel] help fixing CRAN package sos-now fails on GitHub
On 5/22/23 2:38 PM, Duncan Murdoch wrote: On 22/05/2023 3:07 p.m., Ivan Krylov wrote: I fed your vignette to R CMD Sweave, and here's the relevant fragment from the resulting *.tex file: This returned a {\tt "findFn"} object identifying 405 help pages. When this was run while preparing this manuscript, the sixth row was {\tt pspline_checker} in the \pkg{JOPS} package, which has a {\tt Score} of 47. (On another day, the results could be different, because CRAN changes over time.) This was the sixth row in this table, because it is in the \pkg{JOPS} package, which had a total of 54 help pages matching the search term, but this was the only one whose name matched the {\tt pattern} passed to {\tt grepFn}. This corresponds to the following part of the vignette: This returned a {\tt "findFn"} object identifying \Sexpr{nrow(g)} help pages. When this was run while preparing this manuscript, the sixth row was {\tt \Sexpr{gFunc6}} in the \pkg{\Sexpr{gPac6}} package, which has a {\tt Score} of \Sexpr{gScore6}. So, you need to escape the underscores in gFunc6. Probably not gPac6 because underscores are not allowed in package names. Nice find. Just in case Spencer has trouble with escaping the escapes, I think he should change "{\tt \Sexpr{gFunc6}}" to "{\tt \Sexpr{sub("_", "_", gFunc6)}} CLOSE: That didn't work, but the following did: {\tt \Sexpr{gsub("_", "_", gFunc6)}} Even better would be to write a little function "sanitizeForLatex" that did this and any other necessary changes, and call that. That would doubtless be better, but I don't know enough to do that, and the above worked. Thanks very much to Duncan, Ivan, Vincent and Uwe, who contributed to this thread and the resolution of this problem. Spencer Graves Duncan Murdoch __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] help fixing CRAN package sos-now fails on GitHub
On 23/05/2023 6:53 a.m., Martin Maechler wrote: Duncan Murdoch on Mon, 22 May 2023 15:38:10 -0400 writes: > On 22/05/2023 3:07 p.m., Ivan Krylov wrote: >> I fed your vignette to R CMD Sweave, and here's the >> relevant fragment from the resulting *.tex file: >> >>> This returned a {\tt "findFn"} object identifying 405 >>> help pages. When this was run while preparing this >>> manuscript, the sixth row was {\tt pspline_checker} in >>> the \pkg{JOPS} package, which has a {\tt Score} of >>> 47. (On another day, the results could be different, >>> because CRAN changes over time.) This was the sixth row >>> in this table, because it is in the \pkg{JOPS} package, >>> which had a total of 54 help pages matching the search >>> term, but this was the only one whose name matched the >>> {\tt pattern} passed to {\tt grepFn}. >> >> This corresponds to the following part of the vignette: >> >>> This returned a {\tt "findFn"} object identifying >>> \Sexpr{nrow(g)} help pages. When this was run while >>> preparing this manuscript, the sixth row was {\tt >>> \Sexpr{gFunc6}} in the \pkg{\Sexpr{gPac6}} package, >>> which has a {\tt Score} of \Sexpr{gScore6}. >> >> So, you need to escape the underscores in >> gFunc6. Probably not gPac6 because underscores are not >> allowed in package names. >> > Nice find. Just in case Spencer has trouble with escaping > the escapes, I think he should change >"{\tt \Sexpr{gFunc6}}" > to >"{\tt \Sexpr{sub("_", "_", gFunc6)}} > Even better would be to write a little function > "sanitizeForLatex" that did this and any other necessary > changes, and call that. Yes, indeed (2 x). If I grep the base R package sources, I find three occurrences of something like the above: grep --color -nH --null -e 'sub *(.*_' */R/*.R tools/R/Rd2latex.R:295:x <- fsub("\\_", "_", x) tools/R/Rd2latex.R:303:x <- fsub("\\_", ".Rul.", x) tools/R/Rd.R:681:txt <- gsub("\\_", "_", txt, fixed=TRUE) all of which do the transformation in the other direction (because *.Rd in those cases already *is* LaTeX-alike, and needs to convert for non-LaTeX use). Note that the last one gives a hint to be more general --- gsub() also working a.g. for 'parse_me_not' --- *and* possibly faster (fixed=TRUE) leading to "{\tt \Sexpr{gsub("_", "_", gFunc6, fixed=TRUE)}} Martin Yes, a good idea to use gsub and fixed = TRUE. There are some changes in the other direction as well in that file (Rd format is very complicated). I think the characters it handles are \, &, $, %, _, #, {, }, ^, ~, occurring near line 145. Only _ is allowed in a "syntactic" name, but others might turn up when trying to display other code. Duncan __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] help fixing CRAN package sos-now fails on GitHub
> Duncan Murdoch > on Mon, 22 May 2023 15:38:10 -0400 writes: > On 22/05/2023 3:07 p.m., Ivan Krylov wrote: >> I fed your vignette to R CMD Sweave, and here's the >> relevant fragment from the resulting *.tex file: >> >>> This returned a {\tt "findFn"} object identifying 405 >>> help pages. When this was run while preparing this >>> manuscript, the sixth row was {\tt pspline_checker} in >>> the \pkg{JOPS} package, which has a {\tt Score} of >>> 47. (On another day, the results could be different, >>> because CRAN changes over time.) This was the sixth row >>> in this table, because it is in the \pkg{JOPS} package, >>> which had a total of 54 help pages matching the search >>> term, but this was the only one whose name matched the >>> {\tt pattern} passed to {\tt grepFn}. >> >> This corresponds to the following part of the vignette: >> >>> This returned a {\tt "findFn"} object identifying >>> \Sexpr{nrow(g)} help pages. When this was run while >>> preparing this manuscript, the sixth row was {\tt >>> \Sexpr{gFunc6}} in the \pkg{\Sexpr{gPac6}} package, >>> which has a {\tt Score} of \Sexpr{gScore6}. >> >> So, you need to escape the underscores in >> gFunc6. Probably not gPac6 because underscores are not >> allowed in package names. >> > Nice find. Just in case Spencer has trouble with escaping > the escapes, I think he should change >"{\tt \Sexpr{gFunc6}}" > to >"{\tt \Sexpr{sub("_", "_", gFunc6)}} > Even better would be to write a little function > "sanitizeForLatex" that did this and any other necessary > changes, and call that. Yes, indeed (2 x). If I grep the base R package sources, I find three occurrences of something like the above: grep --color -nH --null -e 'sub *(.*_' */R/*.R tools/R/Rd2latex.R:295:x <- fsub("\\_", "_", x) tools/R/Rd2latex.R:303:x <- fsub("\\_", ".Rul.", x) tools/R/Rd.R:681:txt <- gsub("\\_", "_", txt, fixed=TRUE) all of which do the transformation in the other direction (because *.Rd in those cases already *is* LaTeX-alike, and needs to convert for non-LaTeX use). Note that the last one gives a hint to be more general --- gsub() also working a.g. for 'parse_me_not' --- *and* possibly faster (fixed=TRUE) leading to "{\tt \Sexpr{gsub("_", "_", gFunc6, fixed=TRUE)}} Martin __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] help fixing CRAN package sos-now fails on GitHub
On 22/05/2023 3:07 p.m., Ivan Krylov wrote: I fed your vignette to R CMD Sweave, and here's the relevant fragment from the resulting *.tex file: This returned a {\tt "findFn"} object identifying 405 help pages. When this was run while preparing this manuscript, the sixth row was {\tt pspline_checker} in the \pkg{JOPS} package, which has a {\tt Score} of 47. (On another day, the results could be different, because CRAN changes over time.) This was the sixth row in this table, because it is in the \pkg{JOPS} package, which had a total of 54 help pages matching the search term, but this was the only one whose name matched the {\tt pattern} passed to {\tt grepFn}. This corresponds to the following part of the vignette: This returned a {\tt "findFn"} object identifying \Sexpr{nrow(g)} help pages. When this was run while preparing this manuscript, the sixth row was {\tt \Sexpr{gFunc6}} in the \pkg{\Sexpr{gPac6}} package, which has a {\tt Score} of \Sexpr{gScore6}. So, you need to escape the underscores in gFunc6. Probably not gPac6 because underscores are not allowed in package names. Nice find. Just in case Spencer has trouble with escaping the escapes, I think he should change "{\tt \Sexpr{gFunc6}}" to "{\tt \Sexpr{sub("_", "_", gFunc6)}} Even better would be to write a little function "sanitizeForLatex" that did this and any other necessary changes, and call that. Duncan Murdoch __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] help fixing CRAN package sos-now fails on GitHub
I fed your vignette to R CMD Sweave, and here's the relevant fragment from the resulting *.tex file: > This returned a {\tt "findFn"} object identifying 405 help pages. > When this was run while preparing this manuscript, the sixth row was > {\tt pspline_checker} in the \pkg{JOPS} package, which has a {\tt > Score} of 47. (On another day, the results could be different, > because CRAN changes over time.) This was the sixth row in this > table, because it is in the \pkg{JOPS} package, which had a total of > 54 help pages matching the search term, but this was the only one > whose name matched the {\tt pattern} passed to {\tt grepFn}. This corresponds to the following part of the vignette: > This returned a {\tt "findFn"} object identifying \Sexpr{nrow(g)} > help pages. > When this was > run while preparing this manuscript, the sixth row was > {\tt \Sexpr{gFunc6}} in the > \pkg{\Sexpr{gPac6}} package, which has a {\tt Score} of > \Sexpr{gScore6}. So, you need to escape the underscores in gFunc6. Probably not gPac6 because underscores are not allowed in package names. -- Best regards, Ivan __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] help fixing CRAN package sos-now fails on GitHub
A simple fix might be to redefine findFn in the global environment of the vignette, have it explicitly call sos::findFn, and return a result sanitized for LaTeX output. According to this: https://stackoverflow.com/questions/32865384/function-to-sanitize-strings-for-latex-compilation it looks like there are a couple of options for that. On Mon, May 22, 2023 at 1:39 PM Spencer Graves < spencer.gra...@effectivedefense.org> wrote: > Hi, Uwe et al.: > > > The sos vignette sos.Rnw now fails on GitHub, complaining of a > LaTeX > error in "{\tt pspline_ checker}". I don't find it in the code for > sos.Rnw. It may be triggered by a response to an internet search that's > different from before. > > > https://github.com/sbgraves237/sos > > > Uwe suggests I postprocess output with gsub("_", "_", > output). > It's not clear to me where I should apply this. I am not eager to > change the code in the package, because it could break something else > that's currently working. > > > Suggestions? > Thanks > Spencer Graves > > > On 5/16/23 7:41 AM, Uwe Ligges wrote: > > > > > > On 16.05.2023 14:02, Spencer Graves wrote: > >> > >> > >> On 5/16/23 6:06 AM, Uwe Ligges wrote: > >>> > >>> > >>> On 16.05.2023 01:46, Spencer Graves wrote: > Hello, All: > > > The sos package is failing some CRAN checks, complaining:[1] > > > LaTeX errors: > ! Missing $ inserted. > > $ > l.303 {\tt pspline_ > checker} in the > >>> > >>> > >>> I can only guess this is part of the response you got from some sos > >>> request? I cannot reproduce it currently. > >>> > >>> So check: > >>> Does your package pass check if some function names including an > >>> underscore in the name is returned from an sos request? > >> > >> > >> Hi, Uwe et al.: > >> > >> > >>Thanks, Uwe, for your reply. > >> > >> > >>It's complaining about something in a vignette that has been > >> part of the package since it appeared in The R Journal in Volume 1/2 > >> in 2009. I received an email from Prof. Ripley complaining that it > >> reported problems ("WARN") on some of the CRAN checks. When I asked, > >> Prof. Ripley reply's reply included: > >> > >> > >> >> l.303 {\tt pspline_ > >> >> checker} in the > >> >> ! ==> Fatal error occurred, no output PDF file produced! > >> >> > >> >> Underlines need to be escaped in LaTeX. And as your results > >> depend on > >> >> Internet downloads, > >> >> > >> >> "Packages which use Internet resources should fail gracefully with > an > >> >> informative message if the resource is not available or has changed > >> >> (and not give a check warning nor error)." > >> >> > >> >> applies: you need to anticipate that the results might include > >> >> underlines. > >> > >> > >>I don't know how to detect, let alone fix the "Underlines" that > >> "need to be escaped in LaTeX." > > > > If you receive an output, postprocess it via > > > > gsub("_", "_", output) > > > > > > > >> > >> > >>Regarding the other issue that "Packages which use Internet > >> resources should fail gracefully with an informative message if the > >> resource is not available or has changed (and not give a check warning > >> nor error)", I assume I should wrap in "try" all tests in *.Rd files > >> that access the Internet and make sure that they don't fail "R CMD > >> check" if the Internet is not available. > > > > Yes. > > > > Best, > > Uwe Ligges > > > > > >> > >>Comments? > >>Thanks again, > >>Spencer Graves > >> > >> > >> p.s. Yesterday I remember I got "WARN" on three of six CRAN checks > >> against r-devel on different platforms and NOTE on four of the seven > >> other CRAN checks. Today I see "WARN" on only two. If I just wait, > >> these "WARN" problems may go away by themselves. However, Prof. > >> Ripley gave me other problems to fix, and I want to support our kind, > >> smart and generous English professor. > >> > >>> > >>> Best, > >>> Uwe Ligges > >>> > >>> > >>> > >>> > >>> > >>> > ! Emergency stop. > > $ > l.303 {\tt pspline_ > checker} in the > ! ==> Fatal error occurred, no output PDF file produced! > --- failed re-building 'sos.Rnw' > > > I can NOT replicate these locally nor with GitHub action, and > I failed to find 'psp' in 'sos.Rnw'.[2] This raises two issue: > > > OBVIOUS: What can I do to fix this error, or at least to understand > it better? > > > SUBTLE: How can I configure "github action", so it can replicate > the errors reported on CRAN? > > > Thanks, > Spencer > > > [1] > > > https://cran.r-project.org > > > [2] > > > https://github.com/sbgraves237/sos > > >
Re: [R-pkg-devel] help fixing CRAN package sos-now fails on GitHub
Hi, Uwe et al.: The sos vignette sos.Rnw now fails on GitHub, complaining of a LaTeX error in "{\tt pspline_ checker}". I don't find it in the code for sos.Rnw. It may be triggered by a response to an internet search that's different from before. https://github.com/sbgraves237/sos Uwe suggests I postprocess output with gsub("_", "_", output). It's not clear to me where I should apply this. I am not eager to change the code in the package, because it could break something else that's currently working. Suggestions? Thanks Spencer Graves On 5/16/23 7:41 AM, Uwe Ligges wrote: On 16.05.2023 14:02, Spencer Graves wrote: On 5/16/23 6:06 AM, Uwe Ligges wrote: On 16.05.2023 01:46, Spencer Graves wrote: Hello, All: The sos package is failing some CRAN checks, complaining:[1] LaTeX errors: ! Missing $ inserted. $ l.303 {\tt pspline_ checker} in the I can only guess this is part of the response you got from some sos request? I cannot reproduce it currently. So check: Does your package pass check if some function names including an underscore in the name is returned from an sos request? Hi, Uwe et al.: Thanks, Uwe, for your reply. It's complaining about something in a vignette that has been part of the package since it appeared in The R Journal in Volume 1/2 in 2009. I received an email from Prof. Ripley complaining that it reported problems ("WARN") on some of the CRAN checks. When I asked, Prof. Ripley reply's reply included: >> l.303 {\tt pspline_ >> checker} in the >> ! ==> Fatal error occurred, no output PDF file produced! >> >> Underlines need to be escaped in LaTeX. And as your results depend on >> Internet downloads, >> >> "Packages which use Internet resources should fail gracefully with an >> informative message if the resource is not available or has changed >> (and not give a check warning nor error)." >> >> applies: you need to anticipate that the results might include >> underlines. I don't know how to detect, let alone fix the "Underlines" that "need to be escaped in LaTeX." If you receive an output, postprocess it via gsub("_", "_", output) Regarding the other issue that "Packages which use Internet resources should fail gracefully with an informative message if the resource is not available or has changed (and not give a check warning nor error)", I assume I should wrap in "try" all tests in *.Rd files that access the Internet and make sure that they don't fail "R CMD check" if the Internet is not available. Yes. Best, Uwe Ligges Comments? Thanks again, Spencer Graves p.s. Yesterday I remember I got "WARN" on three of six CRAN checks against r-devel on different platforms and NOTE on four of the seven other CRAN checks. Today I see "WARN" on only two. If I just wait, these "WARN" problems may go away by themselves. However, Prof. Ripley gave me other problems to fix, and I want to support our kind, smart and generous English professor. Best, Uwe Ligges ! Emergency stop. $ l.303 {\tt pspline_ checker} in the ! ==> Fatal error occurred, no output PDF file produced! --- failed re-building 'sos.Rnw' I can NOT replicate these locally nor with GitHub action, and I failed to find 'psp' in 'sos.Rnw'.[2] This raises two issue: OBVIOUS: What can I do to fix this error, or at least to understand it better? SUBTLE: How can I configure "github action", so it can replicate the errors reported on CRAN? Thanks, Spencer [1] https://cran.r-project.org [2] https://github.com/sbgraves237/sos Forwarded Message Subject: Re: CRAN package sos Date: Sun, 14 May 2023 14:46:06 +0100 From: Prof Brian Ripley Reply-To: CRAN To: Spencer Graves CC: c...@r-project.org On 12/05/2023 13:03, Spencer Graves wrote: Hello, All: You have just spammed my personal email address, contrary to the CRAN policy and done so deliberately and/or recklessly, overriding the Reply-To header. Is MASS being withdrawn along with multiple other packages (mgcv, survival, boot, lattice)? Not so. And that was a failure to do your own homework as you should have looked on CRAN to see that they are still available. Further options(repos=c(CRAN="http://cran.cnr.berkeley.edu;)) does not respect the user's choice of repository: that seems to make re-making it unreasonably slow. On my very fast MacBook Pro * checking re-building of vignette outputs ...^R [26s/265s] OK so it is waiting 90% of the time. That's responsible for 3 of the 4 'warnings' listed there. The warning for r-devel-linux-x86_64-fedora-gcc says "LaTeX errors: ! Missing $ inserted ... Fatal error occurred, no output PDF file produced! ... Vignette re-building failed."