On 18/12/2014, 12:17 AM, Yihui Xie wrote: > For the record, I saw a change had been made in R-devel: > https://github.com/wch/r-source/commit/d53b098 (Thanks, Duncan) > Meanwhile, I also made a change in knitr to assume UTF-8 unless R > passes an encoding to the vignette engine: > https://github.com/yihui/knitr/commit/23c6c8e2 Both will solve the > original problem, but apparently the former one is the ideal fix.
The Windows builds of R-devel were stalled for a few days, but I've given them a kick now, so this should appear in the Windows binaries on CRAN soon. Duncan Murdoch > > Regards, > Yihui > -- > Yihui Xie <xieyi...@gmail.com> > Web: http://yihui.name > > > On Wed, Dec 10, 2014 at 6:19 AM, Duncan Murdoch > <murdoch.dun...@gmail.com> wrote: >> On 09/12/2014, 10:36 PM, Yihui Xie wrote: >>> I took a look at the R source and I realized that the encoding was >>> actually never passed to the vignette engine: >>> https://github.com/wch/r-source/blob/e721ef5f4/src/library/tools/R/Vignettes.R#L507 >>> Apparently only the file and quiet arguments are passed to the >>> vignette engine. Did I miss anything? >> >> I think it's actually a little messier than that: sometimes the >> encoding is passed (e.g. by tools:::.run_one_vignette, used in R CMD >> check), but not always. Here's what I think should happen instead: >> >> When building a vignette in a package, R knows the encoding declared for >> the package, so it should assume this as the default for the vignette. >> If nothing is declared, it should assume "native.enc", i.e. whatever is >> the native encoding on the machine it's running on. >> >> For each vignette, at the same time as it determines the vignette >> engine, it should see whether there is a declared encoding within the >> vignette. >> >> When it calls the engine, it should pass an encoding (and it should be a >> legal one, e.g. UTF-8, not utf8). >> >> Unless I notice something missing when I do this, or someone else tells >> me something that's missing, I'll try to make the changes above in >> R-devel and R-patched sometime before 3.1.3 is released. >> >> In the meantime, unless declaring a dependence on R >= 3.1.3, vignette >> engines should determine the encoding themselves whenever they are >> called without an "encoding" argument. >> >> Duncan Murdoch ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel