summaryrefslogtreecommitdiffstats
path: root/Python/future.c
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2012-03-22 12:19:04 (GMT)
committerBenjamin Peterson <benjamin@python.org>2012-03-22 12:19:04 (GMT)
commita4e4e35783d26151be19253ff6dd1c3ec2ca7efa (patch)
tree548bf2b8c05481fe603f48189579ea7404532900 /Python/future.c
parente112153727def076478a84733f30a8f44f4c8844 (diff)
downloadcpython-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.c10
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);