summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-12-22 10:32:06 +1100
committerDamien George <damien.p.george@gmail.com>2016-12-22 10:32:06 +1100
commitadccafb42a892df87e3ca45a8fcc01535b39b055 (patch)
treea82090e912e285be8cdbcbdbde1fca86e63253a1
parent1b44987d0ca72fb877026fc96681f064c8fb2b2f (diff)
tests/basics/lexer: Add a test for newline-escaping within a string.
-rw-r--r--py/lexer.c2
-rw-r--r--tests/basics/lexer.py4
2 files changed, 5 insertions, 1 deletions
diff --git a/py/lexer.c b/py/lexer.c
index c6ecdf1f8..7db49de89 100644
--- a/py/lexer.c
+++ b/py/lexer.c
@@ -431,7 +431,7 @@ STATIC void mp_lexer_next_token_into(mp_lexer_t *lex, bool first_token) {
} else {
switch (c) {
case MP_LEXER_EOF: break; // TODO a proper error message?
- case '\n': c = MP_LEXER_EOF; break; // TODO check this works correctly (we are supposed to ignore it
+ case '\n': c = MP_LEXER_EOF; break; // backslash escape the newline, just ignore it
case '\\': break;
case '\'': break;
case '"': break;
diff --git a/tests/basics/lexer.py b/tests/basics/lexer.py
index 70a9cce99..5f12afa70 100644
--- a/tests/basics/lexer.py
+++ b/tests/basics/lexer.py
@@ -19,6 +19,10 @@ print(eval("1\r"))
print(eval("12\r"))
print(eval("123\r"))
+# backslash used to escape a line-break in a string
+print('a\
+b')
+
# lots of indentation
def a(x):
if x: