aboutsummaryrefslogtreecommitdiff
path: root/build2/test/script/lexer.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-10-20 12:11:38 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-11-04 09:26:33 +0200
commit53d649dec4c98c9f08b963ed913685a83d68e7e1 (patch)
tree8b4af61415bc1bd9ee7074f999442f5384bc34ac /build2/test/script/lexer.cxx
parent55211f91fa8120ff0cb545157ad8e4cf5669c2e8 (diff)
Fix testscript here-document quoting issue
Diffstat (limited to 'build2/test/script/lexer.cxx')
-rw-r--r--build2/test/script/lexer.cxx6
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::