diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2022-12-19 11:13:11 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2022-12-19 11:13:11 +0200 |
commit | 0cbd2d1d03ff96eb668fc6a14311d96ed0f9f8b5 (patch) | |
tree | 74fed02118a8ea7b78e8e069981301a6c511f633 /libbuild2/lexer.cxx | |
parent | 86bd93d16bfb2d44c6d894db43b7ccd29374fccb (diff) |
Restore newline escaping (line continuations) in double-quoted strings
Also make effective escaping in buildspec and command line variable overrides
consistent with double-quoted strings.
Diffstat (limited to 'libbuild2/lexer.cxx')
-rw-r--r-- | libbuild2/lexer.cxx | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libbuild2/lexer.cxx b/libbuild2/lexer.cxx index d82c135..04c15be 100644 --- a/libbuild2/lexer.cxx +++ b/libbuild2/lexer.cxx @@ -923,10 +923,10 @@ namespace build2 auto quoted_mode = [this] (lexer_mode m) { // In the double-quoted mode we only do effective escaping of the - // special `$("\` characters plus `)` for symmetry. Nothing can be - // escaped in single-quoted. + // special `$("\` characters, line continuations, plus `)` for + // symmetry. Nothing can be escaped in single-quoted. // - const char* esc (m == lexer_mode::double_quoted ? "$()\"\\" : ""); + const char* esc (m == lexer_mode::double_quoted ? "$()\"\\\n" : ""); state_.push (state { m, 0, nullopt, false, false, '\0', false, true, true, |