[Python-Dev] About raising NotPortableWarning for CPython specific code
Terry Reedy
tjreedy at udel.edu
Sat Mar 12 22:01:43 CET 2011
On 3/12/2011 3:04 PM, Thomas Wouters wrote:
> It should be fixed, yes, but breaking existing code is going to piss off
> a lot of people (like me) who already have enough worries when upgrading
> Python. It is apparent that there *is* code out there that relies on
> this behaviour, we shouldn't break it wlily-nilly. A warning when
> CPython encounters the case that will change behaviour in the next
> CPython release and in other implementations is almost as good as
> changing the behaviour.
Every bug fix breaks code that depends on the bug. That said, we do not
backport every bug fix. I think in the long run it would be good to fix
at least 2.7 and 3.2, but that could be debated.
Greg Price, who started the thread wanting PyPy to replicate the
somewhat undefined and crazy behavior of CPython, admits
"I think a strict reading of the language reference would clearly
identify this as wrong behavior by CPython."
http://codespeak.net/pipermail/pypy-dev/2011q1/006966.html
So he can hardly complain if we fix the 'wrong behavior'.
He is not a newbie: he is the one who diagnosed why CPython behaves as
it does. He also knows how to fix their code: simply add to each
appended class an __iter__ method just like I did, except yield the same
thing as the __radd__ method appends rather than something different.
With such a fix, his software would work with buggy and fixed CPython as
well PyPy. He should just do that.
He apparently is not the original author. Too bad *that* programmer did
not recognize and report that he had discovered a bug. I doubt that too
many other people have encountered it because I expect someone would
have posted something.
--
Terry Jan Reedy
More information about the Python-Dev
mailing list