diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-10-20 12:11:38 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-11-04 09:26:33 +0200 |
commit | 53d649dec4c98c9f08b963ed913685a83d68e7e1 (patch) | |
tree | 8b4af61415bc1bd9ee7074f999442f5384bc34ac /build2/test/script/lexer.cxx | |
parent | 55211f91fa8120ff0cb545157ad8e4cf5669c2e8 (diff) |
Fix testscript here-document quoting issue
Diffstat (limited to 'build2/test/script/lexer.cxx')
-rw-r--r-- | build2/test/script/lexer.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/build2/test/script/lexer.cxx b/build2/test/script/lexer.cxx index f75ad4a..d2657c6 100644 --- a/build2/test/script/lexer.cxx +++ b/build2/test/script/lexer.cxx @@ -20,6 +20,7 @@ namespace build2 const char* s1 (nullptr); const char* s2 (nullptr); bool s (true); + bool q (true); switch (m) { @@ -58,11 +59,12 @@ namespace build2 case lexer_mode::here_line: { // This one is like a double-quoted string except it treats - // newlines as a separator. + // newlines as a separator. We also treat quotes as literals. // s1 = "$(\n"; s2 = " "; s = false; + q = false; break; } default: @@ -74,7 +76,7 @@ namespace build2 } } - state_.push (state {m, '\0', s, s1, s2}); + state_.push (state {m, '\0', s, q, s1, s2}); } token lexer:: |