mirror of https://github.com/python/cpython
gh-105156: Cleanup usage of old Py_UNICODE type (#105158)
* refcounts.dat: * Remove Py_UNICODE functions. * Replace Py_UNICODE argument type with wchar_t. * _PyUnicode_ToLowercase(), _PyUnicode_ToUppercase(), _PyUnicode_ToTitlecase() are no longer deprecated in comments. It's no longer needed since they now use Py_UCS4 type, rather than the deprecated Py_UNICODE type. * gdb: Remove unused char_width() method.
This commit is contained in:
parent
424049cc11
commit
7d07e5891d
|
@ -2374,76 +2374,56 @@ PyUnicode_KIND:PyObject*:o:0:
|
||||||
PyUnicode_MAX_CHAR_VALUE::::
|
PyUnicode_MAX_CHAR_VALUE::::
|
||||||
PyUnicode_MAX_CHAR_VALUE:PyObject*:o:0:
|
PyUnicode_MAX_CHAR_VALUE:PyObject*:o:0:
|
||||||
|
|
||||||
PyUnicode_AS_UNICODE:Py_UNICODE*:::
|
|
||||||
PyUnicode_AS_UNICODE:PyObject*:o:0:
|
|
||||||
|
|
||||||
PyUnicode_AS_DATA:const char*:::
|
|
||||||
PyUnicode_AS_DATA:PyObject*:o:0:
|
|
||||||
|
|
||||||
Py_UNICODE_ISALNUM:int:::
|
Py_UNICODE_ISALNUM:int:::
|
||||||
Py_UNICODE_ISALNUM:Py_UNICODE:ch::
|
Py_UNICODE_ISALNUM:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_ISALPHA:int:::
|
Py_UNICODE_ISALPHA:int:::
|
||||||
Py_UNICODE_ISALPHA:Py_UNICODE:ch::
|
Py_UNICODE_ISALPHA:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_ISSPACE:int:::
|
Py_UNICODE_ISSPACE:int:::
|
||||||
Py_UNICODE_ISSPACE:Py_UNICODE:ch::
|
Py_UNICODE_ISSPACE:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_ISLOWER:int:::
|
Py_UNICODE_ISLOWER:int:::
|
||||||
Py_UNICODE_ISLOWER:Py_UNICODE:ch::
|
Py_UNICODE_ISLOWER:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_ISUPPER:int:::
|
Py_UNICODE_ISUPPER:int:::
|
||||||
Py_UNICODE_ISUPPER:Py_UNICODE:ch::
|
Py_UNICODE_ISUPPER:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_ISTITLE:int:::
|
Py_UNICODE_ISTITLE:int:::
|
||||||
Py_UNICODE_ISTITLE:Py_UNICODE:ch::
|
Py_UNICODE_ISTITLE:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_ISLINEBREAK:int:::
|
Py_UNICODE_ISLINEBREAK:int:::
|
||||||
Py_UNICODE_ISLINEBREAK:Py_UNICODE:ch::
|
Py_UNICODE_ISLINEBREAK:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_ISDECIMAL:int:::
|
Py_UNICODE_ISDECIMAL:int:::
|
||||||
Py_UNICODE_ISDECIMAL:Py_UNICODE:ch::
|
Py_UNICODE_ISDECIMAL:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_ISDIGIT:int:::
|
Py_UNICODE_ISDIGIT:int:::
|
||||||
Py_UNICODE_ISDIGIT:Py_UNICODE:ch::
|
Py_UNICODE_ISDIGIT:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_ISNUMERIC:int:::
|
Py_UNICODE_ISNUMERIC:int:::
|
||||||
Py_UNICODE_ISNUMERIC:Py_UNICODE:ch::
|
Py_UNICODE_ISNUMERIC:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_ISPRINTABLE:int:::
|
Py_UNICODE_ISPRINTABLE:int:::
|
||||||
Py_UNICODE_ISPRINTABLE:Py_UNICODE:ch::
|
Py_UNICODE_ISPRINTABLE:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_TOLOWER:Py_UNICODE:::
|
Py_UNICODE_TOLOWER:Py_UCS4:::
|
||||||
Py_UNICODE_TOLOWER:Py_UNICODE:ch::
|
Py_UNICODE_TOLOWER:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_TOUPPER:Py_UNICODE:::
|
Py_UNICODE_TOUPPER:Py_UCS4:::
|
||||||
Py_UNICODE_TOUPPER:Py_UNICODE:ch::
|
Py_UNICODE_TOUPPER:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_TOTITLE:Py_UNICODE:::
|
Py_UNICODE_TOTITLE:Py_UCS4:::
|
||||||
Py_UNICODE_TOTITLE:Py_UNICODE:ch::
|
Py_UNICODE_TOTITLE:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_TODECIMAL:int:::
|
Py_UNICODE_TODECIMAL:int:::
|
||||||
Py_UNICODE_TODECIMAL:Py_UNICODE:ch::
|
Py_UNICODE_TODECIMAL:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_TODIGIT:int:::
|
Py_UNICODE_TODIGIT:int:::
|
||||||
Py_UNICODE_TODIGIT:Py_UNICODE:ch::
|
Py_UNICODE_TODIGIT:Py_UCS4:ch::
|
||||||
|
|
||||||
Py_UNICODE_TONUMERIC:double:::
|
Py_UNICODE_TONUMERIC:double:::
|
||||||
Py_UNICODE_TONUMERIC:Py_UNICODE:ch::
|
Py_UNICODE_TONUMERIC:Py_UCS4:ch::
|
||||||
|
|
||||||
PyUnicode_FromUnicode:PyObject*::+1:
|
|
||||||
PyUnicode_FromUnicode:const Py_UNICODE*:u::
|
|
||||||
PyUnicode_FromUnicode:Py_ssize_t:size::
|
|
||||||
|
|
||||||
PyUnicode_AsUnicode:Py_UNICODE*:::
|
|
||||||
PyUnicode_AsUnicode:PyObject*:unicode:0:
|
|
||||||
|
|
||||||
PyUnicode_AsUnicodeAndSize:Py_UNICODE*:::
|
|
||||||
PyUnicode_AsUnicodeAndSize:PyObject*:unicode:0:
|
|
||||||
PyUnicode_AsUnicodeAndSize:Py_ssize_t*:size::
|
|
||||||
|
|
||||||
PyUnicode_GetSize:Py_ssize_t:::
|
|
||||||
PyUnicode_GetSize:PyObject*:unicode:0:
|
|
||||||
|
|
||||||
PyUnicode_FromObject:PyObject*::+1:
|
PyUnicode_FromObject:PyObject*::+1:
|
||||||
PyUnicode_FromObject:PyObject*:obj:0:
|
PyUnicode_FromObject:PyObject*:obj:0:
|
||||||
|
|
|
@ -379,8 +379,6 @@ static inline Py_UCS4 PyUnicode_MAX_CHAR_VALUE(PyObject *op)
|
||||||
|
|
||||||
/* === Public API ========================================================= */
|
/* === Public API ========================================================= */
|
||||||
|
|
||||||
/* --- Plain Py_UNICODE --------------------------------------------------- */
|
|
||||||
|
|
||||||
/* With PEP 393, this is the recommended way to allocate a new unicode object.
|
/* With PEP 393, this is the recommended way to allocate a new unicode object.
|
||||||
This function will allocate the object and its buffer in a single memory
|
This function will allocate the object and its buffer in a single memory
|
||||||
block. Objects created using this function are not resizable. */
|
block. Objects created using this function are not resizable. */
|
||||||
|
@ -827,15 +825,15 @@ PyAPI_FUNC(int) _PyUnicode_IsLinebreak(
|
||||||
const Py_UCS4 ch /* Unicode character */
|
const Py_UCS4 ch /* Unicode character */
|
||||||
);
|
);
|
||||||
|
|
||||||
/* Py_DEPRECATED(3.3) */ PyAPI_FUNC(Py_UCS4) _PyUnicode_ToLowercase(
|
PyAPI_FUNC(Py_UCS4) _PyUnicode_ToLowercase(
|
||||||
Py_UCS4 ch /* Unicode character */
|
Py_UCS4 ch /* Unicode character */
|
||||||
);
|
);
|
||||||
|
|
||||||
/* Py_DEPRECATED(3.3) */ PyAPI_FUNC(Py_UCS4) _PyUnicode_ToUppercase(
|
PyAPI_FUNC(Py_UCS4) _PyUnicode_ToUppercase(
|
||||||
Py_UCS4 ch /* Unicode character */
|
Py_UCS4 ch /* Unicode character */
|
||||||
);
|
);
|
||||||
|
|
||||||
Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UCS4) _PyUnicode_ToTitlecase(
|
PyAPI_FUNC(Py_UCS4) _PyUnicode_ToTitlecase(
|
||||||
Py_UCS4 ch /* Unicode character */
|
Py_UCS4 ch /* Unicode character */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ the following defines used by the different modules:
|
||||||
|
|
||||||
STRINGLIB_CHAR
|
STRINGLIB_CHAR
|
||||||
|
|
||||||
the type used to hold a character (char or Py_UNICODE)
|
the type used to hold a character (char, Py_UCS1, Py_UCS2 or Py_UCS4)
|
||||||
|
|
||||||
STRINGLIB_GET_EMPTY()
|
STRINGLIB_GET_EMPTY()
|
||||||
|
|
||||||
|
|
|
@ -1390,10 +1390,6 @@ def _unichr_is_printable(char):
|
||||||
class PyUnicodeObjectPtr(PyObjectPtr):
|
class PyUnicodeObjectPtr(PyObjectPtr):
|
||||||
_typename = 'PyUnicodeObject'
|
_typename = 'PyUnicodeObject'
|
||||||
|
|
||||||
def char_width(self):
|
|
||||||
_type_Py_UNICODE = gdb.lookup_type('Py_UNICODE')
|
|
||||||
return _type_Py_UNICODE.sizeof
|
|
||||||
|
|
||||||
def proxyval(self, visited):
|
def proxyval(self, visited):
|
||||||
compact = self.field('_base')
|
compact = self.field('_base')
|
||||||
ascii = compact['_base']
|
ascii = compact['_base']
|
||||||
|
@ -1414,13 +1410,13 @@ class PyUnicodeObjectPtr(PyObjectPtr):
|
||||||
elif repr_kind == 4:
|
elif repr_kind == 4:
|
||||||
field_str = field_str.cast(_type_unsigned_int_ptr())
|
field_str = field_str.cast(_type_unsigned_int_ptr())
|
||||||
|
|
||||||
# Gather a list of ints from the Py_UNICODE array; these are either
|
# Gather a list of ints from the code point array; these are either
|
||||||
# UCS-1, UCS-2 or UCS-4 code points:
|
# UCS-1, UCS-2 or UCS-4 code points:
|
||||||
Py_UNICODEs = [int(field_str[i]) for i in safe_range(field_length)]
|
code_points = [int(field_str[i]) for i in safe_range(field_length)]
|
||||||
|
|
||||||
# Convert the int code points to unicode characters, and generate a
|
# Convert the int code points to unicode characters, and generate a
|
||||||
# local unicode instance.
|
# local unicode instance.
|
||||||
result = u''.join(map(chr, Py_UNICODEs))
|
result = u''.join(map(chr, code_points))
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def write_repr(self, out, visited):
|
def write_repr(self, out, visited):
|
||||||
|
|
Loading…
Reference in New Issue