[Rd] Specifying a long string literal across several lines

Pavel Krivitsky p@kr|v|t@ky @end|ng |rom un@w@edu@@u
Wed May 28 04:15:39 CEST 2025


Dear All,

Perhaps this should go in r-package-devel, but I suspect that this is
going to turn into a feature request, and I want to run it by the list
before filing it in the Bugzilla.

I would like to specify a long string literal without making the line
of code too long. In R,

"abc
def"

yields the string "abc\def", and, as far as I can tell, there is no
mechanism for preventing it from inserting a newline into the string.

Putting a backslash before the newline, i.e.,

"abc\
def"

eliminates the newline in (that I know of) C/C++, Python, and Julia,
but it makes no difference in R.

The implicit concatenation of Python and C/C++, e.g., "abc" "def", is a
syntax error as well in R.

It is, of course, possible to use paste0(), but is there a more concise
built-in mechanism in R of which I am not aware?

If not, I think it would make sense to bring R in line with the others.
Currently, backslash and no backslash before a newline behave
identically (at least as far as I can tell), so I doubt that a
nontrivial amount of code relies on the current behaviour. [1]

				Any thoughts?
				Pavel

[1] On the off chance that it does, it should easy to check by
searching for "\\\n" in package sources, because a backslash before a
newline is a syntax error outside a string.


More information about the R-devel mailing list