-
-
Notifications
You must be signed in to change notification settings - Fork 31.9k
IncompleteInputError
is undocumented
#119521
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
Comments
I don't want to document this as this is an implementation detail of the parser specially tailored for the codeop module. It is only raised when a very specific undocumented flag is passed to the parser to support better what the codeop module needs to do and I don't think we want users to depend on it. |
It's a builtin though. If we don't want this to be public, we shouldn't have put it in the builtins. |
Possibly the new exception should be given a dunder name (since dunder names are reserved for the language), or placed in some private extension module (maybe |
That's a side effect of being a subclass of SyntaxError that's available via the normal subclass in |
We can try to prepend a underscore to the name for sure. I can try to investigate if there is an easy way to move it to some other hidden place when used via Python as well but IIRC it's a bit complex |
Bad news: I dedicated some time to investigate and seems prepending the symbol with an underscore fails in macOS because prepending the symbol with an underscore triggers some linkage failure (doing any other alterations to the symbol name does not). Also, exceptions cannot be easily declared outside the
|
I may be possible that I am missing something obvious, but this diff: ndex 68d7985dac8..0f71b1dcdb3 100644
--- a/Include/pyerrors.h
+++ b/Include/pyerrors.h
@@ -108,7 +108,7 @@ PyAPI_DATA(PyObject *) PyExc_NotImplementedError;
PyAPI_DATA(PyObject *) PyExc_SyntaxError;
PyAPI_DATA(PyObject *) PyExc_IndentationError;
PyAPI_DATA(PyObject *) PyExc_TabError;
-PyAPI_DATA(PyObject *) PyExc_IncompleteInputError;
+PyAPI_DATA(PyObject *) _PyExc_IncompleteInputError;
PyAPI_DATA(PyObject *) PyExc_ReferenceError;
PyAPI_DATA(PyObject *) PyExc_SystemError;
PyAPI_DATA(PyObject *) PyExc_SystemExit;
diff --git a/Lib/test/test_stable_abi_ctypes.py b/Lib/test/test_stable_abi_ctypes.py
index c06c285c501..446df809e9c 100644
--- a/Lib/test/test_stable_abi_ctypes.py
+++ b/Lib/test/test_stable_abi_ctypes.py
@@ -267,7 +267,7 @@ SYMBOL_NAMES = (
"PyExc_IOError",
"PyExc_ImportError",
"PyExc_ImportWarning",
- "PyExc_IncompleteInputError",
+ "_PyExc_IncompleteInputError",
"PyExc_IndentationError",
"PyExc_IndexError",
"PyExc_InterruptedError",
diff --git a/Misc/stable_abi.toml b/Misc/stable_abi.toml
index 77473662aaa..597e8d24084 100644
--- a/Misc/stable_abi.toml
+++ b/Misc/stable_abi.toml
@@ -2480,7 +2480,7 @@
[function._Py_SetRefcnt]
added = '3.13'
abi_only = true
-[data.PyExc_IncompleteInputError]
+[data._PyExc_IncompleteInputError]
added = '3.13'
[function.PyList_GetItemRef]
added = '3.13'
diff --git a/PC/python3dll.c b/PC/python3dll.c
index 86c88843089..d72c87e1e9e 100755
--- a/PC/python3dll.c
+++ b/PC/python3dll.c
@@ -839,7 +839,7 @@ EXPORT_DATA(PyExc_FutureWarning)
EXPORT_DATA(PyExc_GeneratorExit)
EXPORT_DATA(PyExc_ImportError)
EXPORT_DATA(PyExc_ImportWarning)
-EXPORT_DATA(PyExc_IncompleteInputError)
+EXPORT_DATA(_PyExc_IncompleteInputError)
EXPORT_DATA(PyExc_IndentationError)
EXPORT_DATA(PyExc_IndexError)
EXPORT_DATA(PyExc_InterruptedError)
diff --git a/Parser/pegen.c b/Parser/pegen.c
index 3d3e6455940..ad462d25fda 100644
--- a/Parser/pegen.c
+++ b/Parser/pegen.c
@@ -844,7 +844,7 @@ _PyPegen_run_parser(Parser *p)
if (res == NULL) {
if ((p->flags & PyPARSE_ALLOW_INCOMPLETE_INPUT) && _is_end_of_source(p)) {
PyErr_Clear();
- return _PyPegen_raise_error(p, PyExc_IncompleteInputError, 0, "incomplete input");
+ return _PyPegen_raise_error(p, _PyExc_IncompleteInputError, 0, "incomplete input");
}
if (PyErr_Occurred() && !PyErr_ExceptionMatches(PyExc_SyntaxError)) {
return NULL;
diff --git a/Tools/c-analyzer/cpython/globals-to-fix.tsv b/Tools/c-analyzer/cpython/globals-to-fix.tsv
index 8b6fe94e3af..b62f89a56ab 100644
--- a/Tools/c-analyzer/cpython/globals-to-fix.tsv
+++ b/Tools/c-analyzer/cpython/globals-to-fix.tsv
@@ -200,7 +200,7 @@ Objects/exceptions.c - _PyExc_AttributeError -
Objects/exceptions.c - _PyExc_SyntaxError -
Objects/exceptions.c - _PyExc_IndentationError -
Objects/exceptions.c - _PyExc_TabError -
-Objects/exceptions.c - _PyExc_IncompleteInputError -
+Objects/exceptions.c - __PyExc_IncompleteInputError -
Objects/exceptions.c - _PyExc_LookupError -
Objects/exceptions.c - _PyExc_IndexError -
Objects/exceptions.c - _PyExc_KeyError -
@@ -266,7 +266,7 @@ Objects/exceptions.c - PyExc_AttributeError -
Objects/exceptions.c - PyExc_SyntaxError -
Objects/exceptions.c - PyExc_IndentationError -
Objects/exceptions.c - PyExc_TabError -
-Objects/exceptions.c - PyExc_IncompleteInputError -
+Objects/exceptions.c - _PyExc_IncompleteInputError -
Objects/exceptions.c - PyExc_LookupError -
Objects/exceptions.c - PyExc_IndexError -
Objects/exceptions.c - PyExc_KeyError -
diff --git a/Objects/exceptions.c b/Objects/exceptions.c
index f9cd577c1c1..01c72956a8c 100644
--- a/Objects/exceptions.c
+++ b/Objects/exceptions.c
@@ -2606,9 +2606,9 @@ MiddlingExtendsException(PyExc_IndentationError, TabError, SyntaxError,
"Improper mixture of spaces and tabs.");
/*
- * IncompleteInputError extends SyntaxError
+ * _IncompleteInputError extends SyntaxError
*/
-MiddlingExtendsException(PyExc_SyntaxError, IncompleteInputError, SyntaxError,
+MiddlingExtendsException(PyExc_SyntaxError, _IncompleteInputError, SyntaxError,
"incomplete input.");
/*
@@ -3675,7 +3675,7 @@ static struct static_exception static_exceptions[] = {
// Level 4: Other subclasses
ITEM(IndentationError), // base: SyntaxError(Exception)
- ITEM(IncompleteInputError), // base: SyntaxError(Exception)
+ ITEM(_IncompleteInputError), // base: SyntaxError(Exception)
ITEM(IndexError), // base: LookupError(Exception)
ITEM(KeyError), // base: LookupError(Exception)
ITEM(ModuleNotFoundError), // base: ImportError(Exception) fails with:
|
We only want the Python-visible name to have an underscore (or two) though, the C name can stay. So I think you could manually expand the |
I was a bit reluctant to add a new macro just for this but it seems that there is no much around this unfortunately |
… and remove from stable ABI
I found a better way to solve this problem! |
… and remove from stable ABI
… and remove from stable ABI Signed-off-by: Pablo Galindo <[email protected]>
…emove from public API/ABI (GH-119680) Signed-off-by: Pablo Galindo <[email protected]> Co-authored-by: Petr Viktorin <[email protected]>
… and remove from public API/ABI (pythonGH-119680) (cherry picked from commit ac61d58) Co-authored-by: Pablo Galindo Salgado <[email protected]> Signed-off-by: Pablo Galindo <[email protected]> Co-authored-by: Petr Viktorin <[email protected]>
…r and remove from public API/ABI (GH-119680, GH-120955) (GH-120944) - gh-119521: Rename IncompleteInputError to _IncompleteInputError and remove from public API/ABI (GH-119680) (cherry picked from commit ce1064e) - gh-119521: Use `PyAPI_DATA`, not `extern`, for `_PyExc_IncompleteInputError` (GH-120955) (cherry picked from commit ac61d58) Co-authored-by: Pablo Galindo Salgado <[email protected]> Co-authored-by: Petr Viktorin <[email protected]>
The rename is merged, but looking at the issues again, I think we should also remove |
…-120993) (cherry picked from commit 1167a9a) Co-authored-by: Petr Viktorin <[email protected]>
… and remove from public API/ABI (pythonGH-119680) Signed-off-by: Pablo Galindo <[email protected]> Co-authored-by: Petr Viktorin <[email protected]>
…_IncompleteInputError'. See python/cpython#119521
… and remove from public API/ABI (pythonGH-119680) Signed-off-by: Pablo Galindo <[email protected]> Co-authored-by: Petr Viktorin <[email protected]>
… and remove from public API/ABI (pythonGH-119680) Signed-off-by: Pablo Galindo <[email protected]> Co-authored-by: Petr Viktorin <[email protected]>
…ion 3.1.0 0dminnimda (1): Pythonise Unicode and passing strings (strings.rst) (#4389) Aditya Pillai (2): Fix incorrect code generation for method override (GH-6705) Fix definition in pyx not overriding declaration in pxd (#6714) Alexander Condello (2): Mark libcpp.optional.value as except + (#6190) Add `std::span` to `libcpp` (#6539) Alexandra Pereira (5): Use a constant set to recognise builtins rather than a Python version specific one (GH-6043) Add tests for lookup_module_cpdef option (#6115) Docs: Fix example manual work in parallelization (#6139) Docs: Adapt string examples to language_level=3 (#6140) [Docs] Update examples to language lvl 3 (#6143) Antoine Pitrou (1): [ENH][C++] Add std::string_view support (#6652) Bluenix (1): Help type checkers find Shadow typings (#4335) Clément Robert (1): docs: Recommend not distributing generated code (GH-6201) Denis Lukianov (1): Reserve vector memory upfront (#6077) Eric Larson (1): Add option to silence IF and DEF deprecation warnings (#6243) Ewout ter Hoeven (4): Pyupgrade: Update codebase to Python 3 syntax and features (GH-5810) Remove some Python 2 specific left-over code (GH-5828) wheel CI: Update cibuildwheel to v2.20.0 (GH-6321) Drop Python 3.7, require Python 3.8+ (GH-6378) Gabriele N. Tornetta (1): Fix warning in file extension/mode mismatch (#6711) Gonzalo Tornaría (2): Fix warnings for "implicit noexcept" when using `legacy_implicit_noexcept=True` (#6087) Better fix for exception specifications from pxd in legacy_implicit_noexcept (#6343) Hugo van Kemenade (1): PEP 703: Accept new `Py_GIL_DISABLED` macro in addition to `PY_NOGIL` (GH-5852) Inada Naoki (1): Remove unused include (#6188) Jason Fried (1): Don't miss a required PyObject_GC_Track() in dealloc (GH-5972) Jelle van der Waa (1): Test runner: Python 3.13 removes unittest.findTestCase (#6182) Kent Slaney (5): Fix error in auto-completion in Cygdb (#5924) cygdb: Add a missing line break after backtrace frame source (GH-5955) cygdb: Test and fix debugger tab completion (GH-5948) Add repr methods to GDB classes for debugging purposes (#5958) Use hard-coded list of qualnames for GDB API compatibility (#6681) Kieran (1): Add missing `replace` functions to C++ `std::string` declarations (GH-6037) Kirill Smelkov (1): includes/cpython: Fix PyByteArray_Resize signature to indicate except… (#6787) Lawrence Mitchell (1): Pre-clean docstrings when running EmbedSignature transform (#6241) Lisandro Dalcin (13): Remove PyDict_Pop() usage from the Python 3.13 limited API (GH-6350) Fixes for cdef subclasses of int/complex builtin types (#6346) Do not use type->tp_new under Py_LIMITED_API (GH-6353) Fix CYTHON_LIMITED_API -> __PYX_LIMITED_VERSION_HEX (GH-6363) Fix Limited API usage of PyEval_GetBuiltins() which returns a dict (GH-6362) Fix base class lookup for cdef subclass of int/float/complex user defined types (GH-6360) Fix LIMITED_VERSION version checks (GH-6630) Fix implementation and usage of PyDict_GetItemRef and PyList_GetItemRef (GH-6647) Silence GCC -Wpedantic in C function pointer casts (GH-6636) Silence C unused arg warning when compiling with Py_LIMITED_API Silence C compiler unused var warnings with zero non-positional-only args Silence GCC -Wpedantic in C function pointer casts Binary constants are a C23 feature or GCC extension Loïc Estève (1): Use relative path for depfile (#6345) Luke Hamburg (1): Update shebang in libpython.py (#6439) Lysandros Nikolaou (9): Check for MSVC when checking for complex support on C11 (#5809) Simplify module setup code for nogil/free-threaded CPython (GH-6137) Set up CI for the free threaded build (#6217) Set up uploading non-compiled nightly wheels twice weekly (#6229) Add freethreading_compatible directive to set Py_mod_gil slot (#6242) Unset PYTHON_GIL env variable in freethreading_compatible tests (#6293) Avoid thread unsafe borrowed references under free-threading (GH-6178) Use setup-python for the free-threading CI job (#6483) Add PyWeakref_GetRef to cpython.weakref (#6538) Mads Ynddal (2): Fix indexing of self.args when passing Python object as varargs parameter (#5805) Fix inplace assignment on nested attributes while nogil (#6407) Matthew Feickert (1): CI: Bump scientific-python/upload-nightly-action from 0.5.0 to 0.6.1 (#6416) Matthias Braun (1): Correctly import opaque types in the Limited API (#3694) Matti Picus (6): add tag for numpy in error test, update actions versions (#5985) make tests run on numpy1.x and numpy2.x (#6076) more fixes for tests for NumPy2 (#6100) Do not include CPython 'internal/*.h' files in PyPy (GH-6482) PyPy: fix overstrict regex, allow CYTHON_UPDATE_DESCRIPTOR_DOC (#6592) loosen errmsg regex for PyPy (#6640) Matus Valo (27): Optimize numerical operations with python integer variable (#5785) Remove Py2/Py3.x compatibility code that is not needed in Py3.7+ (GH-5824) Remove patch utility code in Coroutine.c (#5835) [Docs] Provide tables listing basic cython types (#4980) Use `performance_hint()` instead of `warning()` for `boundscheck()` (#5879) Modernise documentation examples (#5878) [Docs] Reorganize and improve documenation of `include_dirs` and `include_path` (#5899) [Docs] Migrate Cython for NumPy users section to pure python (#5913) Add `use_threads_if` parameter to `parallel()` and `prange()` (#5919) Warn about discarting const qualifier (#5987) Warn when function returning python object is marked as noexcept (#5999) Add fixing of warning in 3.0.9 to CHANGES.rst (#6041) Add note about docstring to 'How do I reduce the size of the binary modules' faq (#6050) Move Cython cache to separate module (#6090) [docs] Document Cython cache (#6095) Refactor Cache.py (GH-6117) Use FileNotFoundError instead of OSError (#6149) Do not set exception_check if already set during analyzing pxd file (#6124) Remove forgotten debug prints (#6157) Document examples of arrays of pointers and pointer to array (#6177) Call `__set_name__` during setting type attribute. (#6179) [Docs] Create links to Python/C API (#4881) Fix crash when function contains fused extension type (#6204) Docs: Migrate several sections of "Unicode and passing strings" tutorial to pure python (#6286) [Docs] Fix sphinx build warnings, improve C expressions (#4878) pyximport: Search also pythonpath when searching for .pyx/.py file (#6315) Fix broken link in documentation Michael J. Sullivan (1): Fix & on 0 produced by int.from_bytes on Python 3.10 (GH-6481) Michael Man (1): Fix segfault on zero-length slice assignment on memoryview (GH-6230) Min RK (1): cython magic: extract style, body, not full HTML document (#5760) Moritz Groß (1): Fix outdated URL for packaging tutorial (#6680) Nathan Goldbaum (6): Enable vectorcall on nogil build (#6147) Re-enable CYTHON_USE_PYLONG_INTERNALS and CYTHON_USE_PYLONG_INTERNALS for the nogil build (#6155) Add bindings for Py_REFCNT and use it in tests and docs (#6152) Always skip the multithreadded common_include_dir test on MacOS (#6153) replace quansight-labs/setup-python with actions/setup-python (#6758) Fix typo in free-threading guide (GH-6817) Oscar Benjamin (1): Output import-relative paths in generated C code. (GH-6341) Patrick Kunzmann (1): Fix broken rendering of PEP link (#6109) Raffi Enficiaud (1): C++ complex class fixes and tests (#6040) Robert Bradshaw (1): Fix callback example. Rostan (1): Cast non-PyObject return values in __Pyx_TraceReturnValue invocations (#6422) Sam Gross (1): Don't include pycore_lock.h (#6425) Somin An (1): Add c++11 emplace functions to deque.pxd (#6159) Stefan Behnel (368): Cut off 3.0.x branch and set master version to "3.1.0a0". CI: Remove all Python<3.7 jobs from CI and wheel builds. Remove official support for Py<3.7 from master branch. Fix a C preprocessor condition that prevented calling PyCFunction_CheckExact() instead of PyCFunction_Check() in Py3.9+. Remove Py2/Py3.[3456] legacy support (GH-5801) Optimise Py_UCS4.isprintable(). Fix test data. PyPy lacks support for Py_UNICODE_ISPRINTABLE(), so implement it manually (and without error checking as PyPy would also do it). PyPy lacks support for Py_UNICODE_ISPRINTABLE(), so implement it manually (and without error checking as PyPy would also do it). docs: Add a note that profiling and tracing are non-functional in CPython 3.12. Remove unused import. Fix "float(std::string)" and other non-PyObject arguments to float(). Avoid conditional branching in the __Pyx__PyBytes_AsDouble_Copy() helper function. Add a test for optimised "float(unicode)" parsing of non-ASCII digits. Add tests for optimised "float(unicode)" parsing of non-ASCII digits when auto-decoding is enabled for C strings. Write Python 3 code in Lexicon generator. Regenerate Lexicon from Python 3.13a1 unicodedata. Remove the redundant coverage build (we have separate "pycoverage" and "cycoverage" jobs). Remove legacy _pyximport2.py Fix crash on undefined variable. Make language level 3 the default (GH-5827) docs: Clarify the warning about "Py_UNICODE" usage and make it more visible. Map Python "int" type to PyLong. (GH-5830) Infer the result type of builtin numeric binary operations (GH-5844) Use a type specific len() check function for sequence unpacking. Speed up fstrings by avoiding a tuple for joining the unicode string parts. (GH-5866) Implement return type inference for methods of builtin types (GH-5865) Update the list of authors in the package meta data to reflect the current project status. build: Do not generate a universal py2+py3 wheel but only one for Py3. Set the encoding used in EndToEnd tests to UTF-8 on all platforms since we read it from a pipe anyway and don't want to care about platform specific encoding issues. Make the time reporting in EndToEnd tests correctly map cython/cythonize script calls to the "etoe-build" stats bucket instead of the generic "etoe-run" category. Add separate macro guard "CYTHON_ASSUME_SAFE_SIZE" (GH-5882) Replace "Py*_Size() == -1" failure checks with "< 0" to indicate to the C compiler that a valid size is not negative. Fix function name. Guard PyUnicode_GET_LENGTH() usages by CYTHON_ASSUME_SAFE_SIZE (GH-5890) Fix sys.version_info check. Add missing Cython macro guard definitions to the NOGIL-CPython platform section. Guard all usages of "__pyx_vectorcallfunc" with "CYTHON_VECTORCALL || CYTHON_BACKPORT_VECTORCALL". Disable "CYTHON_METH_FASTCALL" in nogil-CPython because it also requires "CYTHON_FAST_PYCALL" to be enabled in order to make use of the vectorcall protocol. Fix an "#if" guard indentation to align with its "#else" and "#endif". Avoid unused "enumerate()" in loop. Remove an unused import. Refactor the pipeline debug code to avoid a useless use of exec(). Refactor "FindInvalidUseOfFusedTypes" from a transform into a simple TreeVisitor since it doesn't actually transform anything. Fix "compile all" mode. Update changelog. Add tests for Unicode identifiers in typedefs and fused types. Use str.isascii() instead of a slower trial encoding (which was needed in Py<3.7). test runner: simplify unittest module importing. test runner: simplify doctest module importing. test: work around docstring changes in Py3.13. test: work around builtin changes in Py3.13. Improve optimisation of "dict.pop()" (GH-5911) Minor code cleanups. Provide better assignment failure diagnostics for typedef target types by printing their resolved type. Cleanups in master branch (which actually uses C99, not C89). Clean up a few temporary variables in Shadow.py and add a warning when users access 'cython.gs'. Extract a list of fixed-sign integer types and reuse them where possible. Fix parsing of "longlong" etc. after the last change, i.e. Python style type names without spaces. Update changelog. Build: Let cibuildwheel decide itself which wheels to build. Extend and clean up test. Remove dead code. Minor code cleanup. Add some .gitignores. gitignore: Exclude more coverage output files. Improve some builtin return types to match Python 3. Refactor: Extract a common variable. Add test from https://github.com/cython/cython/issues/4829 Fix a test for Py2 source semantics. Reimplement "Dependencies.strip_string_literals()" (GH-5994) Use literal exception values instead of strings where possible. (GH-5912) Build: Upgrade cibuildwheels to fix a build problem on windows. CI: Use latest PyPy 3.9/3.10 releases instead of outdated ones. Make sure we include utility code requirements in the generated "module_api.h" files. Remove dead code from test. Adapt cpython/time.pxd for Py3.13a4. Shrink the data size of the strings table with better struct packing. Fix utility function guard for "__Pyx_PyModule_GetState". Reduce the code size of the module state clear/visit functions by marking them as "small code". Use standard C int for bitsets, rather than non-standard char. Disable pstats tests also in 3.13 as long as they wait for a new C-API in CPython. Update master changelog. Minor code cleanup. Rename a helper function to make it easier to grep. docs: Update FAQ about large module sizes. Minor code simplifications. Reword some FAQ entries. Disable gcc warnings/errors about wrong self casts in final function calls (GH-6039) Reduce the overhead of creating the function code objects at module init time (GH-6055) Remove a Py2/3 legacy mapping and replace it with a simpler renaming map. Use more f-strings. Silence a clang compiler warning about unreachable code. Silence a clang compiler warning about unreachable code. Remove useless and irritating C block indentation. Move list of builtins from Symtab.py into Code.py, next to the list of version specific builtins. Update changelog. CI: Pin Numpy<2 in test dependencies. Add new builtins from Python 3.13a5. Update test_exceptions.py from CPython 3.13a5. Avoid a literal 1/0 in tests since MSVC rejects it. Update changelog. Use functools.cache/lru_cache instead of our own cached function implementation. Fix coverage tests by re-adding the 'cached_function.uncached' attribute to access the original, uncached function. Exclude some internal names from the compiled Cython.Utils module. Cleanup: Use annotations instead of type overrides in pxd files (GH-5907) Fix "minimal" compilation: Parsing.py needs "Scanner.position()" to be available as Python method when it's not compiled itself. Remove trailing whitespace. Remove an unused import. Cleanup: Remove trivial constructor. Remove Py2 legacy test code. Remove some Py2-isms. Add type slot "tp_versions_used" that was added in Py3.13a4. Test runner: Avoid rebuilding the refnanny if it can already be imported. Fix a C compiler warning about implicit sign conversion. Avoid 'unreachable code' warnings in clang. CI: Stop using deprecated macos-11 job images, but still target 11.0 (instead of 10.5, which is also legacy). Fix a comment. Remove outdated comment. Adapt CPython compatibility test to new error message in Py3.13. Use the new large PyLong conversion functions in Py3.13. (GH-5997) Avoid C compiler warning about unused argument in PyPy. Add Py3.13 support in cpython/time.pxd (GH-6187) Simplify the merge_template_deductions() reduction function. Assure deterministic ordering in error message. Change a useless no-op check to what was probly intended: avoid showing an arbitrary (and potentially misleading) error message when there's more than one mismatch and instead show a generic message. Improve comment. Make the refnanny only (try to) acquire the GIL if we don't have it already. Fix codespell issues. Remove dead Py2 code. Test runner: Do not hide errors just because we expected warnings or performance hints. Enable some old non-Py2 tests. Move more generated init code after user code (GH-6273) Fix module cleanup for global memoryview slices. (GH-6276) Avoid traversing constants with Py_VISIT() (GH-6277) Rename PyInt_* usages to PyLong_* and separate the meaning of __Pyx_PyNumber_Int/Long(). (GH-6278) Refactor code to avoid reassigning to 'self'. Looks like the Py3.13 builtin 'IncompleteInputError' was renamed to '_IncompleteInputError'. See https://github.com/python/cpython/issues/119521 Clean up "c_string_type" and "c_string_encoding" for Py3 (GH-6283) Avoid a bit of overhead in the test runner. Use PyList_Extend() in Py3.13. Avoid parsing Tempita templates multiple times by caching the parsed templates on first use. Use an f-string. Use f-strings. Discard in-tests against empty sequences if they have no side effects. (GH-6292) Fix merge artifact. Add note to github issue templates. Use fastcall protocol for frozenset() and unbound method calling. Update changelog. Update changelog. Docs: Make the Cython tutorial page easier to get into, given the two syntax variants. Refactor coroutines to make use of "am_send" (new in Py3.10 and backported) (GH-4585) Build: Use a hex value for the Limited API version macro instead of an unreadable decimal value. Update changelog. Remove Py2 test code. Remove legacy PyInt related C-API declarations. Fix string literal. Fix f-string format. Remove unused label. Apply tag excluders also to srctree tests. Remove dead comment. Remove stray "return" from void function. Implement 'c' (Unicode character) format for f-strings (GH-6342) Change casts to avoid C conversion warnings. Avoid CYTHON_FALLTHROUGH markers in switch statements where the case-code does not fall through. Revert "Avoid CYTHON_FALLTHROUGH markers in switch statements where the case-code does not fall through." Implement PEP-669 sys.monitoring support (GH-6144) Remove some Py2 code. Remove an incorrect left-over decref that used to be needed but now risks deallocating a constant in use. Change C code encoding from Latin-1 to UTF-8 (GH-6349) Silence a "dead code" warning in clang. Test runner: Print pending shards in time stamper thread. Remove usages of SHA-1 which is excluded by some Python installations due to being insecure. (GH-6354) Tests: Avoid "libc.malloc()" in "mockbuffers.pxi" in favour of the more usual "PyMem_Malloc()", which also tends to be a little faster for small amounts of data. Tesst: Use a list comprehension. Use forward slashes in include file paths to the common include directory (GH-6355) Minor code cleanup. Remove overhead from PyxCodeWriter (GH-5214) Build: Disable scheduled wheel builds on forks. Add utility code macro "EMPTY(bytes|tuple|...)" (GH-6351) Add comment. Faster chunk indentation in PyxCodeWriter (GH-6358) Use PyxCodeWriter indentation feature in dataclasses (GH-6359) Remove unused import. Avoid a risk of unordered line numbers in the line table if code is injected from different sources or source tree modifications. Extend test. A little more typing in Parsing.py. Give cdef functions the same position and first line number as def and @cfunc functions (GH-6369) Reduce overhead in refnanny. Minor code cleanups and comments. Update changelog. Update changelog. Tests: Allow byte strings in tree assertions. Attempt compile time encoding/decoding when using str.encode() on literals. Fix last commit. Remove Py2 'str' type (GH-6374) Delete Py2 "cpython.string" declarations Update changelog. Update documentation of 'language_level' option. Optimise constant f-strings and constant builtin method calls (GH-6383) Update changelog. Rename a method argument to avoid a double negation. Give slot functions a "funcstate" if needed and use a dedicated helper method for generating their signature consistently. (GH-6386) Give the binop slot function generation also a funcscope. Add github contributing file. Fix compile error in GraalPython. Fix missing initialiser in PyMemberDef struct. Fix crash in Limited API where "exc_state" is apparently still (type+value+tb). Move the set of reserved C keywords to Naming.py and add the known reserved C++ keywords. Update both sets to the C(++)23 standards. GH-2983: Add tests for "Signature.from_callable(lambda)". Support "cython.const[base_type]" and "cython.volatile[base_type]" in Python code (GH-6398) Update changelog. CI: Allow failures in GraalPython as long as it constantly fails. Fix dict assignment to reserved struct member names. Build: Upgrade cibuildwheel to latest. CI: Upgrade some versions: stop using EOL macos-12 build image, use more recent Ubuntu build image 22.04, use less old GCC-10 and GCC-13 for tests, use final Py3.13 release version. Fix character replacement in utility code C strings. Make regex more readable. Make sure the object cname in CALL_UNBOUND_METHOD() macro usages does not contain spaces. Prevent compilation in Py3.7. Update changelog. Prepare release of Cython 3.1.0a1. Build: Disable wheel build for Py3.7. Format changelog. Split the PyLongBinop utility function into shorter type specific functions to allow inlining the type dispatch and eventually doing it at translation time if possible. Fix some C compiler warnings. Fix a crash when calling the optimised sorted() by using a dedicated "SortedListNode" for this simple code injection. (#6497) Prevent crash when method call fails and use simple refcounting code in __Pyx_GetCurrentInterpreterId(). Remove dead Py3.7 code. Avoid useless copy. We only ever modify the current index, not anything we still need for the iteration. Reinstate the no-op `NoneCheckNode.analyse_types()` after removing it in https://github.com/cython/cython/commit/ad7c92ffbe2562019bab1a07d5ab0b63c6f67202. It seems still necessary. Minor code simplification. Avoid needlessly nesting compiler directive nodes. Refactor "with cython.nogil" handling into a separate method to keep the directives loop cleaner. When tracing C return values, allow the Python coercion to fail since the value might not be valid. (GH-6537) Fix incorrect type usage. Extend pycomplex tests. Update bug link in comment. Fix C compiler warning in test about uninitialised variable usage. Test runner: Print the "extra directives" as part of the test name. Minor code cleanups. Test runner: Add missing code but comment it out for now since it triggers test crashes. Fix test setup for "cpp_locals" (GH-6370) Update changelog. Try to speed up ARM wheel builds by using the dedicated ARM buld image instead of QEMU. CI: Add Py3.14 test jobs. CI: Allow Py3.14 test failures for now (because at least one test crashes). CI: Use Ubuntu 24.04 images for all "special" build jobs that depend less on the environment. Fix string escape in docstring. CI: Downgrade Python in codestyle job to keep dependencies working. Revert "CI: Use Ubuntu 24.04 images for all "special" build jobs that depend less on the environment." Fix doctest in Py3.14. Try to fix test in latest Py3.14. Fix test in latest Py3.14. Undo change in subinterpreter stress test and disable the test in Py3.14 instead. Integrate tracemalloc into test runner. Update list of unsafe builtin methods for Py3.8+ minimum requirement. Revert "Add sanity check on import for ABI details (#6234)" Fix unicode tests in Py3.14 by freshly copying them from 3.14.0a5. Fix import in subinterpreters test for Py3.14. Update changelog. Increase version to pre-beta. Minor code cleanup. Avoid naming collission in test. Reduce overhead when validating keyword arguments (GH-6684) Implement a compiled 'timeit' variant as "cythonize --timeit" (GH-6697) Update changelog. Try to trigger CPU upscaling in cymeit by repeating the loop autoscaling as a warmup. Timings are currently very unpredictable in CI test runs. Avoid exception normalisation of unused exception instances during "except" handling (GH-6602) Add comment. Use "NULL" instead of an arbitrary argument array pointer for no-args vectorcall. Simplify for-loop C code. Improve critical sections in CyFunction (GH-6606) Add debug helper code for tracing Entry type assignments. Reorder CTuple-to-PyTuple utility code to streamline item extraction and tuple creation. Allow 'or' in TreePath expressions. Simplify the predicate implementation. Minor code modernisations. Allow disabling tree assertions in tests to force C code generation despite tree path failures. Fix config validation in "CompilationOptions.get_fingerprint()". Update changelog. Fix the condition that prevents optimised method calls when passing "**kwds". It previously also deoptimised the case that no keywords are passed. Add benchmark runner to CI that compares different Cython revisions (GH-6733) Add more benchmarks. Fix code style. Add fast paths to async utiltiy functions (GH-6732) Add more benchmarks. Add another benchmark. Error out in benchmark runner when selecting leaves no benchmark to run. CI: Remove debug output. Delete unreliable benchmark that highly fluctuates. Include plain Python in benchmark runs. Avoid useless code overhead in benchmark loop. Allow using 'perf' and 'callgrind' from the benchmark runner. Inline the vectorcall function lookup to avoid the C-API call and add a CyFunction fast path (GH-6736) Benchmark runner: Fix "--with-python" together with profiling. Print Python version in benchmark output. Benchmark multiple Python versions. Avoid a performance panelty in CPython 3.12/13 when creating a StopIteration (GH-6738) Add richards scheduler benchmarks that exercise extension types and Python classes. Add fstrings benchmark. Avoid useless object conversion in fstring benchmark. Make 'perf' output from benchmark more readable. Make global module state variable explicitly 'const'. Add comprehensions benchmark. Add an arbitrary baseline revision to the benchmark runner before we started working on the optimisations. Include Limited C-API in benchmark runner. Rename and modernise spectralnorm benchmark. Do not integrate it with the benchmark runner for now since it doesn't feel like it adds much. The untyped version uses lots of unknown object operations and the typed version lots of plain C operations. Optimise divmod() for all C integer types (GH-6717) Optimise chaos benchmark a little to avoid useless overhead. Include the HTML annotations in the benchmark runner when profiling the benchmarks. Use vectorcall when calling known builtin/ext types (GH-6744) Deprecate "numpy.math" (GH-6743) Avoid useless overhead in benchmark. Silence C compiler warnings about constant conditions. Fix a signedness C compiler warning. benchrunner: Show difference between median revision timings as percentage. Benchrunner: List largest differences in all benchmarks at the end. Benchrunner: Try to get more reliable timings by auto-scaling the benchmark run length. Changes the absolute timings in several cases but should make them more accurate and understandable. Fix typo in comment. Make the "common_utility_include_dir" feature more robust against concurrent directory access on Windows. Restore some C-API calls that were removed in Py3.13a1 but came back afterwards (GH-6761) Benchmark runner: Fix printing negative time differences. Extend test to cover also https://github.com/cython/cython/issues/3056 Allow setting "cimport_from_pyx" option in parse stage. Revert "Allow setting "cimport_from_pyx" option in parse stage." Disable a useless fstring test that only tested CPython and now fails in Py3.14. Fix test failures due to different type repr in Py3.14. Fix test in Py3.8/9. Update changelog. Prepare release of 3.1.0b1. Make cymeit timer check another little less likely to fail. Start adding micro-benchmarks for Cython language features. Python on Windows sometimes raises PermissionError instead of FileExistsError. Add compile test for GH-6800. Reimplement the divmod() optimisation for C types using dynamic code generation (GH-6801) Update changelog. Namespace-only named cpdef enums (GH-6382) Reestablish the original signature of "cythonize_one()" by moving the new "cache" argument to the end and making it (and a few others) optional. Update changelog. Clean up ".is_temp" vs. ".result_in_temp()" usage. Basically, "is_temp" is for class-internal usage regarding the temp result allocation etc., and "result_in_temp()" is for asking is the node result is in a temp (for whatever reason). Add Cython benchmark for unpacking the Cython memoryview wrapper. Remove FutureWarning about "language_level=3". I think users got the message often enough during the 3.0 lifecycle. docs: Use pip for readthedocs build to fix setuptools failure. Improve type finding and float coercion of IntNode literals. See if the latest benchmark addition made the benchmark runs fail in CI. Prepare release of 3.1.0 rc 1. Build: Avoid Python setup overhead for the nightly wheels since we only upload a plain Py3 wheel (and no binary wheels). Build: Remove Py3.7 compatibility marker. Fix access to cimported functions through fully qualified package names. docs: Add a "pure" section showing a simple shadow module replacement. docs: Refer to "cython.cimports" mechanism from pure "tips and tricks" section. Let variables declared with builtin exception types accept any subtype (GH-6831) Update changelog. Benchmark runner: Show module size differences in percent. Benchmark runner: Do not suggest more accuracy in benchmarks than there is. Benchmark runner: Show average size changes per revision at the end. docs: Update some documentation bits. Update changelog. Prevent infinite loop in type inference when a variable is named like the type of its value (e.g. list += []). Prevent infinite loop in type inference when a variable is named like the type of its value (e.g. list += []). Update changelog. Update changelog. Automate the shared utility module generation from a setuptools build (GH-6842) Update changelog. Prepare release of 3.1.0rc2. Fix dict tests in Py3.14. Build: Attach current changelog to wheel package description (GH-6846) Prepare release of 3.1.0. Stefano Rivera (1): pyximport: Use relative paths less, and correctly (#5957) Taras Kozlov (1): Fix iteration over cpp input ranges (#6580) Thomas J. Fan (1): Consistently show defaults in Compiler directives docs (GH-6380) Tong He (1): Accelerate divmod() for C int type integers (#6073) Victor Stinner (1): Use new PyCFunctionFastWithKeywords and PyCFunctionFast in Python 3.13a4 (GH-6003) Vyas Ramasubramani (2): Error if Cython enum is used outside a typed context (#5642) Add some more limited API support (#6061) William Ayd (1): Upgrade cygdb from optparse to argparse (#5499) Xenia Lu (1): Fix memoryview type check calling non-existant function (#5988) YoSTEALTH (1): [dpcs] Improve `@dataclass` example (#4866) Yury V. Zaytsev (5): ENH: Restructure libcpp.vector and cover API with tests (#489) ENH: sort libcpp.vector according ISO C++ 2020 draft (N4849) ENH: add `const_iterator` versions of modifiers and `get_allocator()` ENH: Rewrite & cover with tests libcpp.string declarations (#488) Libcpp string reordering (#6632) clayote (1): Fix `IndexError` when stepping the debugger through unindexed C code (#6566) da-woods (267): Add warning about embedding + multiprocessing (#5464) Add tests for some of the contents of Shadow.py (#5778) Fix "except Exception" in limited api (#5699) Use utility-code version of Py_UNICODE_ISPRINTABLE Cleanup a lot of casts to char* (#5515) Remove allowed_failure from Python 3.12 (#5815) Disable failing Windows CyCache test (#5826) Remove tests for WITH_THREAD (#5829) Add missing unicode C API functions and Py_UNICODE warning (#5836) Partially disable trashcan test in PyPy (#5832) Clean up a few more casts to non-const char* (#5847) Drop PyFPE macros (#5841) Further limited API fixes (#5798) Support match_args in cdef dataclasses (#5381) Fix dataclass comparison operators and enable tests (#5857) Note on pure-Python mode and Numpy arrays (#5867) Document user-selectable C macros (#5864) Avoid writing non-latin1 module names in the file (GH-5874) Delete some Python 2 module init function code (GH-5875) Clarify performance hint wording (#5883) Fix dataclasses __init__ from field with default and no-init (#5858) Get all Plex/*.so modules to build in the Limited API (GH-5846) Disable flakey line_trace test on Py3.12 windows 3.12 (GH-5891) Make __Pyx_PyObject_ToDouble() work in the Limited API (GH-5888) Fix exec() in the Limited API by calling the builtin function instead (GH-5886) Disable all freelist code outside CPython and add a new guard "CYTHON_USE_FREELISTS" for it (GH-5885) More Python 2 removals (GH-5869) Remove old Python 2 cpython pxd files (GH-5870) Make several C-API macro usages robust for the Limited API (GH-5845) Fix an issue trying list.index indexing in FusedNode (#5896) Fix __repr__ for BuiltinObjectType (#5897) Fix some exceptions in the unicode cimports (#5902) Document CYTHON_ATOMICS (#5900) Fix conflicting enum to_py function with multiple modules (#5887) Remove unused Entry.pep563_annotation (#5909) Fix await/yield/yield from in genexpression iteration (GH-5898) Fix utilitycode generation for const fused typedef (GH-5233) Fixes an address-sanitizer issue in parallel sections (GH-5922) Add extra info on annotation inexact type (#5915) Revert "Fix error in auto-completion in Cygdb (#5924)" Fix parsing of ptrdiff_t in PyrexTypes and add another "all types in Shadow.py?" test (GH-5938) Fix types in cpdef_extern_func (#5940) Use vectorcall by default (#5804) Force closing gzip file in TestCyCache (#5945) Try disabling gc for line-trace tests (#5947) Don't use contextlib in TestCyCache Update doc requirements and pin them to recent versions (#5946) Improve message when exception values don't match (#5916) Drop main Numpy include (#5842) "is_extern" -> "is_external" (#5978) Fix some more duplicate enum to_py utility code names (#5905) "failed to import" warning once per cpdef enum (#5941) Modified "pretend_to_initialize" for c++ (#5920) Explicitly set exception cause in __Pyx_Generator_Replace_StopIteration (#5963) Handle platforms where sizeof(funcptr) != sizeof(void*) (#4698) Parse structural pattern matching (#4897) Fix call of final fused cdef functions (#6005) Fix typo in assertion (#6010) Move Py_UNICODE out of universal utility code (#6006) Refactor stringtab generation to reduce code size and compile time (GH-6018) Fix a typo in vectorcall code (#6016) Fix PyImport_AddModuleRef on the limited API (#6024) Tighten the constness on some string arrays (#6032) Fix (most) unused variable warnings about clineno (#6035) Add __Pyx_PyList_pack function (#6030) Initialize code objects with loop over table (#6028) Mention `binding` in the size faq (#6047) Declare tuple/slice/other constants in arrays (#6048) Typo "classs" Cleanup of SetItemInTypeDict (#6031) Avoid "unused argument" warning on Py3.7 (#6057) Avoid unpacking method calls at top-level class scope (GH-6054) Avoid using strings for exception_value of func_type (#5710) Clean up the different cline traceback options and make them interact more clearly (GH-6036) Make UtilityCode.__eq__ account for "init" section (GH-6065) [docs] Avoid warnings for orphan, underline too short Change a "char *" to "const char*" in import code (#6101) Move some "early inline" code behind "include 'Python.h'" to make it usable (GH-6017) Reduce cap length of cnames generated from long function argument lists (GH-6104) Improve performance hints for nogil + pxd (#6088) Make C++ conversion lengthhint limited-api friendly (GH-6108) Remove unused function from Parsing.py (#6131) Change CyFunction defaults to a PyObject (#4673) Fix typo in defaults as class (#6133) Always add binops to methoddef (#5868) Fix behaviour of __class__ special variable (#4094) Make limited API object==float work (#6098) [docs] Fix link in embedding docs Warn on use of the old Py2 buffer protocol (#6175) Fix bytes startswith/endswith with nonbytes argument (#6168) Documentation of old buffer syntax options (#6181) Update documentation refcounting example (#6180) Make classmethod work in limited-api (#5800) Categorise memoryview tests (#6167) Fix write unraisable followed by interpretter shutdown (#6089) Try to improve parallel in free-threading (#6199) Rename to "CYTHON_COMPILING_IN_CPYTHON_FREETHREADING" (#6213) Support weakref in limited api cdef classes (#5840) Get basic generators running in Limited API (#5843) Remove some more unused Py2 code (GH-6233) Copy py_limited_api attribute of setuptools extension (#6246) Always treat cppclasses in C++ mode (#6235) Fix memoryview test line number Remove unused variable Improve reporting distutils LinkErrors (#6255) Fix use of __Pyx_TEST_large_func_pointers (#6237) Make modulestate option in limited API (#6267) Fix cython_inline and locals on Python 3.13 (#6265) malloc -> PyMem_Malloc in MergeVTables (#6266) Fix test_dataclasses for Python 3.13 (#6262) Fix CPython and AVOID_BORROWED_REFS (#6163) Enable vectorcall on limited api cyfunctions (#6259) Code object caching for limited API exceptions (#6261) Fix PyInteger / float division (#6195) Change hasattr() to Python 3 behaviour, propagating exceptions (GH-6269) Fix PyList_Extend limited api Compile Cython in the limited API (#6260) Add sanity check on import for ABI details (#6234) Make fused ctuples work (#6086) Simply macros to enable Limited API mode (#6296) Work around missing PyImport_GetModule in graalpython (#6299) Visit type in traverse (heap types) (#5889) Move ufunc type deduction to C compile time (#6196) string/iter/shutdown limited API fixes (#6169) Remove CYTHON_USE_ASYNC_SLOTS (#6300) Freethreading documentation (#6298) Document Limited API support (#6297) GraalPython fixes taken from their patch (#6301) Remove Py2 only __cmp__ (#6309) Optimize child_attrs property on non-CPython (#6310) Avoid reassigning child_attrs (#6311) Add GraalPython to CI (#6308) Add a few more graal tests to the bugs list Limited API call speed improvments (#6281) Remove GenericGetAttr utility code (#6324) Make SetItemOnTypeDict more robust in Limited API (GH-6325) Fix non-uniqueness of placeholder fused ctuple cnames (#6330) Replace format with fstring Allow update_cpp_extension to specifiy a higher standard (#6377) Fix missing flow control for assignment expression (#6120) Refactor module state access to avoid more global C state (GH-5323) Probably fix freethreading build (#6388) Fix cpp_locals code generation with unused expressions (#6375) Disallow cpp_locals and boolean binary operators (#6376) Revert "Better fix for exception specifications from pxd in legacy_implicit_noexcept (#6343)" Don't override Options._default_directives in runtests (#6419) Limited API fixes based on compile tests (#6136) Add a separate script that just runs code style tests (#6092) Move some static globals to module state (#6431) Fix refcounting of default arguments with CYTHON_AVOID_BORROWED_REFS (#6130) Fix ref counting of assignment expression memviews (#6436) Pick a few small fixes out of #6226 (GH-6470) Fix Pythran (#6494) Turn off module state for Limited API (#6469) Change GetItem function Get module-state working on multi-phase init (#6463) Remove old PyPy2 workaround in FusedNode (#6512) Skip limited API tests on freethreading build (#6509) Document CYTHON_CCOMPLEX (GH-6517) Make access fused access to ndarray thread safe (GH-6507) Fix an issue with fused dispatch on freethreading (GH-6508) Move "PyUnstable_Module_SetGIL()" out of "#if MODULE_STATE" (GH-6510) Implement "cython.critical_section" context manager (GH-6516) Disable some parallel tests in freethreading Python (#6522) Change calculation of "unreachable" for double dealloc test (#6511) Remove unnecessary allow_failures (#6549) Improve limited API name formatting... (#6544) Enable a bunch of Limited API tests (#6543) Enable Limited API run tests (a-d) (#6563) Enable Limited API run tests (e-o) (#6564) Enable remaining Limited API run tests (#6567) Make calling inherited slots work in the limited API (#6568) Fix lockup of builtins in Limited API (GH-6573) Switch refnanny to PyMutex on freethreading (#6574) Test requirements jupyter->ipython (#6584) Fix graal code object errors (#6415) Fix some Limited API bytearray issues (#6570) Fix Limited API multiple inheritance (#6571) Fix inlined calls of functions with closures with binding=False (#6558) Get coroutines working in Limited API (#6569) Work around Limited API PyGILState_Check (#6572) Skip some exception handling work on Python 3.12+ (#6599) Remove some Py3 checks (#6600) Avoid globally allocated mview locks in freethreading (#6583) Make generators thread safe (#6530) Disable test on PyPy Add critical sections/thread safety to CyFunction accessors (#6582) Remove unused label (#6612) Re-enable subinterpreters tests (#6611) Add libc and libcpp mutex libraries (#6610) Fix comment explaining exception handling issue Add thread safety around PyDict_Next (#6589) Spelling Thread safety for list slice (#6591) Dict_GetItem thread safety (#6590) Fix spelling errors Test on Arm64 (#6619) Add critical_section decorator (#6577) Update freethreading check in tests (#6627) Avoid Py_UNICODE deprecation warning for arrayarray (#6608) Fix missing initializer warning Remove unused "in_try_finally" attribute from funcstate (GH-6642) Add type-inference to prange target (#6585) Fix GetSet function definition for coroutine ci_running (#6639) Improve code-gen for critical_section error path (#6638) Enable a few more Limited API tests (#6643) Enable Limited API in srctree tests (#6649) Check that we have compiled coverage for tests (#6660) Stop Cython compiling itself in freethreaded builds (#6659) Fix multiprocessing usage in common_include_dir test (GH-6670) Allow cimport of cpython in the limited API (#5871) Fix subinterpreters test in 3.14 (#6674) Enable a bunch of Limited ABI cimport cpython tests (#6675) Make traceback frame cache thread safe (#6665) Enable one more "cimport cpython" Limited API test (#6687) Define buffer typeinfo structs as const (#6699) Some profiling/monitoring code object changes (#6703) Add a missing "const" in memoryview code (#6708) Disable monitoring in parallel/prange (#6709) Make CachedCFunction mechanism thread-safe (#6669) Change all utility code types to be heap-types/type-specs (#6634) Fix limited API slice and uchar (#6689) Revert "Handle platforms where sizeof(funcptr) != sizeof(void*) (#4698)" (GH-6637) Avoid clang warning about uninitialized members in unbound method code (GH-6713) Remove Python 3.7 Limited API exception handling code (#6719) Add missing incref in code object cache (GH-6721) Add missing incref in code object cache (GH-6721) [Docs] Hints/guidance for thread-safety (#6707) Fix multiprocessing usage in common_include_dir test (GH-6670) Avoid raising StopIteration from iternext (GH-6735) Get async generators working on the Limited API (GH-6715) Enable multi-phase init for Limited API by default (#6690) Let vectorcall use space allocated for self (#6742) Speed up method calls with PyObject_VectorcallMethod (GH-6747) Remove unused coroutine code (#6772) Use optimized GetAwaitableIter function (GH-6771) Fix logic for c_safe_identifier to extension types (GH-6679) Update definition of critical_section in Shadow (#6749) Fix a possible race when setting up the common types (GH-6777) Allow the user to declare subinterpreter support (#6513) Have the benchmark runner report compiled file sizes (#6780) Fix __Pyx_Owned_Py_None usage as actual function (GH-6782) Fix utility code passing context to requirements (#6776) Enable no-copy optimization on Limited API (#6788) Add wrappings for C++20 thread synchronization functions (#6625) Fix bug with generator expression scope and sequence constructors (#6792) Fix UnboundLocalError with non-ascii names (#6802) Fix formatting of a link in the docs (#6803) Wrap C++ std::future and std::exception_ptr (#6731) Simplify __Pyx_PyType_Ready for single inheritance case (#6789) Fix a couple of issues with "__Pyx_Coroutine_get_frame()" (GH-6773) Take CO_* from "inspect" in Limited API (GH-5799) Add cython.pymutex (GH-6579) Small correction to changelog (GH-6814) Silence a couple of warnings from coroutines (#6816) Fix invalid C code generation with unicode cpdef args (GH-6813) Fix placement new of c++ class typedefs (#6822) Add freethreaded dev version of Python to the CI (#6824) Remove unused original_sig attribute (GH-6825) Avoid making DictNodes with reference types (GH-6812) Add c++ std::stop_token to library wrappings (#6820) Some small bugfixes to call_once (GH-6832) Better fix for type of variable named after type (GH-6837) [Docs] Stop describing Limited API as experimental (GH-6840) Refcounting error in class cells (GH-6839) Fix handling of cpp_locals exception in nogil (#6838) Fix handling of >10 default arguments (GH-6844) eewanco (1): Tolerate and escape globbing characters in sys.path (#5956) etymology (1): update no-compile install from source (#5819) gentlegiantJGC (1): Fix distutils sources syntax (#5966) h-vetinari (1): remove empty `limited_api_bugs_310.txt` (#6596) jakirkham (1): Use `memoryview` type in `cpython.memoryview` (#6412) maleo (4): Improve Bazel support Format rules.bzl Use cc_binary instead of cytonize.py to compile generated CC code Use rules libraries instead of deprecated native ones mv-python (17): Implement `typing.Union[XYZ, None]` similar to `Optional[XYZ]` (GH-6333) Document `Union[tp, None]` (#6389) Implement optional annotation type `tp | None` (GH-6390) Document Union[] and bitwise or (#6402) Fix case when `typing.Union[...]` contains multiple nested types (#6395) Docs: use `pointer[]` instead of `pointer()` in annotations, improve type qualifiers section (#6408) Move ctuple related tests to pure_ctuple.py (#6414) Remove code specific to unsupported python versions (#6417) Docs: Mention that setuptools now supports extensions (#6495) Add compilation cache to cython command (#6091) Fix example in fusedtypes (#6541) Add support of global const variables (#6542) Add `get_file_handle()` to `FileSourceDescriptor` (#6641) Template forgotten name in MemoryView.pyx (#6645) Generate and use shared library for MemoryView Utility code (GH-6728) Docs: Fix broken Shared utility module chapter (#6775) Add support of shared utility to BufferFormatFromTypeInfo (#6770) rathaROG (1): Mention Python 3.13 support in the `classifiers` in setup.py (GH-6365) samaingw (1): Improve method inheritance in cppclass (#3235) user202729 (3): docs: Mention get_ipython_cache_dir() instead of IPYTHONDIR for %%cython cell cache location (GH-6796) docs: Update Sage Notebook instructions in quickstart build (#6797) Make embedsignature work for special methods (GH-6764) 谭九鼎 (1): fix re pattern escape (#6248) 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) (2): Correct RST markup @ `source_files_and_compilation` doc (#6550) Stop suggesting depending on `wheel` in PEP 518 config (#6548)
#113745 added a new built-in exception
IncompleteInputError
, but it is not mentioned anywhere in the docs (except in the auto-generated list of classes) or in the What's New. It should be documented. cc @pablogsalLinked PRs
PyAPI_DATA
, notextern
, for_PyExc_IncompleteInpu…tError
#120955The text was updated successfully, but these errors were encountered: