[Python-Dev] draft pep: backwards compatibility

Georg Brandl g.brandl at gmx.net
Fri Jun 19 22:58:04 CEST 2009


R. David Murray schrieb:
> On Fri, 19 Jun 2009 at 14:15, Antoine Pitrou wrote:
> 
>> Benjamin Peterson <benjamin <at> python.org> writes:
>>>
>>> I mean that if you pass X and Y into a function and get Z in 2.6, then
>>> you should be able to get Z from passing X and Y in 2.7 even if
>>> there's a new argument that returns Z' if you pass True to it.
>>
>> Well, except if returning Z rather than Z' was a bug.
> 
> I'm pretty sure there have been cases of keeping buggy behavior in point
> releases for backward compatibility reasons.  I think the decision has
> depended on the nature, severity, and age of the bug, and the estimated
> likelihood that code in the wild would break if the bug were fixed.

That is always a difficult issue. There are tons of issues in the tracker
that would be quite easy to fix, but are not touched because nobody wants
to take the blame if it is considered "not buggy enough" for an incompatible
change. But they won't be closed either, because the current behavior
clearly is wrong.

Georg

-- 
Thus spake the Lord: Thou shalt indent with four spaces. No more, no less.
Four shall be the number of spaces thou shalt indent, and the number of thy
indenting shall be four. Eight shalt thou not indent, nor either indent thou
two, excepting that thou then proceed to four. Tabs are right out.



More information about the Python-Dev mailing list