diff --git a/Misc/NEWS b/Misc/NEWS index 32d1b5d3a7c..0b58d3a08f0 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,9 @@ What's new in Python 3.0b1? Core and Builtins ----------------- +- Issue 2801: fix bug in the float.is_integer method where a ValueError + was sometimes incorrectly raised. + Extension Modules ----------------- diff --git a/Objects/floatobject.c b/Objects/floatobject.c index a748abbdada..76a5c2c5edc 100644 --- a/Objects/floatobject.c +++ b/Objects/floatobject.c @@ -900,6 +900,7 @@ float_is_integer(PyObject *v) return NULL; if (!Py_IS_FINITE(x)) Py_RETURN_FALSE; + errno = 0; PyFPE_START_PROTECT("is_integer", return NULL) o = (floor(x) == x) ? Py_True : Py_False; PyFPE_END_PROTECT(x)