Rename PyUnicode_AsString -> _PyUnicode_AsString and
PyUnicode_AsStringAndSize -> _PyUnicode_AsStringAndSize to mark
them for interpreter internal use only.
We'll have to rework these APIs or create new ones for the
purpose of accessing the UTF-8 representation of Unicode objects
for 3.1.
diff --git a/Include/object.h b/Include/object.h
index 07a4b2c..f5ec7d4 100644
--- a/Include/object.h
+++ b/Include/object.h
@@ -466,7 +466,7 @@
PyAPI_FUNC(long) _Py_HashPointer(void*);
/* Helper for passing objects to printf and the like */
-#define PyObject_REPR(obj) PyUnicode_AsString(PyObject_Repr(obj))
+#define PyObject_REPR(obj) _PyUnicode_AsString(PyObject_Repr(obj))
/* Flag bits for printing: */
#define Py_PRINT_RAW 1 /* No string quotes etc. */
diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h
index d5b6572..c2360d3 100644
--- a/Include/unicodeobject.h
+++ b/Include/unicodeobject.h
@@ -704,9 +704,15 @@
In case of an error, no *size is set.
+ *** This API is for interpreter INTERNAL USE ONLY and will likely
+ *** be removed or changed for Python 3.1.
+
+ *** If you need to access the Unicode object as UTF-8 bytes string,
+ *** please use PyUnicode_AsUTF8String() instead.
+
*/
-PyAPI_FUNC(char *) PyUnicode_AsStringAndSize(
+PyAPI_FUNC(char *) _PyUnicode_AsStringAndSize(
PyObject *unicode,
Py_ssize_t *size);
@@ -714,12 +720,17 @@
Unicode object unicode.
Use of this API is DEPRECATED since no size information can be
- extracted from the returned data. Use PyUnicode_AsStringAndSize()
- instead.
+ extracted from the returned data.
+
+ *** This API is for interpreter INTERNAL USE ONLY and will likely
+ *** be removed or changed for Python 3.1.
+
+ *** If you need to access the Unicode object as UTF-8 bytes string,
+ *** please use PyUnicode_AsUTF8String() instead.
*/
-PyAPI_FUNC(char *) PyUnicode_AsString(PyObject *unicode);
+PyAPI_FUNC(char *) _PyUnicode_AsString(PyObject *unicode);
/* Returns the currently active default encoding.