Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bpo-1635741: Move _PyUnicode_Name_CAPI to the internal C API #22713

Merged
merged 1 commit into from
Oct 26, 2020
Merged

bpo-1635741: Move _PyUnicode_Name_CAPI to the internal C API #22713

merged 1 commit into from
Oct 26, 2020

Conversation

vstinner
Copy link
Member

@vstinner vstinner commented Oct 15, 2020

getcode() and getname() functions of _PyUnicode_Name_CAPI get an
additional parameter: state.

  • Move Include/ucnhash.h to Include/internal/pycore_ucnhash.h
  • unicodedata module is now built with Py_BUILD_CORE_MODULE.
  • unicodedata: move the CAPI into unicodedata_module_state.

https://bugs.python.org/issue1635741

@vstinner
Copy link
Member Author

Hum, I should document the change at https://docs.python.org/dev/whatsnew/3.10.html#c-api-changes

The private _PyUnicode_Name_CAPI structure of the PyCapsule API
unicodedata.ucnhash_CAPI moves to the internal C API. Moreover, the
structure gets a new state member which must be passed to the
getcode() and getname() functions.

* Move Include/ucnhash.h to Include/internal/pycore_ucnhash.h
* unicodedata module is now built with Py_BUILD_CORE_MODULE.
* unicodedata: move hashAPI variable into unicodedata_module_state.
@vstinner
Copy link
Member Author

@koubaa: With this PR, it becomes way simpler to move global_module_state into a proper module state. Next steps:

  • PR 1: Convert UCD_Type static type to a heap type
  • PR 2: Add "defining_class" to Argument Clinic, get the module type from defining class

@koubaa
Copy link
Contributor

koubaa commented Oct 19, 2020

@vstinner I'll give PR1 a shot this week. Thanks for the groundwork

@vstinner vstinner merged commit 47e1afd into python:master Oct 26, 2020
@vstinner vstinner deleted the ucnhash_capi branch October 26, 2020 15:43
@vstinner
Copy link
Member Author

See https://bugs.python.org/issue42157 for the follow-up.

shihai1991 added a commit to shihai1991/cpython that referenced this pull request Oct 29, 2020
…lots1

* origin/master: (365 commits)
  bpo-42029: Remove IRIX code (pythonGH-23023)
  bpo-42143: Ensure PyFunction_NewWithQualName() can't fail after creating the func object (pythonGH-22953)
  bpo-34204: Use pickle.DEFAULT_PROTOCOL in shelve (pythonGH-19639)
  bpo-41805: Documentation for PEP 585 (pythonGH-22615)
  bpo-42161: Micro-optimize _collections._count_elements() (pythonGH-23008)
  bpo-42161: Remove private _PyLong_Zero and _PyLong_One (pythonGH-23003)
  bpo-42099: Fix reference to ob_type in unionobject.c and ceval (pythonGH-22829)
  bpo-41659: Disallow curly brace directly after primary (pythonGH-22996)
  bpo-6761: Enhance __call__ documentation (pythonGH-7987)
  bpo-42161: Modules/ uses _PyLong_GetZero() and _PyLong_GetOne() (pythonGH-22998)
  bpo-41474, Makefile: Add dependency on cpython/frameobject.h (pythonGH-22999)
  bpo-42157: Rename unicodedata.ucnhash_CAPI (pythonGH-22994)
  bpo-42161: Use _PyLong_GetZero() and _PyLong_GetOne() (pythonGH-22995)
  bpo-30681: Support invalid date format or value in email Date header (pythonGH-22090)
  bpo-42161: Add _PyLong_GetZero() and _PyLong_GetOne() (pythonGH-22993)
  bpo-42123: Run the parser two times and only enable invalid rules on the second run (pythonGH-22111)
  bpo-42157: Convert unicodedata.UCD to heap type (pythonGH-22991)
  bpo-42157: unicodedata avoids references to UCD_Type (pythonGH-22990)
  bpo-39101: Fixes BaseException hang in IsolatedAsyncioTestCase. (pythonGH-22654)
  bpo-1635741: _PyUnicode_Name_CAPI moves to internal C API (pythonGH-22713)
  ...
adorilson pushed a commit to adorilson/cpython that referenced this pull request Mar 13, 2021
…2713)

The private _PyUnicode_Name_CAPI structure of the PyCapsule API
unicodedata.ucnhash_CAPI moves to the internal C API. Moreover, the
structure gets a new state member which must be passed to the
getcode() and getname() functions.

* Move Include/ucnhash.h to Include/internal/pycore_ucnhash.h
* unicodedata module is now built with Py_BUILD_CORE_MODULE.
* unicodedata: move hashAPI variable into unicodedata_module_state.
catap added a commit to catap/unicodedata2 that referenced this pull request Nov 16, 2021
anthrotype pushed a commit to fonttools/unicodedata2 that referenced this pull request Nov 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants