[Rd] Printing Unicode escapes with 6 digits may be problematic

Korpela Mikko (MML) m|kko@korpe|@ @end|ng |rom m@@nm|tt@u@|@|to@@||
Mon Dec 14 10:50:45 CET 2020


A recent R-devel commit introduces a change in the way non-printable Unicode characters are shown as an escape code. Whereas large code points were previously printed using an escape code of 8 hexadecimal digits, with initial zeros, the present code (tested with R-devel r79623 on Ubuntu Linux) only prints 6 hex digits. I think this may be problematic: it is now possible that R prints a character string which is not valid when reused as an input. See the following example.

"\U{16FE4}1"
# [1] "\U016fe41"
"\U016fe41"
# Error: invalid \Uxxxxxxxx value 16fe41 (line 1)

Best regards,
- Mikko Korpela



More information about the R-devel mailing list