diff Python/ceval.c @ 19350:5b6a6d7d44ae legacy-trunk

ceval, PyEval_MergeCompilerFlags: wasn't merging in the CO_FUTURE_DIVISION flag. Redid this to use Jeremy's PyCF_MASK #define instead, so we dont have to remember to fiddle individual feature names here again. pythonrun.h: Also #define a PyCF_MASK_OBSOLETE mask. This isn't used yet, but will be as part of the PEP 264 implementation (compile() mustn't raise an error just because old code uses a flag name that's become obsolete; a warning may be appropriate, but not an error; so compile() has to know about obsolete flags too, but nobody is going to remember to update compile() with individual obsolete flag names across releases either -- i.e., this is the flip side of PyEval_MergeCompilerFlags's oversight).
author Tim Peters <tim.peters@gmail.com>
date Fri, 17 Aug 2001 20:47:47 +0000
parents b9701538f827
children 8c2a29b7548e
line wrap: on
line diff
--- a/Python/ceval.c	Fri Aug 17 20:32:36 2001 +0000
+++ b/Python/ceval.c	Fri Aug 17 20:47:47 2001 +0000
@@ -2928,13 +2928,10 @@
 
 	if (current_frame != NULL) {
 		const int codeflags = current_frame->f_code->co_flags;
-		if (codeflags & CO_NESTED) {
+		const int compilerflags = codeflags & PyCF_MASK;
+		if (compilerflags) {
 			result = 1;
-			cf->cf_flags |= CO_NESTED;
-		}
-		if (codeflags & CO_GENERATOR_ALLOWED) {
-			result = 1;
-			cf->cf_flags |= CO_GENERATOR_ALLOWED;
+			cf->cf_flags |= compilerflags;
 		}
 	}
 	return result;