Kaydet (Commit) 4bf108d7 authored tarafından Martin v. Löwis's avatar Martin v. Löwis

Patch #802188: better parser error message for non-EOL following line cont.

üst a4dac409
...@@ -28,6 +28,7 @@ extern "C" { ...@@ -28,6 +28,7 @@ extern "C" {
#define E_DECODE 22 /* Error in decoding into Unicode */ #define E_DECODE 22 /* Error in decoding into Unicode */
#define E_EOFS 23 /* EOF in triple-quoted string */ #define E_EOFS 23 /* EOF in triple-quoted string */
#define E_EOLS 24 /* EOL in single-quoted string */ #define E_EOLS 24 /* EOL in single-quoted string */
#define E_LINECONT 25 /* Unexpected characters after a line continuation */
#ifdef __cplusplus #ifdef __cplusplus
} }
......
...@@ -10,6 +10,9 @@ What's New in Python 2.5 alpha 1? ...@@ -10,6 +10,9 @@ What's New in Python 2.5 alpha 1?
Core and builtins 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 #723201: Raise a TypeError for passing bad objects to 'L' format.
- Bug #1124295: the __name__ attribute of file objects was - Bug #1124295: the __name__ attribute of file objects was
......
...@@ -1413,7 +1413,7 @@ tok_get(register struct tok_state *tok, char **p_start, char **p_end) ...@@ -1413,7 +1413,7 @@ tok_get(register struct tok_state *tok, char **p_start, char **p_end)
if (c == '\\') { if (c == '\\') {
c = tok_nextc(tok); c = tok_nextc(tok);
if (c != '\n') { if (c != '\n') {
tok->done = E_TOKEN; tok->done = E_LINECONT;
tok->cur = tok->inp; tok->cur = tok->inp;
return ERRORTOKEN; return ERRORTOKEN;
} }
......
...@@ -1484,6 +1484,9 @@ err_input(perrdetail *err) ...@@ -1484,6 +1484,9 @@ err_input(perrdetail *err)
msg = "unknown decode error"; msg = "unknown decode error";
break; break;
} }
case E_LINECONT:
msg = "unexpected character after line continuation character";
break;
default: default:
fprintf(stderr, "error=%d\n", err->error); fprintf(stderr, "error=%d\n", err->error);
msg = "unknown parsing error"; msg = "unknown parsing error";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment