summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2005-03-03 11:45:45 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2005-03-03 11:45:45 (GMT)
commit4bf108d74f2e36f16f4c0c00e7791e418e2d47ff (patch)
tree5d19f6610a464a81add147dd85fd1e72a8f480a8
parenta4dac4094acd35810b1497bbf99642fc98afd475 (diff)
downloadcpython-4bf108d74f2e36f16f4c0c00e7791e418e2d47ff.zip
cpython-4bf108d74f2e36f16f4c0c00e7791e418e2d47ff.tar.gz
cpython-4bf108d74f2e36f16f4c0c00e7791e418e2d47ff.tar.bz2
Patch #802188: better parser error message for non-EOL following line cont.
-rw-r--r--Include/errcode.h1
-rw-r--r--Misc/NEWS3
-rw-r--r--Parser/tokenizer.c2
-rw-r--r--Python/pythonrun.c3
4 files changed, 8 insertions, 1 deletions
diff --git a/Include/errcode.h b/Include/errcode.h
index 985911e..becec80 100644
--- a/Include/errcode.h
+++ b/Include/errcode.h
@@ -28,6 +28,7 @@ extern "C" {
#define E_DECODE 22 /* Error in decoding into Unicode */
#define E_EOFS 23 /* EOF in triple-quoted string */
#define E_EOLS 24 /* EOL in single-quoted string */
+#define E_LINECONT 25 /* Unexpected characters after a line continuation */
#ifdef __cplusplus
}
diff --git a/Misc/NEWS b/Misc/NEWS
index d0a8118..baf3445 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@ What's New in Python 2.5 alpha 1?
Core and builtins
-----------------
+- Patch #802188: Report characters after line continuation character
+ ('\') with a specific error message.
+
- Bug #723201: Raise a TypeError for passing bad objects to 'L' format.
- Bug #1124295: the __name__ attribute of file objects was
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index 8fc2c26..1884d01 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -1413,7 +1413,7 @@ tok_get(register struct tok_state *tok, char **p_start, char **p_end)
if (c == '\\') {
c = tok_nextc(tok);
if (c != '\n') {
- tok->done = E_TOKEN;
+ tok->done = E_LINECONT;
tok->cur = tok->inp;
return ERRORTOKEN;
}
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index e9f4765..6d69165 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -1484,6 +1484,9 @@ err_input(perrdetail *err)
msg = "unknown decode error";
break;
}
+ case E_LINECONT:
+ msg = "unexpected character after line continuation character";
+ break;
default:
fprintf(stderr, "error=%d\n", err->error);
msg = "unknown parsing error";