Is this a well known bug that's been fixed? I couldn't find any discussion of it, but maybe my googling's off today ;-/
>>> def foo(): ... it = iter(range(10)) ... while True: ... i = it.next() ... print i ... if i&3==0: ... print 'skipping next' ... it.next() ... >>> ------------------< This looks ok: >>> foo() 0 skipping next 2 3 4 skipping next 6 7 8 skipping next Traceback (most recent call last): File "<stdin>", line 1, in ? File "<stdin>", line 4, in foo StopIteration >>> ------------< now at interactive global scope: >>> it = iter(range(10)) >>> while True: ... i = it.next() ... print i ... if i&3==0: ... print 'skipping next' ... it.next() ... -----<this doesn't look ok: it.next() is apparently not doing anything: 0 skipping next 1 2 3 4 skipping next 5 6 7 8 skipping next 9 Traceback (most recent call last): File "<stdin>", line 2, in ? StopIteration ----------------------------< but add a print, and all is well?? >>> it = iter(range(10)) >>> while True: ... i = it.next() ... print i ... if i&3==0: ... print 'skipping next' ... print '-->', it.next() ... 0 skipping next --> 1 2 3 4 skipping next --> 5 6 7 8 skipping next --> 9 Traceback (most recent call last): File "<stdin>", line 2, in ? StopIteration I guess it could be in the read-eval-print loop I have an old 2.4 on NT4 and am running it in a console window. Python 2.4b1 (#56, Nov 3 2004, 01:47:27) [GCC 3.2.3 (mingw special 20030504-1)] on win32 Type "help", "copyright", "credits" or "license" for more information. Regards, Bengt Richter -- http://mail.python.org/mailman/listinfo/python-list