From Ach|m@Ze||e|@ @end|ng |rom u|bk@@c@@t  Sat Jun  3 03:49:14 2023
From: Ach|m@Ze||e|@ @end|ng |rom u|bk@@c@@t (Achim Zeileis)
Date: Sat, 3 Jun 2023 03:49:14 +0200 (CEST)
Subject: [Rd] bug in utils:::format.person
In-Reply-To: <6ef2cf25-87f5-89ca-7383-dab77a9ea2c8@uibk.ac.at>
References: <CAJuCY5zbzYooG+MX-b2-4Lm-=znQd4xiBe6Wh=akM7huP9AMxw@mail.gmail.com>
 <6ef2cf25-87f5-89ca-7383-dab77a9ea2c8@uibk.ac.at>
Message-ID: <14e2ef8b-3fbc-806c-2e2d-fb1e61e857bd@uibk.ac.at>

Apologies, I missed Ivan's fix to the problem (my day was too long...) 
which is, of course, better than mine.

On Sat, 3 Jun 2023, Achim Zeileis wrote:

> Thierry,
>
> thanks for this, this is a bug in utils:::.format_person_as_R_code(). This 
> calls deparse() on the elements of the person object with the default 
> width.cutoff = 60. As your comment exceeds this width, the erroneous 
> formatting is produced. The simplest reproducible example I could come up 
> with was:
>
> p <- person(".", comment = c(foo = ".....................",
>  bar = "....................."))
> writeLines(format(p, style = "R"))
>
> This can be fixed in line 1017 of utils/R/citation.R either by increasing the 
> width.cutoff, e.g.,
>
>  sprintf("%s = %s", names(e), sapply(e, deparse, width.cutoff = 500L))
>
> but, of course, this still has an arbitrary cutoff. So maybe better
>
>  sprintf("%s = %s", names(e), sapply(e,
>    function(x) paste(deparse(x), collapse = "")))
>
> which should work.
>
> I'll ping Kurt about this and try to coordinate a fix.
>
> Best wishes,
> Achim
>
>
> On Fri, 2 Jun 2023, Thierry Onkelinx via R-devel wrote:
>
>> Dear all,
>> 
>> I think I found a bug in utils::format.person when using style = "R" with a
>> vector of comments. The comment section is not parsed properly. Please find
>> below the mwe and the session info.
>> 
>> Best regards,
>> 
>> Thierry
>> 
>> maintainer <- person(
>>  given = "Thierry", family = "Onkelinx", role = c("aut", "cre"),
>>  email = "thierry.onkelinx at inbo.be",
>>  comment = c(
>>    ORCID = "0000-0001-8804-4216",
>>    affiliation = "Research Institute for Nature and Forest (INBO)"
>>  )
>> )
>> format(maintainer, style = "R") |>
>>  cat(sep = "\n")
>> # output
>> person(given = "Thierry",
>>       family = "Onkelinx",
>>       role = c("aut", "cre"),
>>       email = "thierry.onkelinx at inbo.be",
>>       comment = c("c(ORCID = \"0000-0001-8804-4216\", affiliation =
>> \"Research Institute for Nature and Forest (INBO)\"", ")"))
>> 
>> ? Session info
>> ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
>> setting  value
>> version  R version 4.3.0 (2023-04-21)
>> os       Ubuntu 22.04.2 LTS
>> system   x86_64, linux-gnu
>> ui       X11
>> language nl_BE:nl
>> collate  nl_BE.UTF-8
>> ctype    nl_BE.UTF-8
>> tz       Europe/Brussels
>> date     2023-06-02
>> pandoc   NA
>> 
>> ? Packages
>> ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
>> package     * version date (UTC) lib source
>> cli           3.6.1   2023-03-23 [1] CRAN (R 4.3.0)
>> fortunes      1.5-4   2016-12-29 [1] CRAN (R 4.3.0)
>> sessioninfo   1.2.2   2021-12-06 [1] CRAN (R 4.3.0)
>> 
>> 
>> 
>> ir. Thierry Onkelinx
>> Statisticus / Statistician
>> 
>> Vlaamse Overheid / Government of Flanders
>> INSTITUUT VOOR NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR NATURE AND
>> FOREST
>> Team Biometrie & Kwaliteitszorg / Team Biometrics & Quality Assurance
>> thierry.onkelinx at inbo.be
>> Havenlaan 88 bus 73, 1000 Brussel
>> www.inbo.be
>> 
>> ///////////////////////////////////////////////////////////////////////////////////////////
>> To call in the statistician after the experiment is done may be no more
>> than asking him to perform a post-mortem examination: he may be able to say
>> what the experiment died of. ~ Sir Ronald Aylmer Fisher
>> The plural of anecdote is not data. ~ Roger Brinner
>> The combination of some data and an aching desire for an answer does not
>> ensure that a reasonable answer can be extracted from a given body of data.
>> ~ John Tukey
>> ///////////////////////////////////////////////////////////////////////////////////////////
>> 
>> <https://www.inbo.be>
>>
>> 	[[alternative HTML version deleted]]
>> 
>> ______________________________________________
>> 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
>


[Rd] bug in utils:::format.person
Achim Zeileis