ES4 draft last call: line continuation in string and regex literals

Waldemar Horwat waldemar at google.com
Mon Mar 10 18:28:33 PDT 2008


Lars Hansen wrote:
>>> The character sequence BACKSLASH <lineterminator> (where 
>>> <lineterminator> will be one of the characters LF, LS, or PS) is 
>>> removed from string literals delimited by either single or triple 
>>> SINGLEQUOTE or DOUBLEQUOTE characters. (Triple-quoting is 
>> defined in 
>>> [5].)
>> This states that:
>>
>> "abc\\
>> tde"
>>
>> evaluates to the string "abc<tab>de".
>>
>> Is this really what we want?  I'd find such nested escape 
>> sequences really strange.
> 
> That looks like an illegal token to me, since the lexer will read "a"
> "b" "c" "\" and then see an unescaped linefeed.
> 
> Since the speclet states nothing about changing the way strings are
> lexed, normal escape character processing should be in effect, and that
> dictates that \\ is processed into \ independently of what follows.

It's what we all want.  As written, that's not what it states.  This isn't ready to go in until this bug is corrected.

    Waldemar



More information about the Es4-discuss mailing list