diff options
author | Yee Cheng Chin <ychin.git@gmail.com> | 2023-10-17 10:38:11 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2023-10-17 10:38:11 +0200 |
commit | 396058acd0cc66e5071d052e03d2067b134952af (patch) | |
tree | 1569de6fb38ad992152589d8637ba775e9051542 /src/cmdexpand.c | |
parent | 8f4fb007e4d472b09ff6bed9ffa485e0c3093699 (diff) |
patch 9.0.2036: if_python: rework python3.12 build dependencyv9.0.2036
Problem: if_python: rework python3.12 build dependency
(after 9.0.1996)
Solution: use PyTuple_Size instead of inlining the Py_SIZE
into the Vim code base
Use a simpler fix for Python 3.12 build issues
Python 3.12 introduced link dependencies to their `Py_SIZE()` inline
function, which #13290 fixed by copying the inline function to Vim's
Python binding code. This works but it's fragile, as a future update may
change the implementation of `Py_SIZE` and there is no way for us to
know.
The reason we need `Py_SIZE` to begin with is that we use
`PyTuple_GET_SIZE()` which calls that. Just fix it by mapping that to
(confusingly similarly named) `PyTuple_Size()`, which we already do in
the stable ABI implementation. There's a minor performance cost in that
it's not inlined and it does error checking but that's fine as we only
call this function rarely (in an error handler).
related: #13290
closes: #13359
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
Diffstat (limited to 'src/cmdexpand.c')
0 files changed, 0 insertions, 0 deletions