summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2009-02-24 12:25:32 +0000
committerRaymond Hettinger <python@rcn.com>2009-02-24 12:25:32 +0000
commit9293eb965a2f70a3af849791401f8ec3fc23662b (patch)
treee48b6691f0cb0c75760781698e29f80fe7604792
parent54fba82310bd8441dfc580e37daacb52a217d4fb (diff)
downloadcpython-git-9293eb965a2f70a3af849791401f8ec3fc23662b.tar.gz
Backport 69934: Register xrange() as a Sequence.
-rw-r--r--Lib/_abcoll.py1
-rw-r--r--Lib/test/test_collections.py3
-rw-r--r--Misc/NEWS2
3 files changed, 6 insertions, 0 deletions
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.