More on SF bug [#460020] bug or feature: unicode() and subclasses.
Repaired str(i) to return a genuine string when i is an instance of a str
subclass.  New PyString_CheckExact() macro.
diff --git a/Include/stringobject.h b/Include/stringobject.h
index a67e33e..052eacf 100644
--- a/Include/stringobject.h
+++ b/Include/stringobject.h
@@ -52,6 +52,7 @@
 extern DL_IMPORT(PyTypeObject) PyString_Type;
 
 #define PyString_Check(op) PyObject_TypeCheck(op, &PyString_Type)
+#define PyString_CheckExact(op) ((op)->ob_type == &PyString_Type)
 
 extern DL_IMPORT(PyObject *) PyString_FromStringAndSize(const char *, int);
 extern DL_IMPORT(PyObject *) PyString_FromString(const char *);