Checkpoint. 218 tests are okay; 53 are failing. Done so far:
- all classes are new-style (but ripping out classobject.[ch] isn't done)
- int/int -> float
- all exceptions must derive from BaseException
- absolute import
- 'as' and 'with' are keywords
diff --git a/Python/compile.c b/Python/compile.c
index baf3989..cfc6ef1 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -2464,11 +2464,7 @@
int r;
PyObject *level;
- if (c->c_flags && (c->c_flags->cf_flags & CO_FUTURE_ABSIMPORT))
- level = PyInt_FromLong(0);
- else
- level = PyInt_FromLong(-1);
-
+ level = PyInt_FromLong(0);
if (level == NULL)
return 0;
@@ -2511,12 +2507,7 @@
if (!names)
return 0;
- if (s->v.ImportFrom.level == 0 && c->c_flags &&
- !(c->c_flags->cf_flags & CO_FUTURE_ABSIMPORT))
- level = PyInt_FromLong(-1);
- else
- level = PyInt_FromLong(s->v.ImportFrom.level);
-
+ level = PyInt_FromLong(s->v.ImportFrom.level);
if (!level) {
Py_DECREF(names);
return 0;
@@ -2746,10 +2737,7 @@
case Mult:
return BINARY_MULTIPLY;
case Div:
- if (c->c_flags && c->c_flags->cf_flags & CO_FUTURE_DIVISION)
- return BINARY_TRUE_DIVIDE;
- else
- return BINARY_DIVIDE;
+ return BINARY_TRUE_DIVIDE;
case Mod:
return BINARY_MODULO;
case Pow:
@@ -2809,10 +2797,7 @@
case Mult:
return INPLACE_MULTIPLY;
case Div:
- if (c->c_flags && c->c_flags->cf_flags & CO_FUTURE_DIVISION)
- return INPLACE_TRUE_DIVIDE;
- else
- return INPLACE_DIVIDE;
+ return INPLACE_TRUE_DIVIDE;
case Mod:
return INPLACE_MODULO;
case Pow: