From murdoch.duncan at gmail.com  Wed May 24 14:35:26 2017
From: murdoch.duncan at gmail.com (Duncan Murdoch)
Date: Wed, 24 May 2017 08:35:26 -0400
Subject: [Rd] reg-tests-1d.R fails in r72721
In-Reply-To: <20170524115900.xuxydwfoxdacq74b@godel.dcu.ie>
References: <20170524094728.ynpyldncoeipp3bq@godel.dcu.ie>
 <cd5731cf-69ee-10da-1f76-9b671e77584c@gmail.com>
 <20170524115900.xuxydwfoxdacq74b@godel.dcu.ie>
Message-ID: <c50ef3bc-3bfe-4afe-416f-ae60346073a2@gmail.com>

On 24/05/2017 7:59 AM, Hiroyuki Kawakatsu wrote:
> On 2017-05-24, Duncan Murdoch wrote:
>>
>> I think the test is wrong because in the first case you are working in a
>> locale where that character is representable.  In my locale it is not, so x1
>> is converted to UTF-8, and everything compares equal.
>>
>> An explicit conversion of x1 to UTF-8 should fix this, i.e. replace
>>
>> x1 <- path.expand(paste0("~/", filename))
>>
>> with
>>
>> x1 <- enc2utf8(path.expand(paste0("~/", filename)))
>>
>> Could you try this and see if it helps?
>
> Nope:

Okay, how about if we weaken the test?  Instead of

stopifnot(identical(path.expand(paste0("~/", filename)),
                     paste0(path.expand("~/"), filename)))

try

stopifnot(path.expand(paste0("~/", filename)) ==
                       paste0(path.expand("~/"), filename))

Duncan Murdoch

>
>> ## path.expand shouldn't translate to local encoding PR#17120
>> filename <- "\U9b3c.R"
>>
>> x11 <- path.expand(paste0("~/", filename))
>> print(Encoding(x11))
> [1] "unknown"
>> x12 <- enc2utf8( path.expand(paste0("~/", filename)) )
>> print(Encoding(x12))
> [1] "unknown"
>> x2 <- paste0(path.expand("~/"), filename)
>> print(Encoding(x2))
> [1] "UTF-8"
>>
>> #stopifnot(identical(path.expand(paste0("~/", filename)),
>> stopifnot(identical(enc2utf8( path.expand(paste0("~/", filename)) ),
> +                   paste0(path.expand("~/"), filename)))
> Error: identical(enc2utf8(path.expand(paste0("~/", filename))), paste0(path.expand("~/"),  .... is not TRUE
> Execution halted
>
> I forgot to report:
>
>> sessionInfo()
> R Under development (unstable) (2017-05-23 r72721)
> Platform: x86_64-pc-linux-gnu (64-bit)
> Running under: Debian GNU/Linux 9 (stretch)
>
> Matrix products: default
> BLAS: /usr/local/share/R-devel/lib/libRblas.so
> LAPACK: /usr/local/share/R-devel/lib/libRlapack.so
>
> locale:
>  [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C
>  [3] LC_TIME=en_GB.UTF-8        LC_COLLATE=en_GB.UTF-8
>  [5] LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_GB.UTF-8
>  [7] LC_PAPER=en_GB.UTF-8       LC_NAME=C
>  [9] LC_ADDRESS=C               LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> loaded via a namespace (and not attached):
> [1] compiler_3.5.0
>
> h.
>



[Rd] reg-tests-1d.R fails in r72721
Duncan Murdoch