On Sat, Jan 18, 2014 at 07:14:13PM -0600, Neil Schemenauer wrote:
On 2014-01-17, Andrew Barnert wrote:
And if you do it that way, you could even adapt the idea someone proposed a few weeks ago—not popular on this list, but maybe popular with your target audience—of turning each change on and off with a "from __past__ import misfeature" statement, so people could pick and choose the ones they need, and gradually remove past statements as they port from your forked 2.8 to real 3.4.
You can't make those changes with __future__/__past__ imports. They effect the whole runtime, not single module.
I believe you are wrong. from __future__ imports are designed to effect the single module they are in. I see no reason why from __past__ can't work the same way.
[steve@ando ~]$ cat a.py def func(): return "Hello World" [steve@ando ~]$ cat b.py from __future__ import unicode_literals
def func(): return "Hello World" [steve@ando ~]$ python2.7 -c "import b, a; print repr(b.func()), repr(a.func())" u'Hello World' 'Hello World'