Marc 'BlackJack' Rintsch wrote: > In <[EMAIL PROTECTED]>, Peter Otten wrote: > >> Marc 'BlackJack' Rintsch wrote: >> >>>>>> from itertools import count >>>>>> from sys import maxint >>>>>> c = count(maxint) >>>>>> c.next() >>> 2147483647 >>>>>> c.next() >>> -2147483648 >>> >>> What I find most disturbing here, is that it happens silently. I would >>> have expected an exception instead of the surprise. >> >> This is fixed in Python2.5: >> >>>>> from itertools import count >>>>> import sys >>>>> c = count(sys.maxint) >>>>> c.next(), c.next() >> (2147483647, 2147483648L) > > Hm, my test above was from 2.5!?
Then your installation is broken. What does >>> import itertools >>> itertools <module 'itertools' from '/usr/local/lib/python2.5/lib-dynload/itertools.so'> print? By the way, here's what I get if I force the wrong library upon python2.5: /usr/local/lib/python2.4/lib-dynload $ python2.5 Python 2.5 (r25:51908, Oct 3 2006, 08:48:09) [GCC 3.3.3 (SuSE Linux)] on linux2 Type "help", "copyright", "credits" or "license" for more information. sys:1: RuntimeWarning: Python C API version mismatch for module readline: This Python has API version 1013, module readline has version 1012. >>> import itertools __main__:1: RuntimeWarning: Python C API version mismatch for module itertools: This Python has API version 1013, module itertools has version 1012. >>> itertools <module 'itertools' from 'itertools.so'> >>> import sys >>> c = itertools.count(sys.maxint) >>> c.next(), c.next() (2147483647, -2147483648) Peter -- http://mail.python.org/mailman/listinfo/python-list