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 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 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 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 {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: > 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.find_module(...) *python-find_module*
vim.path_hook(path) *python-path_hook* vim.path_hook(path) *python-path_hook*
vim.find_spec(...) *python-find_spec*
Methods or objects used to implement path loading as described above. 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 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 in case you need to do something with sys.meta_path, vim.find_spec()
guaranteed that any of the objects will exist in the future vim is available starting with Python 3.7.
It is not guaranteed that any of the objects will exist in future vim
versions. versions.
vim._get_paths *python-_get_paths* 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-examples if_pyth.txt /*python-examples*
python-fchdir if_pyth.txt /*python-fchdir* python-fchdir if_pyth.txt /*python-fchdir*
python-find_module if_pyth.txt /*python-find_module* 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-foreach_rtp if_pyth.txt /*python-foreach_rtp*
python-input if_pyth.txt /*python-input* python-input if_pyth.txt /*python-input*
python-options if_pyth.txt /*python-options* python-options if_pyth.txt /*python-options*

View File

@@ -7325,12 +7325,11 @@ populate_module(PyObject *m)
return -1; 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"))) 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); ADD_OBJECT(m, "_find_module", py_find_module);
} # endif
Py_DECREF(imp); Py_DECREF(imp);

View File

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