New submission from Nick Craig-Wood:

Here is a patch to remove some unused code in `symtable.c`

In Python3 `from x import *` was banned from use in functions completely.

This is detected by `symtable_visit_alias` 

        if (st->st_cur->ste_type != ModuleBlock) {
            int lineno = st->st_cur->ste_lineno;
            int col_offset = st->st_cur->ste_col_offset;
            PyErr_SetString(PyExc_SyntaxError, IMPORT_STAR_WARNING);

However in `check_unoptimized` it checks for `import *` being used in a nested 
function etc.  This is the python2 behaviour which wasn't removed at the time 
the new python3 behaviour was added.

According to my analysis and tests it is now impossible for `check_unoptimized` 
to raise an error, since only valid uses of `import *` are left at the point it 
is called.

I propose to remove that function entirely, its call, and fix some stray 
documentation in this patch.

----------
components: Interpreter Core
files: python3.5-symtable.patch
keywords: patch
messages: 241937
nosy: ncw
priority: normal
severity: normal
status: open
title: Remove unused code in symtable.c and fix docs for import * checking
type: enhancement
versions: Python 3.5
Added file: http://bugs.python.org/file39195/python3.5-symtable.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24049>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to