Checkpoint. Manipulated things so that string literals are always
unicode, and a few other compensating changes, e.g. str <- unicode,
chr <- unichr, and repr() of a unicode string no longer starts
with 'u'. Lots of unit tests are broken, but some basic things
work, in particular distutils works so the extensions can be built,
and test_builtin.py works.
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index ce28692..e2f1b2f 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -2072,7 +2072,6 @@
p = PyString_AS_STRING(repr);
if (quotes) {
- *p++ = 'u';
*p++ = (findchar(s, size, '\'') &&
!findchar(s, size, '"')) ? '"' : '\'';
}
@@ -2081,7 +2080,7 @@
/* Escape quotes and backslashes */
if ((quotes &&
- ch == (Py_UNICODE) PyString_AS_STRING(repr)[1]) || ch == '\\') {
+ ch == (Py_UNICODE) PyString_AS_STRING(repr)[0]) || ch == '\\') {
*p++ = '\\';
*p++ = (char) ch;
continue;
@@ -2167,7 +2166,7 @@
*p++ = (char) ch;
}
if (quotes)
- *p++ = PyString_AS_STRING(repr)[1];
+ *p++ = PyString_AS_STRING(repr)[0];
*p = '\0';
_PyString_Resize(&repr, p - PyString_AS_STRING(repr));