0
0
mirror of https://github.com/vim/vim.git synced 2025-09-27 04:14:06 -04:00

patch 9.1.0417: if_py: find_module has been removed in Python 3.12.0a7

Problem:  if_py: find_module has been removed in Python 3.12.0a7
          (@Ghost-LZW)
Solution: Do not include find_module for Python >= 3.12.0a7

fixes: #14776
closes: #14781

Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Christian Brabandt
2024-05-17 18:30:01 +02:00
parent 2e642734f4
commit f0905a8613
4 changed files with 13 additions and 8 deletions

View File

@@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 9.1. Last change: 2023 Oct 25
*if_pyth.txt* For Vim version 9.1. Last change: 2024 May 16
VIM REFERENCE MANUAL by Paul Moore
@@ -343,7 +343,8 @@ In python vim.VIM_SPECIAL_PATH special directory is used as a replacement for
the list of paths found in 'runtimepath': with this directory in sys.path and
vim.path_hooks in sys.path_hooks python will try to load module from
{rtp}/python2 (or python3) and {rtp}/pythonx (for both python versions) for
each {rtp} found in 'runtimepath'.
each {rtp} found in 'runtimepath' (Note: find_module() has been removed from
imp module around Python 3.12.0a7).
Implementation is similar to the following, but written in C: >
@@ -404,10 +405,12 @@ vim.VIM_SPECIAL_PATH *python-VIM_SPECIAL_PATH*
vim.find_module(...) *python-find_module*
vim.path_hook(path) *python-path_hook*
vim.find_spec(...) *python-find_spec*
Methods or objects used to implement path loading as described above.
You should not be using any of these directly except for vim.path_hook
in case you need to do something with sys.meta_path. It is not
guaranteed that any of the objects will exist in the future vim
in case you need to do something with sys.meta_path, vim.find_spec()
is available starting with Python 3.7.
It is not guaranteed that any of the objects will exist in future vim
versions.
vim._get_paths *python-_get_paths*

View File

@@ -9518,6 +9518,7 @@ python-eval if_pyth.txt /*python-eval*
python-examples if_pyth.txt /*python-examples*
python-fchdir if_pyth.txt /*python-fchdir*
python-find_module if_pyth.txt /*python-find_module*
python-find_spec if_pyth.txt /*python-find_spec*
python-foreach_rtp if_pyth.txt /*python-foreach_rtp*
python-input if_pyth.txt /*python-input*
python-options if_pyth.txt /*python-options*

View File

@@ -7325,12 +7325,11 @@ populate_module(PyObject *m)
return -1;
}
# if PY_VERSION_HEX < 0x30c00a7
// find_module has been removed as of Python 3.12.0a7
if ((py_find_module = PyObject_GetAttrString(cls, "find_module")))
{
// find_module() is deprecated, this may stop working in some later
// version.
ADD_OBJECT(m, "_find_module", py_find_module);
}
# endif
Py_DECREF(imp);

View File

@@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
417,
/**/
416,
/**/