Add interning of unicode strings by copying the functionality from
stringobject.c.
Intern "True" and "False" in bool_repr() again as it was in the
8bit string era.
diff --git a/Modules/main.c b/Modules/main.c
index 66dec8d..0bcd0f4 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -521,7 +521,7 @@
#ifdef __INSURE__
/* Insure++ is a memory analysis tool that aids in discovering
* memory leaks and other memory problems. On Python exit, the
- * interned string dictionary is flagged as being in use at exit
+ * interned string dictionaries are flagged as being in use at exit
* (which it is). Under normal circumstances, this is fine because
* the memory will be automatically reclaimed by the system. Under
* memory debugging, it's a huge source of useless noise, so we
@@ -529,6 +529,7 @@
* reports. -baw
*/
_Py_ReleaseInternedStrings();
+ _Py_ReleaseInternedUnicodeStrings();
#endif /* __INSURE__ */
return sts;