[issue38604] Schedule Py_UNICODE API removal

2019-10-28 Thread STINNER Victor
STINNER Victor added the comment: > See issue36346. Oh, I failed to find this issue. Ok, I close mine as a duplicate. -- resolution: -> duplicate stage: -> resolved status: open -> closed superseder: -> Prepare for removing the legacy Unicode C API

[issue38604] Schedule Py_UNICODE API removal

2019-10-28 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: See issue36346. First we need to add compile-time deprecation warnings to all C API. Then add runtime deprecation warnings. And since this is a major compatibility breakage, it can take longer deprecation period. --

[issue38604] Schedule Py_UNICODE API removal

2019-10-28 Thread Inada Naoki
Inada Naoki added the comment: I want to remove them in 3.10 too. If we chose the annual release cycle, I'm OK to postpone the removal to 3.11. FWIW, ujson is apopular extension that uses these APIs. But it is not maintained for a long time, and there are many alternative JSON libraries.

[issue38604] Schedule Py_UNICODE API removal

2019-10-28 Thread STINNER Victor
STINNER Victor added the comment: A preleminary step was to modify PyUnicode_AsWideChar() and PyUnicode_AsWideCharString() to remove the internal caching: it has been done in Python 3.8.0 with bpo-30863. -- nosy: +inada.naoki, serhiy.storchaka

[issue38604] Schedule Py_UNICODE API removal

2019-10-27 Thread STINNER Victor
STINNER Victor added the comment: > (Right now) write an exhaustive list of all deprecated APIs: functions, > constants, types, etc. I searched "4.0" in the documentation: * Py_UNICODE type * array.array: "u" type * PyArg_ParseTuple, Py_BuildValue: "u", "u#", "Z", "Z#" formats *

[issue38604] Schedule Py_UNICODE API removal

2019-10-27 Thread STINNER Victor
New submission from STINNER Victor : Python 3.3 deprecated the C API functions using Py_UNICODE type. Examples in the doc: * https://docs.python.org/dev/c-api/unicode.html#c.Py_UNICODE * https://docs.python.org/dev/c-api/unicode.html#deprecated-py-unicode-apis Currently, functions removal is