peps: Address GvR's comments.

http://hg.python.org/peps/rev/81a533fd93f2 changeset: 3945:81a533fd93f2 user: Martin v. Löwis <martin@v.loewis.de> date: Mon Sep 26 12:25:49 2011 +0200 summary: Address GvR's comments. files: pep-0393.txt | 63 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 61 insertions(+), 2 deletions(-) diff --git a/pep-0393.txt b/pep-0393.txt --- a/pep-0393.txt +++ b/pep-0393.txt @@ -19,7 +19,8 @@ representation in common cases, but give access to full UCS-4 on all systems. For compatibility with existing APIs, several representations may exist in parallel; over time, this compatibility should be phased -out. +out. The distinction between narrow and wide Unicode builds is +dropped. An implementation of this PEP is available at [1]_. Rationale ========= @@ -206,10 +207,62 @@ converts a string to a char* (such as the ParseTuple functions) will use PyUnicode_AsUTF8 to compute a conversion. +New API +------- + +This section summarizes the API additions. + +Macros to access the internal representation of a Unicode object +(read-only): + +- PyUnicode_IS_COMPACT_ASCII(o), PyUnicode_IS_COMPACT(o), + PyUnicode_IS_READY(o) +- PyUnicode_GET_LENGTH(o) +- PyUnicode_KIND(o), PyUnicode_CHARACTER_SIZE(o), + PyUnicode_MAX_CHAR_VALUE(o) +- PyUnicode_DATA(o), PyUnicode_1BYTE_DATA(o), PyUnicode_2BYTE_DATA(o), + PyUnicode_4BYTE_DATA(o) + +Character access macros: + +- PyUnicode_READ(kind, data, index), PyUnicode_READ_CHAR(o, index) +- PyUnicode_WRITE(kind, data, index, value) + +Other macros: + +- PyUnicode_READY(o) +- PyUnicode_CONVERT_BYTES(from_type, tp_type, begin, end, to) + +String creation functions: + +- PyUnicode_New(size, maxchar) +- PyUnicode_FromKindAndData(kind, data, size) +- PyUnicode_Substring(o, start, end) +- PyUnicode_Chr(ch) + +Character access utility functions: + +- PyUnicode_CopyCharacters(to, to_start, from, from_start, how_many) +- PyUnicode_FindChar(str, ch, start, end, direction) + +Representation conversion: + +- PyUnicode_AsUCS4(o, buffer, buflen) +- PyUnicode_AsUCS4Copy(o) +- PyUnicode_AsUnicodeAndSize(o, size_out) +- PyUnicode_AsUTF8(o) +- PyUnicode_AsUTF8AndSize(o, size_out) + +UCS4 utility functions: + +- Py_UCS4_{strlen, strcpy, strcat, strncpy, strcmp, strncpy, strcmp, + strncmp, strchr, strrchr} + Stable ABI ---------- -None of the functions in this PEP become part of the stable ABI. +None of the functions in this PEP become part of the stable ABI +(PEP 384). GDB Debugging Hooks ------------------- @@ -363,6 +416,12 @@ PyUnicode_CopyCharacters help in analyzing and creating string objects, operating on indices instead of data pointers. +References +========== + +.. [1] PEP 393 branch + https://bitbucket.org/t0rsten/pep-393 + Copyright ========= -- Repository URL: http://hg.python.org/peps
participants (1)
-
martin.v.loewis