[Python-Dev] [2.3a2+] Change in int() behavior

David Abrahams dave@boost-consulting.com
Sat, 08 Mar 2003 00:27:07 -0500

Tim Peters <tim.one@comcast.net> writes:

> [David Abrahams]
>> The following change in behavior is causing one of my tests to fail.
> Dear Lord, another buggy test <wink>.
>> Is it intentional?
> Yes, as part of the ongoing push toward int/long unification.  If you tried
> the same test in Python 2.1, it would have blown up in the "sys.maxint * 2"
> part.  In 2.2, it blows up in the "int()" part.  In 2.3, it doesn't blow up
> at all.  In 2.4 or 2.5, __builtin__.int and __builtin__.long may well be the
> same object.

Yes, but in the meantime, PyInt_AS_LONG( invoke_int_conversion(x) )
might be a crash instead of raising an exception.  That's what is
causing my test to fail.  I guess I just need to lowercase a few
characters, but it's worth noting that this change breaks existing
extension module code.

Dave Abrahams
Boost Consulting