diff options
author | Benjamin Peterson <benjamin@python.org> | 2012-03-22 12:19:04 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2012-03-22 12:19:04 (GMT) |
commit | a4e4e35783d26151be19253ff6dd1c3ec2ca7efa (patch) | |
tree | 548bf2b8c05481fe603f48189579ea7404532900 /Python/future.c | |
parent | e112153727def076478a84733f30a8f44f4c8844 (diff) | |
download | cpython-a4e4e35783d26151be19253ff6dd1c3ec2ca7efa.zip cpython-a4e4e35783d26151be19253ff6dd1c3ec2ca7efa.tar.gz cpython-a4e4e35783d26151be19253ff6dd1c3ec2ca7efa.tar.bz2 |
check by equality for __future__ not identity (closes #14378)
Diffstat (limited to 'Python/future.c')
-rw-r--r-- | Python/future.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/Python/future.c b/Python/future.c index d6b653f..978dc25 100644 --- a/Python/future.c +++ b/Python/future.c @@ -60,13 +60,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 = PyUnicode_InternFromString("__future__"); - if (!future) - return 0; - } - if (!(mod->kind == Module_kind || mod->kind == Interactive_kind)) return 1; @@ -93,7 +86,8 @@ future_parse(PyFutureFeatures *ff, mod_ty mod, const char *filename) */ if (s->kind == ImportFrom_kind) { - if (s->v.ImportFrom.module == future) { + PyObject *modname = s->v.ImportFrom.module; + if (!PyUnicode_CompareWithASCIIString(modname, "__future__")) { if (done) { PyErr_SetString(PyExc_SyntaxError, ERR_LATE_FUTURE); |