summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Lexer.cpp4
-rw-r--r--tests/auto/qscriptengine/tst_qscriptengine.cpp7
2 files changed, 4 insertions, 7 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.cpp b/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.cpp
index 8e89c18..b22832f 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.cpp
@@ -293,11 +293,15 @@ start:
int startOffset = currentOffset();
if (m_current == -1) {
+#ifndef QT_BUILD_SCRIPT_LIB /* the parser takes cate about automatic semicolon.
+ this might add incorrect semicolons */
+ //m_delimited and m_isReparsing are now useless
if (!m_terminator && !m_delimited && !m_isReparsing) {
// automatic semicolon insertion if program incomplete
token = ';';
goto doneSemicolon;
}
+#endif
return 0;
}
diff --git a/tests/auto/qscriptengine/tst_qscriptengine.cpp b/tests/auto/qscriptengine/tst_qscriptengine.cpp
index 9959990..5b4d02d 100644
--- a/tests/auto/qscriptengine/tst_qscriptengine.cpp
+++ b/tests/auto/qscriptengine/tst_qscriptengine.cpp
@@ -2459,29 +2459,22 @@ void tst_QScriptEngine::automaticSemicolonInsertion()
{
QScriptValue ret = eng.evaluate("if (0)");
- QEXPECT_FAIL("", "Semicolon incorrectly inserted", Continue);
QVERIFY(ret.isError());
}
{
QScriptValue ret = eng.evaluate("while (0)");
- QEXPECT_FAIL("", "Semicolon incorrectly inserted", Continue);
QVERIFY(ret.isError());
}
-#if 0 // ### hangs because of the semicolon insertion
{
QScriptValue ret = eng.evaluate("for (;;)");
- QEXPECT_FAIL("", "Semicolon incorrectly inserted", Continue);
QVERIFY(ret.isError());
}
-#endif
{
QScriptValue ret = eng.evaluate("for (p in this)");
- QEXPECT_FAIL("", "Semicolon incorrectly inserted", Continue);
QVERIFY(ret.isError());
}
{
QScriptValue ret = eng.evaluate("with (this)");
- QEXPECT_FAIL("", "Semicolon incorrectly inserted", Continue);
QVERIFY(ret.isError());
}
{