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.
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