Author: Hakan Ardo <ha...@debian.org>
Branch: 
Changeset: r48767:aa07c2a53f95
Date: 2011-11-04 22:37 +0100
http://bitbucket.org/pypy/pypy/changeset/aa07c2a53f95/

Log:    hg backout 7202b0d9cb70

diff --git a/pypy/module/__builtin__/functional.py 
b/pypy/module/__builtin__/functional.py
--- a/pypy/module/__builtin__/functional.py
+++ b/pypy/module/__builtin__/functional.py
@@ -362,7 +362,7 @@
     def descr_reversed(self):
         lastitem = self.start + (self.len-1) * self.step
         return self.space.wrap(W_XRangeIterator(self.space, lastitem,
-                                                self.start, -self.step, True))
+                                                self.start - 1, -self.step))
 
     def descr_reduce(self):
         space = self.space
@@ -389,26 +389,21 @@
 )
 
 class W_XRangeIterator(Wrappable):
-    def __init__(self, space, start, stop, step, inclusive=False):
+    def __init__(self, space, start, stop, step):
         self.space = space
         self.current = start
         self.stop = stop
         self.step = step
-        self.inclusive = inclusive
 
     def descr_iter(self):
         return self.space.wrap(self)
 
     def descr_next(self):
-        if self.inclusive:
-            if not ((self.step > 0 and self.current <= self.stop) or 
(self.step < 0 and self.current >= self.stop)):
-                raise OperationError(self.space.w_StopIteration, 
self.space.w_None)
-        else:
-            if not ((self.step > 0 and self.current < self.stop) or (self.step 
< 0 and self.current > self.stop)):
-                raise OperationError(self.space.w_StopIteration, 
self.space.w_None)
-        item = self.current
-        self.current = item + self.step
-        return self.space.wrap(item)
+        if (self.step > 0 and self.current < self.stop) or (self.step < 0 and 
self.current > self.stop):
+            item = self.current
+            self.current = item + self.step
+            return self.space.wrap(item)
+        raise OperationError(self.space.w_StopIteration, self.space.w_None)
 
     #def descr_len(self):
     #    return self.space.wrap(self.remaining)
diff --git a/pypy/module/__builtin__/test/test_functional.py 
b/pypy/module/__builtin__/test/test_functional.py
--- a/pypy/module/__builtin__/test/test_functional.py
+++ b/pypy/module/__builtin__/test/test_functional.py
@@ -157,8 +157,7 @@
        raises(OverflowError, xrange, a)
        raises(OverflowError, xrange, 0, a)
        raises(OverflowError, xrange, 0, 1, a)
-       assert list(reversed(xrange(-sys.maxint-1, -sys.maxint-1, -2))) == []
-       
+
    def test_xrange_reduce(self):
       x = xrange(2, 9, 3)
       callable, args = x.__reduce__()
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to