Josiah Carlson wrote: [...] > > Offer a new splitext that uses X on posix and Y on win32, but causes a > DeprecationWarning with pointers to the two renamed functions that are > available on both platforms. > > For people who want the old platform-specific functionality in previous > and subsequent Pythons, offer the ability to disable the > DeprecationWarning via a module global; at least until the function is > removed in some future Python, at which point path.splitext would cause > an AttributeError .
It's not about cross-platform behaviour. It's already the same: >>> import posixpath, ntpath >>> ntpath.splitext('.cshrc') ('', '.cshrc') >>> posixpath.splitext('.cshrc') ('', '.cshrc') And as I understand it, the current proposal would change this behaviour the same way on win32 and POSIX, although I may not have kept up with that part of the discussion enough. Is there a genuine desire for this to behave differently on different platforms? I think what I'd probably like to see is the existing undefined (but well-understood and predictable) behaviour to be declared defined, and a warning put in the documentation that it probably doesn't do what you expect for this case. And then for those that want the new behaviour, provide a new function (and prominently advertise it in the relevant part of the documentation). Yes it sucks having two similar functions, which will inevitably have similar names, but that's the price you pay for getting the interface wrong the first time around. -Andrew. _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com