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

This commit is contained in:
Martin v. Löwis 2005-03-03 11:45:45 +00:00
parent a4dac4094a
commit 4bf108d74f
4 changed files with 8 additions and 1 deletions

View File

@ -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
}

View File

@ -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

View File

@ -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;
}

View File

@ -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";