New submission from Barry A. Warsaw <ba...@python.org>:

Lines such as the following are removed by fix_future.py in 2to3

from __future__ import absolute_import, unicode_literals

I think this is unnecessary and I have a case where it causes problems.  It's 
unnecessary because this import is essentially a no-op in Python 3, so it does 
no harm, and serves no actual useful purpose to remove.  It causes harm because 
of a common idiom in doctest setups:

def setup(testobj):
    """Test setup."""
    # Make sure future statements in our doctests match the Python code.
    testobj.globs['absolute_import'] = absolute_import
    testobj.globs['unicode_literals'] = unicode_literals

fix_future.py removes the import so these cause NameErrors.  Sure, I can wrap 
them in try/excepts, but still what's the point of fix_future?

----------
components: 2to3 (2.x to 3.0 conversion tool)
messages: 104008
nosy: barry
severity: normal
status: open
title: 2to3 fix_future.py removes __future__ imports, but should it?
versions: Python 3.1, Python 3.2

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

Reply via email to