From e81c3760807215a65a69c20701631ee0b8ad774b Mon Sep 17 00:00:00 2001 From: Mark Dickinson Date: Fri, 9 May 2008 16:14:15 +0000 Subject: [PATCH] Issue #2801: fix bug in float.is_integer where ValueError could be incorrectly raised. This is a backport of the Py3k fix in r62939. (Should really have been fixed in the trunk first and svnmerged into py3k.) --- Misc/NEWS | 3 +++ Objects/floatobject.c | 1 + 2 files changed, 4 insertions(+) diff --git a/Misc/NEWS b/Misc/NEWS index 58fd955bf5..12522dbfe6 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,9 @@ What's New in Python 2.6 beta 1? Core and Builtins ----------------- +- Issue #2801: fix bug in the float.is_integer method where a ValueError + was sometimes incorrectly raised. + - Issue #2790: sys.flags was not properly exposing its bytes_warning attribute. Extension Modules diff --git a/Objects/floatobject.c b/Objects/floatobject.c index f79995cb3f..ceb0b6dfb8 100644 --- a/Objects/floatobject.c +++ b/Objects/floatobject.c @@ -1031,6 +1031,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) -- 2.50.1