diff options
-rw-r--r-- | py/repl.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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; |