#2630: Implement PEP 3138.
The repr() of a string now contains printable Unicode characters unescaped.
The new ascii() builtin can be used to get a repr() with only ASCII characters in it.
PEP and patch were written by Atsuo Ishimoto.
diff --git a/Objects/stringlib/string_format.h b/Objects/stringlib/string_format.h
index 37bd370..3f44e96 100644
--- a/Objects/stringlib/string_format.h
+++ b/Objects/stringlib/string_format.h
@@ -766,6 +766,10 @@
return PyObject_Repr(obj);
case 's':
return STRINGLIB_TOSTR(obj);
+#if PY_VERSION_HEX >= 0x03000000
+ case 'a':
+ return STRINGLIB_TOASCII(obj);
+#endif
default:
if (conversion > 32 && conversion < 127) {
/* It's the ASCII subrange; casting to char is safe