Mercurial > cpython-lru_cache-weakref
comparison Python/pythonrun.c @ 27878:be7683a6f521 legacy-trunk
- Finally fixed the bug in compile() and exec where a string ending
with an indented code block but no newline would raise SyntaxError.
This would have been a four-line change in parsetok.c... Except
codeop.py depends on this behavior, so a compilation flag had to be
invented that causes the tokenizer to revert to the old behavior;
this required extra changes to 2 .h files, 2 .c files, and 2 .py
files. (Fixes SF bug #501622.)
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Thu, 13 Feb 2003 22:07:59 +0000 |
| parents | 58bad769776e |
| children | e07b21ea3c45 |
comparison
equal
deleted
inserted
replaced
| 27876:8789e9822aa4 | 27878:be7683a6f521 |
|---|---|
| 546 { | 546 { |
| 547 return PyRun_InteractiveOneFlags(fp, filename, NULL); | 547 return PyRun_InteractiveOneFlags(fp, filename, NULL); |
| 548 } | 548 } |
| 549 | 549 |
| 550 /* compute parser flags based on compiler flags */ | 550 /* compute parser flags based on compiler flags */ |
| 551 #if 0 /* future keyword */ | |
| 552 #define PARSER_FLAGS(flags) \ | 551 #define PARSER_FLAGS(flags) \ |
| 553 (((flags) && (flags)->cf_flags & CO_GENERATOR_ALLOWED) ? \ | 552 (((flags) && (flags)->cf_flags & PyCF_DONT_IMPLY_DEDENT) ? \ |
| 554 PyPARSE_YIELD_IS_KEYWORD : 0) | 553 PyPARSE_DONT_IMPLY_DEDENT : 0) |
| 555 #else | |
| 556 #define PARSER_FLAGS(flags) 0 | |
| 557 #endif | |
| 558 | 554 |
| 559 int | 555 int |
| 560 PyRun_InteractiveOneFlags(FILE *fp, const char *filename, PyCompilerFlags *flags) | 556 PyRun_InteractiveOneFlags(FILE *fp, const char *filename, PyCompilerFlags *flags) |
| 561 { | 557 { |
| 562 PyObject *m, *d, *v, *w; | 558 PyObject *m, *d, *v, *w; |
