I rebuilt R with export LC_CTYPE=en_US.UTF-8 and the test still fail. Surprisingly, when I run R from the bin directory and execute the test code, it runs without error:
> oloc <- Sys.getlocale("LC_CTYPE") > mbyte.lc <- { + if(.Platform$OS.type == "windows") + "English_United States.28605" + else if(grepl("[.]UTF-8$", oloc, ignore.case=TRUE)) # typically nowadays + oloc + else + "C.UTF-8" # or rather "en_US.UTF-8" (? from system("locale -a| fgrep .UTF-8") ) + } > stopifnot(identical(Sys.setlocale("LC_CTYPE", mbyte.lc), mbyte.lc)) > oloc [1] "en_US.UTF-8" > mbyte.lc [1] "en_US.UTF-8" On Fri, May 19, 2017 at 7:29 PM, Kasper Daniel Hansen < kasperdanielhan...@gmail.com> wrote: > On RedHat Enterprise Linux 6, the test below fails (this is using the > stock GCC 4.4.7) from R-devel r72707. LC_CTYPE is unset when I run it, but > LANG=en_US.UTF-8 > > It also failed "yesterday" where as far as I recall the test code looked a > bit different. > > Best, > Kasper > > > ## Results differed by platform, but some gave incorrect results on > string 10. > > > > > > ## str() on large strings (in multibyte locales; changing locale may not > work everywhere > > oloc <- Sys.getlocale("LC_CTYPE") > > mbyte.lc <- { > + if(.Platform$OS.type == "windows") > + "English_United States.28605" > + else if(grepl("[.]UTF-8$", oloc, ignore.case=TRUE)) # typically > nowadays > + oloc > + else > + "C.UTF-8" # or rather "en_US.UTF-8" (? from system("locale -a| > fgrep .UTF-8") ) > + } > > stopifnot(identical(Sys.setlocale("LC_CTYPE", mbyte.lc), mbyte.lc)) > Error: identical(Sys.setlocale("LC_CTYPE", mbyte.lc), mbyte.lc) is not > TRUE > In addition: Warning message: > In Sys.setlocale("LC_CTYPE", mbyte.lc) : > OS reports request to set locale to "C.UTF-8" cannot be honored > Execution halted > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel