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;