diff Python/future.c @ 18611:fdb36a0c7e6e legacy-trunk

Part way to allowing "from __future__ import generators" to communicate that info to code dynamically compiled *by* code compiled with generators enabled. Doesn't yet work because there's still no way to tell the parser that "yield" is OK (unlike nested_scopes, the parser has its fingers in this too). Replaced PyEval_GetNestedScopes by a more-general PyEval_MergeCompilerFlags. Perhaps I should not have? I doubted it was *intended* to be part of the public API, so just did.
author Tim Peters <tim.peters@gmail.com>
date Mon, 16 Jul 2001 02:29:45 +0000
parents 59446d0f8341
children 4ac98fe7abd2
line wrap: on
line diff
--- a/Python/future.c	Mon Jul 16 02:17:14 2001 +0000
+++ b/Python/future.c	Mon Jul 16 02:29:45 2001 +0000
@@ -32,7 +32,7 @@
 		if (strcmp(feature, FUTURE_NESTED_SCOPES) == 0) {
 			ff->ff_nested_scopes = 1;
 		} else if (strcmp(feature, FUTURE_GENERATORS) == 0) {
-			/* OK; this is processed by the parser */
+			ff->ff_generators= 1;
 		} else if (strcmp(feature, "braces") == 0) {
 			PyErr_SetString(PyExc_SyntaxError,
 					"not a chance");
@@ -233,6 +233,7 @@
 	ff->ff_found_docstring = 0;
 	ff->ff_last_lineno = -1;
 	ff->ff_nested_scopes = 0;
+	ff->ff_generators = 0;
 
 	if (future_parse(ff, n, filename) < 0) {
 		PyMem_Free((void *)ff);