Skip to content

Commit

Permalink
Merge pull request #1312 from vim-jp/hh-update-if_python
Browse files Browse the repository at this point in the history
Update if_python.{txt,jax}
  • Loading branch information
h-east authored Oct 18, 2023
2 parents b36a2c1 + 7fc686b commit e1e62cb
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 4 deletions.
31 changes: 28 additions & 3 deletions doc/if_pyth.jax
Original file line number Diff line number Diff line change
Expand Up @@ -757,9 +757,21 @@ Unix ~

'pythondll''pythonthreedll' オプションを、コンパイル時に
DYNAMIC_PYTHON_DLL と DYNAMIC_PYTHON3_DLL で指定されている Python の共有ライブ
ラリのファイルの、代わりを指定するのに使えます。共有ライブラリのバージョンは
Vim をコンパイルする時に用いた Python 2.x または Python 3 のバージョンと一致し
ていなければなりません。
ラリのファイルの、代わりを指定するのに使えます。共有ライブラリのバージョンは、
|python3-stable-abi| を使用しない限り、Vim がコンパイルされた Python 2.x また
は Python 3 のバージョン (|v:python3_version|) と一致しなければなりません。


Stable ABI と Python バージョンの混在 ~
*python-stable* *python-stable-abi* *python3-stable-abi*
Vim が Stable ABI (Python 3 でのみ使用可能) でコンパイルされていない場合、
Python 共有ライブラリのバージョンは Vim がコンパイルされたバージョンと一致して
いなければなりません。そうでないと、バージョンが混在して予期せぬクラッシュや失
敗を引き起こす可能性があります。Stable ABI ではこの制限は緩和され、少なくとも
|v:python3_version| のバージョンを持つ Python 3 ライブラリであれば動作します。
Stable ABI がサポートされているかどうかを確認する方法については、|has-python|
を参照するか、バージョン出力に |+python3/dyn-stable| が含まれているかどうかを
確認してください。

==============================================================================
10. Python 3 *python3*
Expand Down Expand Up @@ -872,6 +884,19 @@ Note: Python の 2 と 3 の両方が利用可能で、Python が動的ロード
endif
endif
ライブラリを動的にロードする場合、Vim は Python 3 Stable ABI
(|python3-stable-abi|) をサポートするようにコンパイルすることができ、Vim がコ
ンパイルしたものとは異なるバージョンの Python 3 ライブラリをロードすることがで
きます。確認するには: >
if has('python3_dynamic')
if has('python3_stable')
echo 'support Python 3 Stable ABI.'
else
echo 'does not support Python 3 Stable ABI.'
echo 'only use Python 3 version ' .. v:python3_version
endif
endif
実行時ライブラリが見つからなかった場合は Python の動的ローディングは失敗します
が、このコードは正しくロードされたかどうかを表示することにもなります。

Expand Down
26 changes: 25 additions & 1 deletion en/if_pyth.txt
Original file line number Diff line number Diff line change
Expand Up @@ -769,7 +769,19 @@ Unix ~
The 'pythondll' or 'pythonthreedll' option can be used to specify the Python
shared library file instead of DYNAMIC_PYTHON_DLL or DYNAMIC_PYTHON3_DLL file
what were specified at compile time. The version of the shared library must
match the Python 2.x or Python 3 version Vim was compiled with.
match the Python 2.x or Python 3 version (|v:python3_version|) Vim was
compiled with unless using |python3-stable-abi|.


Stable ABI and mixing Python versions ~
*python-stable* *python-stable-abi* *python3-stable-abi*
If Vim was not compiled with Stable ABI (only available for Python 3), the
version of the Python shared library must match the version that Vim was
compiled with. Otherwise, mixing versions could result in unexpected crashes
and failures. With Stable ABI, this restriction is relaxed, and any Python 3
library with version of at least |v:python3_version| will work. See
|has-python| for how to check if Stable ABI is supported, or see if version
output includes |+python3/dyn-stable|.

==============================================================================
10. Python 3 *python3*
Expand Down Expand Up @@ -881,6 +893,18 @@ python support: >
endif
endif
When loading the library dynamically, Vim can be compiled to support Python 3
Stable ABI (|python3-stable-abi|) which allows you to load a different version
of Python 3 library than the one Vim was compiled with. To check it: >
if has('python3_dynamic')
if has('python3_stable')
echo 'support Python 3 Stable ABI.'
else
echo 'does not support Python 3 Stable ABI.'
echo 'only use Python 3 version ' .. v:python3_version
endif
endif
This also tells you whether Python is dynamically loaded, which will fail if
the runtime library cannot be found.

Expand Down

0 comments on commit e1e62cb

Please sign in to comment.