From c1073eacc0aa8fa8c171ba44220e6f44c03ec329 Mon Sep 17 00:00:00 2001 From: Fugiman Date: Mon, 18 Jan 2016 21:28:26 -0800 Subject: [PATCH 1/2] Fix template string parsing --- lib/parse.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/parse.js b/lib/parse.js index 8c8d19dd..b90f6de4 100644 --- a/lib/parse.js +++ b/lib/parse.js @@ -1414,10 +1414,8 @@ function parse($TEXT, options) { tokenizer_S.next(); next(); segments.push(expression()); - expect("}"); - if (is("punc", "`")) { - break; - } + if (!is("punc", "}")) + token_error(tokenizer_S.token, "Unexpected token " + tokenizer_S.token.type + " «" + tokenizer_S.token.value + "»" + ", expected punc «}»"); continue; } segment += ch; From 3e91f848e0061ee2123e01c83399c3c440ada65a Mon Sep 17 00:00:00 2001 From: Fugiman Date: Tue, 19 Jan 2016 02:04:17 -0800 Subject: [PATCH 2/2] Remove duplicate error message --- lib/parse.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/parse.js b/lib/parse.js index b90f6de4..072e7fb4 100644 --- a/lib/parse.js +++ b/lib/parse.js @@ -1414,8 +1414,10 @@ function parse($TEXT, options) { tokenizer_S.next(); next(); segments.push(expression()); - if (!is("punc", "}")) - token_error(tokenizer_S.token, "Unexpected token " + tokenizer_S.token.type + " «" + tokenizer_S.token.value + "»" + ", expected punc «}»"); + if (!is("punc", "}")) { + // force error message + expect("}"); + } continue; } segment += ch;