summaryrefslogtreecommitdiffstatshomepage
path: root/py
diff options
context:
space:
mode:
Diffstat (limited to 'py')
-rw-r--r--py/repl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/py/repl.c b/py/repl.c
index 962a6f72e7..4406069967 100644
--- a/py/repl.c
+++ b/py/repl.c
@@ -59,7 +59,7 @@ bool mp_repl_continue_with_input(const char *input) {
|| str_startswith_word(input, "class")
;
- // check for unmatched open bracket or quote
+ // check for unmatched open bracket, quote or escape quote
#define Q_NONE (0)
#define Q_1_SINGLE (1)
#define Q_1_DOUBLE (2)
@@ -85,6 +85,10 @@ bool mp_repl_continue_with_input(const char *input) {
} else if (in_quote == Q_NONE || in_quote == Q_1_DOUBLE) {
in_quote = Q_1_DOUBLE - in_quote;
}
+ } else if (*i == '\\' && (i[1] == '\'' || i[1] == '"')) {
+ if (in_quote != Q_NONE) {
+ i++;
+ }
} else if (in_quote == Q_NONE) {
switch (*i) {
case '(': n_paren += 1; break;