[Python-Dev] Proposal to revert r54204 (splitext change)
Michael Foord
fuzzyman at voidspace.org.uk
Wed Mar 14 22:45:15 CET 2007
Phillip J. Eby wrote:
> At 08:30 AM 3/15/2007 +1100, Delaney, Timothy (Tim) wrote:
>
>> Phillip J. Eby wrote:
>>
>>
>>> In addition to being made in the face of controversy and opposition,
>>> this
>>> change is an alteration to *documented and tested* behavior and thus
>>> cannot reasonably be considered a mere bug fix.
>>>
>> FWIW, I support Phillip on this. There can be no question that the old
>> behaviour was expected.
>>
>> IMO this is just gratuitous breakage. The only fix that shold be made is
>> to the splitext documentation to match the docstring.
>>
>> A change to the documented behaviour should require a __future__ import
>> for at least one version. That's even assuming that the change is
>> desireable (I don't believe so). We have multiple anecdotes of actual,
>> existing code that *will* break with this change. So far I haven't seen
>> any actual code posted that is currently broken by the existing behaviour.
>>
>
> FWIW, I think that, were we writing splitext() *now*, we should go with the
> proposed behavior. It's reasonable and justifiable even on Windows (even
> though Windows Explorer agrees with the current splitext() behavior.)
>
> But, that doesn't actually have any bearing on the current discussion,
> since splitext()'s behavior is existing and documented.
>
> Certainly, there *is* code that's broken by the existing behavior --
> otherwise the patch would never have been submitted in the first
> place. However, that doesn't automatically make it a Python bug,
> especially if the existing behavior is documented and covered by regression
> tests.
>
> I just want to clarify this point, because I don't wish to enter another
> round of discussion about the merits of one behavior or the other: the
> merits one way or the other are pretty much irrelevant to the policy issue
> at hand.
>
It looks to me like a clear bugfix (the fact that there were unit tests
for the insane behaviour doesn't make it any less a bug). The current
docstring that states that the first element may be empty hardly counts
as it being a 'documented feature'.
At the least it is a grey area and not a policy reversal. The policy is
that bugfixes can go in with warnings. So, as a debatable issue whether
it is a bug (I think it is fairly clear), then it doesn't change or
contravene policy.
Michael Foord
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/fuzzyman%40voidspace.org.uk
>
>
More information about the Python-Dev
mailing list