[Rd] suggestion to fix packageDescription() for Windows users

Andrie de Vries apdevries at gmail.com
Sun Jun 18 11:57:08 CEST 2017


Hi, Duncan

i have forwarded this thread to Nathan, who promised to look into it.

Andrie

On 17 Jun 2017 17:26, "Duncan Murdoch" <murdoch.duncan at gmail.com> wrote:

> On 17/06/2017 9:13 AM, Ben Marwick wrote:
>
>> Hi Duncan,
>>
>> Thanks for your reply. Yes, it does seem to be specific to the CTYPE
>> setting to Chinese on Windows. If I set it to English using
>> Sys.setlocale() there is no problem, then back to Chinese and the
>> authors disappear:
>>
>> Sys.setlocale("LC_ALL","English")
>> citation("readr")
>>
>
> Thanks, that makes the problem reproducible.  I'll submit it as a bug
> report.  Maybe someone from Microsoft will fix it.
>
> Duncan Murdoch
>
>
>> #' To cite package ‘readr’ in publications use:
>> #'
>> #'   Hadley Wickham, Jim Hester and Romain Francois (2017). readr: Read
>> #' Rectangular Text Data. R package version 1.1.1.
>> #' https://CRAN.R-project.org/package=readr
>> #'
>> #' A BibTeX entry for LaTeX users is
>> #'
>> #' @Manual{,
>> #'   title = {readr: Read Rectangular Text Data},
>> #'   author = {Hadley Wickham and Jim Hester and Romain Francois},
>> #'   year = {2017},
>> #'   note = {R package version 1.1.1},
>> #'   url = {https://CRAN.R-project.org/package=readr},
>> #' }
>>
>>
>> Sys.setlocale("LC_CTYPE", "Chinese")
>> citation("readr")
>>
>> #'
>> #' To cite package ‘readr’ in publications use:
>> #'
>> #'   (2017). readr: Read Rectangular Text Data. R package version 1.1.1.
>> #' https://CRAN.R-project.org/package=readr
>> #'
>> #' A BibTeX entry for LaTeX users is
>> #'
>> #' @Manual{,
>> #'   title = {readr: Read Rectangular Text Data},
>> #'   year = {2017},
>> #'   note = {R package version 1.1.1},
>> #'   url = {https://CRAN.R-project.org/package=readr},
>> #' }
>> #'
>> #' ATTENTION: This citation information has been auto-generated from the
>> #' package DESCRIPTION file and may need manual editing, see
>> #' ‘help("citation")’.
>>
>> Where do we go from here? I do want to use the Chinese locale with R on
>> Windows (and perhaps others do too), so switching the locale isn't a fix.
>>
>> Thanks,
>>
>> Ben
>>
>> On 17/06/2017 10:36 PM, Duncan Murdoch wrote:
>>
>>> On 17/06/2017 7:10 AM, Ben Marwick wrote:
>>>
>>>> Recently I was trying to cite a package where the authors have ä
>>>> and ø in their names. I found that on Windows the citation() function
>>>> did not return the authors' names at all, but on Linux there was no
>>>> problem (sessionInfos at the bottom):
>>>>
>>>> On Windows, no author names are returned:
>>>>
>>>
>>> I'm not seeing this.  You have fairly strange localization settings; see
>>> comments below.
>>>
>>>
>>>> #---------------
>>>>
>>>>  > citation("readr")
>>>>
>>>> To cite package ‘readr’ in publications use:
>>>>
>>>>    (2017). readr: Read Rectangular Text Data. R package version 1.1.1.
>>>>    https://CRAN.R-project.org/package=readr
>>>>
>>>> A BibTeX entry for LaTeX users is
>>>>
>>>>    @Manual{,
>>>>      title = {readr: Read Rectangular Text Data},
>>>>      year = {2017},
>>>>      note = {R package version 1.1.1},
>>>>      url = {https://CRAN.R-project.org/package=readr},
>>>>    }
>>>>
>>>> ATTENTION: This citation information has been auto-generated from the
>>>> package DESCRIPTION file and may need manual editing, see
>>>> ‘help("citation")’.
>>>> #---------------
>>>>
>>>> On Linux we do see the author names:
>>>>
>>>> #---------------
>>>>  > citation("readr")
>>>>
>>>> To cite package ‘readr’ in publications use:
>>>>
>>>>    Hadley Wickham, Jim Hester and Romain Francois (2017). readr:
>>>>    Read Rectangular Text Data. R package version 1.1.1.
>>>>    https://CRAN.R-project.org/package=readr
>>>>
>>>> A BibTeX entry for LaTeX users is
>>>>
>>>>    @Manual{,
>>>>      title = {readr: Read Rectangular Text Data},
>>>>      author = {Hadley Wickham and Jim Hester and Romain Francois},
>>>>      year = {2017},
>>>>      note = {R package version 1.1.1},
>>>>      url = {https://CRAN.R-project.org/package=readr},
>>>>    }
>>>> #---------------
>>>>
>>>> This appears to be an OS-dependent encoding issue. The citation function
>>>> does not take an encoding argument, so it's not possible to set the
>>>> encoding at the point where that function is used. The citation function
>>>> working with the packageDescription function, which does have an
>>>> encoding argument, but the default is not useful for Windows when there
>>>> is an encoding set in the DESCRIPTION of the package (in this case
>>>> UTF-8).
>>>>
>>>> We can set the encoding argument in packageDescription so it works in
>>>> Windows to give the authors as expected, but it is very inconvenient to
>>>> generate citations directly from the output of this function. So I'd
>>>> like to propose a solution this problem by changing one line in the
>>>> packageDescription function, like so, from:
>>>>
>>>> #---------------
>>>> if (missing(encoding) && Sys.getlocale("LC_CTYPE") == "C")
>>>> #---------------
>>>>
>>>> to:
>>>>
>>>> #---------------
>>>> if ((missing(encoding) && Sys.getlocale("LC_CTYPE") == "C") |
>>>> unname(Sys.info()['sysname']) == "Windows")
>>>> #---------------
>>>>
>>>> If I understand correctly, that will force ASCII//TRANSLIT encoding when
>>>> DESCRIPTION files are read by packageDescription() on Windows machines.
>>>> The upside is that Windows users will get the authors in the package
>>>> citation, unlike the current situation. The downside is that the exotic
>>>> symbols in the authors' names are replaced with common ones that are
>>>> similar.
>>>>
>>>> I think getting the citations to easily include the authors' names is
>>>> pretty important, even if their names have exotic characters, so this is
>>>> worth fixing. Is this edit to packageDescription the best way to solve
>>>> this problem of exotic characters preventing the authors' names from
>>>> showing on Windows?
>>>>
>>>> thanks,
>>>>
>>>> Ben
>>>>
>>>>
>>>>
>>>>
>>>> Windows sessionInfo
>>>>
>>>> #---------------
>>>>  > sessionInfo()
>>>> R version 3.4.0 Patched (2017-05-10 r72670)
>>>> Platform: x86_64-w64-mingw32/x64 (64-bit)
>>>> Running under: Windows 7 x64 (build 7601) Service Pack 1
>>>>
>>>> Matrix products: default
>>>>
>>>> locale:
>>>> [1] LC_COLLATE=English_Australia.1252
>>>> [2] LC_CTYPE=Chinese (Simplified)_People's Republic of China.936
>>>> [3] LC_MONETARY=English_Australia.1252
>>>> [4] LC_NUMERIC=C
>>>> [5] LC_TIME=English_Australia.1252
>>>>
>>>
>>> I don't know what English_Australia.1252 does that's different from what
>>> I use (English_Canada.1252), but the Chinese locale setting could cause
>>> trouble.  Could you try setting this (presumably in the Windows control
>>> panel) to be consistent?  You're using a much simpler setting on Linux.
>>>
>>> Duncan Murdoch
>>>
>>>
>>>> attached base packages:
>>>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>>>
>>>> loaded via a namespace (and not attached):
>>>>   [1] readr_1.1.1    compiler_3.4.0 R6_2.2.1       hms_0.3
>>>> tools_3.4.0
>>>>   [6] tibble_1.3.3   yaml_2.1.14    Rcpp_0.12.11   knitr_1.16
>>>> rlang_0.1.1
>>>> [11] fortunes_1.5-4
>>>> #---------------
>>>>
>>>> Linux sessionInfo:
>>>>
>>>> #---------------
>>>>  > sessionInfo()
>>>> R version 3.3.1 (2016-06-21)
>>>> Platform: x86_64-pc-linux-gnu (64-bit)
>>>> Running under: Ubuntu 16.10
>>>>
>>>> locale:
>>>>   [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>>>>   [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>>>>   [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>>>>   [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
>>>>   [9] LC_ADDRESS=C               LC_TELEPHONE=C
>>>> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>>>>
>>>> attached base packages:
>>>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>>>
>>>> loaded via a namespace (and not attached):
>>>> [1] tools_3.3.1 yaml_2.1.14 knitr_1.16
>>>> #---------------
>>>>
>>>> ______________________________________________
>>>> R-devel at r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>
>>>>
>>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>
>

	[[alternative HTML version deleted]]



More information about the R-devel mailing list