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.
diff --git a/Include/pythonrun.h b/Include/pythonrun.h
index e7274ec..3877a82 100644
--- a/Include/pythonrun.h
+++ b/Include/pythonrun.h
@@ -7,8 +7,13 @@
extern "C" {
#endif
+/* These flags are named after the __future__ statements that introduced
+ them. May not remain true for later additions, so fiddle this comment
+ accordingly then. */
+#define PyCF_NESTED_SCOPES (0x00000001UL)
+#define PyCF_GENERATORS (0x00000002UL)
typedef struct {
- int cf_nested_scopes;
+ unsigned long cf_flags; /* bitmask of PyCF_xxx flags */
} PyCompilerFlags;
DL_IMPORT(void) Py_SetProgramName(char *);