From: Raymond Hettinger Date: Tue, 24 Feb 2009 12:25:32 +0000 (+0000) Subject: Backport 69934: Register xrange() as a Sequence. X-Git-Tag: v2.6.2c1~139 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9293eb965a2f70a3af849791401f8ec3fc23662b;p=python Backport 69934: Register xrange() as a Sequence. --- diff --git a/Lib/_abcoll.py b/Lib/_abcoll.py index 36aca958c7..942a72c0ce 100644 --- a/Lib/_abcoll.py +++ b/Lib/_abcoll.py @@ -519,6 +519,7 @@ class Sequence(Sized, Iterable, Container): Sequence.register(tuple) Sequence.register(basestring) Sequence.register(buffer) +Sequence.register(xrange) class MutableSequence(Sequence): diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py index e11d999a51..fe96117ffd 100644 --- a/Lib/test/test_collections.py +++ b/Lib/test/test_collections.py @@ -393,6 +393,9 @@ class TestCollectionABCs(ABCTestCase): self.failUnless(isinstance(sample(), Sequence)) self.failUnless(issubclass(sample, Sequence)) self.failUnless(issubclass(basestring, Sequence)) + self.failUnless(isinstance(range(10), Sequence)) + self.failUnless(issubclass(xrange, Sequence)) + self.failUnless(issubclass(str, Sequence)) self.validate_abstract_methods(Sequence, '__contains__', '__iter__', '__len__', '__getitem__') diff --git a/Misc/NEWS b/Misc/NEWS index c71c6786cd..efa19a20a5 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,8 @@ What's New in Python 2.6.2 Core and Builtins ----------------- +- xrange() is now registered as a Sequence. + - Issue #5247: Improve error message when unknown format codes are used when using str.format() with str, unicode, long, int, and float arguments.