summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/__future__.py20
-rw-r--r--Modules/newmodule.c33
2 files changed, 12 insertions, 41 deletions
diff --git a/Lib/__future__.py b/Lib/__future__.py
index ebb44a7..32cdbc1 100644
--- a/Lib/__future__.py
+++ b/Lib/__future__.py
@@ -55,13 +55,13 @@ all_feature_names = [
__all__ = ["all_feature_names"] + all_feature_names
-try:
- import new as _new # for CO_xxx symbols
-except ImportError: # May happen during build
- class _new:
- CO_NESTED = 0x0010
- CO_GENERATOR_ALLOWED = 0x1000
- CO_FUTURE_DIVISION = 0x2000
+# The CO_xxx symbols are defined here under the same names used by
+# compile.h, so that an editor search will find them here. However,
+# they're not exported in __all__, because they don't really belong to
+# this module.
+CO_NESTED = 0x0010 # nested_scopes
+CO_GENERATOR_ALLOWED = 0x1000 # generators
+CO_FUTURE_DIVISION = 0x2000 # division
class _Feature:
def __init__(self, optionalRelease, mandatoryRelease, compiler_flag):
@@ -92,12 +92,12 @@ class _Feature:
nested_scopes = _Feature((2, 1, 0, "beta", 1),
(2, 2, 0, "alpha", 0),
- _new.CO_NESTED)
+ CO_NESTED)
generators = _Feature((2, 2, 0, "alpha", 1),
(2, 3, 0, "final", 0),
- _new.CO_GENERATOR_ALLOWED)
+ CO_GENERATOR_ALLOWED)
division = _Feature((2, 2, 0, "alpha", 2),
(3, 0, 0, "alpha", 0),
- _new.CO_FUTURE_DIVISION)
+ CO_FUTURE_DIVISION)
diff --git a/Modules/newmodule.c b/Modules/newmodule.c
index d1869e5..7b91fb8 100644
--- a/Modules/newmodule.c
+++ b/Modules/newmodule.c
@@ -220,38 +220,9 @@ char new_doc[] =
\n\
You need to know a great deal about the interpreter to use this!";
-static void
-insertint(PyObject *d, char *name, int value)
-{
- PyObject *v = PyInt_FromLong((long) value);
- if (v == NULL) {
- /* Don't bother reporting this error */
- PyErr_Clear();
- }
- else {
- PyDict_SetItemString(d, name, v);
- Py_DECREF(v);
- }
-}
-
DL_EXPORT(void)
initnew(void)
{
- PyObject *m;
- PyObject *d;
-
- m = Py_InitModule4("new", new_methods, new_doc, (PyObject *)NULL,
- PYTHON_API_VERSION);
- d = PyModule_GetDict(m);
-
-#define ADDSYM(TOKEN) insertint(d, #TOKEN, TOKEN)
- ADDSYM(CO_OPTIMIZED);
- ADDSYM(CO_NEWLOCALS);
- ADDSYM(CO_VARARGS);
- ADDSYM(CO_VARKEYWORDS);
- ADDSYM(CO_NESTED);
- ADDSYM(CO_GENERATOR);
- ADDSYM(CO_GENERATOR_ALLOWED);
- ADDSYM(CO_FUTURE_DIVISION);
-#undef ADDSYM
+ Py_InitModule4("new", new_methods, new_doc, (PyObject *)NULL,
+ PYTHON_API_VERSION);
}