[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Bug: long strings with REALLY long delimiters…
- From: Andrew Gierth <andrew@...>
- Date: Fri, 14 Dec 2018 21:33:04 +0000
>>>>> "dyngeccetor8" == dyngeccetor8 <dyngeccetor8@disroot.org> writes:
>>> https://github.com/martin-eden/workshop/blob/master/formats/lua/quote_string/intact.lua#L16
dyngeccetor8> Sadly, link now points to current version.
I don't think this is quite right for the case where the string starts
with \r not followed by \n.
According to the docs, long strings don't preserve the exact bytes of
newline sequences, but they recognize any of \r, \n, \r\n, \n\r as being
newlines. So if the string starts with \r alone, your code does not
insert a \n, and the \r will be eaten when reading the string back in.
If on the other hand you added a \n, then the \n\r would still be
treated as a single newline, and it would still be eaten.
I think what you need to do is: if the first character of the string is
either \r or \n, then duplicate it.
--
Andrew.