mirror of
https://github.com/python/cpython.git
synced 2025-08-14 22:01:08 +00:00
check by equality for __future__ not identity (closes #14378)
This commit is contained in:
parent
0e3c107549
commit
eff19a13ed
3 changed files with 12 additions and 8 deletions
|
@ -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) {
|
||||
PyObject *modname = s->v.ImportFrom.module;
|
||||
if (PyString_GET_SIZE(modname) == 10 &&
|
||||
!strcmp(PyString_AS_STRING(modname), "__future__")) {
|
||||
if (done) {
|
||||
PyErr_SetString(PyExc_SyntaxError,
|
||||
ERR_LATE_FUTURE);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue