diff options
| author | Guido van Rossum <guido@python.org> | 1997-04-06 03:41:40 +0000 |
|---|---|---|
| committer | Guido van Rossum <guido@python.org> | 1997-04-06 03:41:40 +0000 |
| commit | 68a721206dcab1bbc99db915f4572369501a4f40 (patch) | |
| tree | 3faa3547140dc4a81e991222e3b4d4b1195a6fe1 /Python | |
| parent | c3e74d378a51efce7b652aaf45ebee5e52933525 (diff) | |
| download | cpython-68a721206dcab1bbc99db915f4572369501a4f40.tar.gz | |
Support for alternative string quotes (a"xx", b"xx", c"xx", ...).
In interactive mode, do generate code for single-string statements.
Diffstat (limited to 'Python')
| -rw-r--r-- | Python/compile.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Python/compile.c b/Python/compile.c index 0338d6ff45..7d9a3a8921 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -840,7 +840,10 @@ parsestr(s) char *p; char *end; int c; - int quote = *s; + int first = *s; + int quote = first; + if (isalpha(quote) || quote == '_') + quote = *++s; if (quote != '\'' && quote != '\"') { err_badcall(); return NULL; @@ -859,7 +862,7 @@ parsestr(s) return NULL; } } - if (strchr(s, '\\') == NULL) + if (first != quote || strchr(s, '\\') == NULL) return newsizedstringobject(s, len); v = newsizedstringobject((char *)NULL, len); p = buf = getstringvalue(v); @@ -1903,7 +1906,7 @@ com_expr_stmt(c, n) { REQ(n, expr_stmt); /* testlist ('=' testlist)* */ /* Forget it if we have just a doc string here */ - if (NCH(n) == 1 && get_rawdocstring(n) != NULL) + if (!c->c_interactive && NCH(n) == 1 && get_rawdocstring(n) != NULL) return; com_node(c, CHILD(n, NCH(n)-1)); if (NCH(n) == 1) { |
