is_builtin() is not a Boolean -- it can return -1, 0, 1.  [SF #541652]
diff --git a/Python/import.c b/Python/import.c
index 11bd84e..1a06153 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -2295,7 +2295,7 @@
 	char *name;
 	if (!PyArg_ParseTuple(args, "s:is_builtin", &name))
 		return NULL;
-	return PyBool_FromLong(is_builtin(name));
+	return PyInt_FromLong(is_builtin(name));
 }
 
 static PyObject *