
On 06/11/05, Jean-Paul Calderone <exarkun@divmod.com> wrote:
You are confused. At least two people were *for* dropping 2.2 support in this thread, and nobody was against it. I'm pretty sure several others have been for dropping it on IRC, as well.
Confused, perhaps. Or perhaps their positions were voiced with such limited enthusiasm I just forgot about them :)
My apologies. I often try to restrain my enthusiasm for fear that excess emotion will sidetrack rational discussion. I am very keen to ditch Python 2.2 support.
It's a pretty good list, I must admit. But I wonder what the specific gains to Twisted will be. Just having a list of things Python 2.3 can do that Python 2.2 cannot does not seem compelling to me.
One specific gain already mentioned is that we get to remove a bunch of code. Less code means fewer bugs and less work. It might even improve our test coverage. Here's a list of stuff (shamelessly grepped) that could probably be simplified if we dropped 2.2 support: twisted/conch/test/test_filetransfer.py: # XXX: Remove 'uid' and 'gid', because python 2.2 doesn't have os.lchown, so we just skip that bit (dodgy!) twisted/conch/unix.py: # XXX: Python 2.2 doesn't have os.lchown! twisted/internet/error.py: # only works in 2.2 twisted/python/dist.py: Python 2.2's distutils. Pretty similar arguments to getDataFiles, twisted/python/dist.py:# Apple distributes a nasty version of Python 2.2 w/ all release builds of twisted/python/dist.py: Changes behavior in Python 2.2 to support simultaneous specification twisted/python/reflect.py: This is a 2.2-only alternative to the Accessor mixin - just set in your twisted/python/zshcomp.py:# in case of python2.2 ... twisted/test/test_compat.py: # without replacing isinstance on 2.2 as well :( twisted/topfiles/setup.py:# 2.2 doesn't have __file__ in main-scripts. twisted/trial/unittest.py: # only overriding this because Python 2.2's unittest has a broken twisted/trial/unittest.py: """a python2.2 friendly test to assert that substring is found in astring twisted/trial/unittest.py: """a python2.2 friendly test to assert that substring is not found in twisted/trial/unittest.py: # FIXME: when we drop support for python 2.2 and start to require 2.3, twisted/conch/ssh/filetransfer.py: isFile, name = self.wasAFile[d] # replace with get when we're at 2.3 twisted/lore/lint.py:# parser.suite in Python 2.3 raises SyntaxError, <2.3 raises parser.ParserError twisted/scripts/trial.py: (relative to _trial_temp). Requires Python 2.3.3.""" twisted/spread/jelly.py: raise NotImplementedError("Datetime unserializing not supported in Python < 2.3") twisted/trial/runner.py: "python 2.3 or later, not running doctests") twisted/trial/runner.py: "python 2.3 or later, not running doctests") twisted/trial/test/test_doctest.py: skip = 'doctest support only works on 2.3 or later' twisted/trial/test/test_doctest.py: # doctest reports failures as errors in 2.3 twisted/trial/test/test_failure_formatting.py: 'doctest support only works in Python 2.3 or later') twisted/words/protocols/jabber/xmpp_stringprep.py: "recommended you upgrade to Python 2.3.2 or newer if you " Plus the modules in twisted/python/pymodules. As you can see, Trial carries a fair part of the 2.2 support burden. I'm eager to be rid of it. cheers, jml