From 9293eb965a2f70a3af849791401f8ec3fc23662b Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Tue, 24 Feb 2009 12:25:32 +0000 Subject: [PATCH] Backport 69934: Register xrange() as a Sequence. --- Lib/_abcoll.py | 1 + Lib/test/test_collections.py | 3 +++ Misc/NEWS | 2 ++ 3 files changed, 6 insertions(+) diff --git a/Lib/_abcoll.py b/Lib/_abcoll.py index 36aca958c76..942a72c0ce7 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 e11d999a51e..fe96117ffdd 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 c71c6786cd3..efa19a20a57 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.