Change float.__str__() and complex.__str__() to return
unicode objects.
diff --git a/Include/pyport.h b/Include/pyport.h
index fb57ace..92ce3ae 100644
--- a/Include/pyport.h
+++ b/Include/pyport.h
@@ -107,6 +107,7 @@
* PyString_FromFormat
* PyErr_Format
* PyString_FromFormatV
+ * PyUnicode_FromFormatV
*
* Lower-level uses require that you interpolate the correct format modifier
* yourself (e.g., calling printf, fprintf, sprintf, PyOS_snprintf); for
diff --git a/Objects/complexobject.c b/Objects/complexobject.c
index 0d4b755..ed2e475 100644
--- a/Objects/complexobject.c
+++ b/Objects/complexobject.c
@@ -350,7 +350,7 @@
{
char buf[100];
complex_to_buf(buf, sizeof(buf), v, PREC_STR);
- return PyString_FromString(buf);
+ return PyUnicode_FromString(buf);
}
static long
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index 679e93e..b996863 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -310,7 +310,7 @@
{
char buf[100];
format_float(buf, sizeof(buf), v, PREC_STR);
- return PyString_FromString(buf);
+ return PyUnicode_FromString(buf);
}
/* Comparison is pretty much a nightmare. When comparing float to float,