From kasperdanielhansen at gmail.com  Sat May 20 02:09:24 2017
From: kasperdanielhansen at gmail.com (Kasper Daniel Hansen)
Date: Fri, 19 May 2017 20:09:24 -0400
Subject: [Rd] test fails when requesting LC_CTYPE
In-Reply-To: <CAC2h7usJEYG_xt4LoMCkZmOO9S36gw=L0=jJzVkE36q53Qv8sA@mail.gmail.com>
References: <CAC2h7usJEYG_xt4LoMCkZmOO9S36gw=L0=jJzVkE36q53Qv8sA@mail.gmail.com>
Message-ID: <CAC2h7uvwn9x68OpHgmnhYy0Zih=hZKMgp8YOxpjoWfx-UNEs0A@mail.gmail.com>

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 <
kasperdanielhansen at 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]]



[Rd] test fails when requesting LC_CTYPE
Kasper Daniel Hansen