diff options
Diffstat (limited to 'Python/future.c')
| -rw-r--r-- | Python/future.c | 11 | 
1 files changed, 3 insertions, 8 deletions
| diff --git a/Python/future.c b/Python/future.c index 96be757..0e68845 100644 --- a/Python/future.c +++ b/Python/future.c @@ -59,13 +59,6 @@ future_parse(PyFutureFeatures *ff, mod_ty mod, const char *filename)  {      int i, found_docstring = 0, done = 0, prev_line = 0; -    static PyObject *future; -    if (!future) { -        future = PyString_InternFromString("__future__"); -        if (!future) -            return 0; -    } -      if (!(mod->kind == Module_kind || mod->kind == Interactive_kind))          return 1; @@ -92,7 +85,9 @@ future_parse(PyFutureFeatures *ff, mod_ty mod, const char *filename)          */          if (s->kind == ImportFrom_kind) { -            if (s->v.ImportFrom.module == future) { +            identifier modname = s->v.ImportFrom.module; +            if (modname && PyString_GET_SIZE(modname) == 10 && +                !strcmp(PyString_AS_STRING(modname), "__future__")) {                  if (done) {                      PyErr_SetString(PyExc_SyntaxError,                                      ERR_LATE_FUTURE); | 
