]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-128341: Use _Py_ABI_SLOT in stdlib modules (#145770)
authorKarolina Surma <33810531+befeleme@users.noreply.github.com>
Tue, 24 Mar 2026 17:47:55 +0000 (18:47 +0100)
committerGitHub <noreply@github.com>
Tue, 24 Mar 2026 17:47:55 +0000 (17:47 +0000)
commit1887a95f515274868be31b27231dfcbfc055f03c
treeb1086940af46d36d63090661620d3d93c0c2afed
parent119fce7b886384fe9079b95345fa83582c08a577
gh-128341: Use _Py_ABI_SLOT in stdlib modules (#145770)

Rename from _Py_INTERNAL_ABI_SLOT to _Py_ABI_SLOT
and define the macro using _PyABIInfo_DEFAULT.

Use the ABI slot in stdlib extension modules to enable running
a check of ABI version compatibility.

_tkinter, _tracemalloc and readline don't use the slots, hence they need
explicit handling.

Co-authored-by: Victor Stinner <vstinner@python.org>
96 files changed:
Include/cpython/modsupport.h
Modules/_abc.c
Modules/_asynciomodule.c
Modules/_bisectmodule.c
Modules/_bz2module.c
Modules/_codecsmodule.c
Modules/_collectionsmodule.c
Modules/_csv.c
Modules/_ctypes/_ctypes.c
Modules/_curses_panel.c
Modules/_cursesmodule.c
Modules/_datetimemodule.c
Modules/_dbmmodule.c
Modules/_decimal/_decimal.c
Modules/_elementtree.c
Modules/_functoolsmodule.c
Modules/_gdbmmodule.c
Modules/_hashopenssl.c
Modules/_heapqmodule.c
Modules/_interpchannelsmodule.c
Modules/_interpqueuesmodule.c
Modules/_interpretersmodule.c
Modules/_io/_iomodule.c
Modules/_json.c
Modules/_localemodule.c
Modules/_lsprof.c
Modules/_lzmamodule.c
Modules/_multiprocessing/multiprocessing.c
Modules/_opcode.c
Modules/_operator.c
Modules/_pickle.c
Modules/_posixsubprocess.c
Modules/_queuemodule.c
Modules/_randommodule.c
Modules/_remote_debugging/module.c
Modules/_sqlite/module.c
Modules/_sre/sre.c
Modules/_ssl.c
Modules/_struct.c
Modules/_suggestions.c
Modules/_sysconfig.c
Modules/_testmultiphase.c
Modules/_threadmodule.c
Modules/_tkinter.c
Modules/_tracemalloc.c
Modules/_typesmodule.c
Modules/_typingmodule.c
Modules/_weakref.c
Modules/_winapi.c
Modules/_xxtestfuzz/_xxtestfuzz.c
Modules/_zoneinfo.c
Modules/_zstd/_zstdmodule.c
Modules/arraymodule.c
Modules/atexitmodule.c
Modules/binascii.c
Modules/blake2module.c
Modules/cjkcodecs/cjkcodecs.h
Modules/cjkcodecs/multibytecodec.c
Modules/cmathmodule.c
Modules/faulthandler.c
Modules/fcntlmodule.c
Modules/gcmodule.c
Modules/grpmodule.c
Modules/hmacmodule.c
Modules/itertoolsmodule.c
Modules/mathintegermodule.c
Modules/mathmodule.c
Modules/md5module.c
Modules/mmapmodule.c
Modules/overlapped.c
Modules/posixmodule.c
Modules/pwdmodule.c
Modules/pyexpat.c
Modules/readline.c
Modules/resource.c
Modules/selectmodule.c
Modules/sha1module.c
Modules/sha2module.c
Modules/sha3module.c
Modules/signalmodule.c
Modules/socketmodule.c
Modules/symtablemodule.c
Modules/syslogmodule.c
Modules/timemodule.c
Modules/unicodedata.c
Modules/xxmodule.c
Modules/xxsubtype.c
Modules/zlibmodule.c
Objects/unicodeobject.c
Parser/asdl_c.py
Python/Python-ast.c
Python/Python-tokenize.c
Python/_contextvars.c
Python/_warnings.c
Python/import.c
Python/marshal.c