Fix PyString_Format() so that '%c' % u'a' returns u'a'
instead of raising a TypeError. (From SF patch #710127)
Add tests to verify this is fixed.
Add various tests for '%c' % int.
diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py
index 4bcd121..dcf961d 100644
--- a/Lib/test/string_tests.py
+++ b/Lib/test/string_tests.py
@@ -543,6 +543,7 @@
self.checkequal('"', "%c", '__mod__', 34)
self.checkequal('$', "%c", '__mod__', 36)
self.checkequal('10', "%d", '__mod__', 10)
+ self.checkequal('\x7f', "%c", '__mod__', 0x7f)
for ordinal in (-100, 0x200000):
# unicode raises ValueError, str raises OverflowError