summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS3
-rw-r--r--Objects/floatobject.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 32d1b5d..0b58d3a 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 a748abb..76a5c2c 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)