Merged revisions 71627 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r71627 | benjamin.peterson | 2009-04-15 16:26:36 -0500 (Wed, 15 Apr 2009) | 4 lines

  call __float__ on str subclasses #5759

  tests by R. David Murray
........
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index e77b2dc..2ef4d1a 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -1533,7 +1533,9 @@
 		return float_subtype_new(type, args, kwds); /* Wimp out */
 	if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O:float", kwlist, &x))
 		return NULL;
-	if (PyUnicode_Check(x))
+	/* If it's a string, but not a string subclass, use
+	   PyFloat_FromString. */
+	if (PyUnicode_CheckExact(x))
 		return PyFloat_FromString(x);
 	return PyNumber_Float(x);
 }