Skip to content

Commit 3b85c4a

Browse files
authored
Merge pull request #1787 from h-east/update-if_pyth
Update if_pyth.{txt,jax}
2 parents 1168752 + 7a89926 commit 3b85c4a

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

doc/if_pyth.jax

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*if_pyth.txt* For Vim バージョン 9.1. Last change: 2024 May 16
1+
*if_pyth.txt* For Vim バージョン 9.1. Last change: 2024 Nov 06
22

33

44
VIMリファレンスマニュアル by Paul Moore
@@ -196,6 +196,10 @@ vim.eval(str) *python-eval*
196196
[{'cmd': '/^eval_expr(arg, nextcmd)$/', 'static': 0, 'name': ~
197197
'eval_expr', 'kind': 'f', 'filename': './src/eval.c'}] ~
198198

199+
NOTE: vim9script では、def 関数内のローカル変数は Python の評価では見
200+
えません。ローカル変数を Python の評価に渡すには、|py3eval()| 等を呼び
201+
出すときに {locals} 辞書を使用します。
202+
199203
vim.bindeval(str) *python-bindeval*
200204
|python-eval| と似ていますが、特殊なオブジェクトを返します
201205
(|python-bindeval-objects| 参照)。これを使うと Vim のリスト (|List|)
@@ -730,6 +734,10 @@ vim.Function オブジェクト *python-Function*
730734
使って Python の式を評価して、その値を Vim script に渡すことができます。
731735
|pyxeval()| も使用可能です。
732736

737+
オプションの {locals} 辞書を使用して、評価にローカル変数を挿入できます。これ
738+
は、vim.eval |python-eval| が def 関数内のローカル変数を見つけられない
739+
vim9script で特に役立ちます。
740+
733741
Python での "None" は v:none に変換されます。
734742

735743
==============================================================================

en/if_pyth.txt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*if_pyth.txt* For Vim version 9.1. Last change: 2024 May 16
1+
*if_pyth.txt* For Vim version 9.1. Last change: 2024 Nov 06
22

33

44
VIM REFERENCE MANUAL by Paul Moore
@@ -201,6 +201,10 @@ vim.eval(str) *python-eval*
201201
[{'cmd': '/^eval_expr(arg, nextcmd)$/', 'static': 0, 'name': ~
202202
'eval_expr', 'kind': 'f', 'filename': './src/eval.c'}] ~
203203

204+
NOTE: In vim9script, local variables in def functions are not visible
205+
to to python evaluations. To pass local variables to python evaluations,
206+
use the {locals} dict when calling |py3eval()| and friends.
207+
204208
vim.bindeval(str) *python-bindeval*
205209
Like |python-eval|, but returns special objects described in
206210
|python-bindeval-objects|. These python objects let you modify (|List|
@@ -741,6 +745,10 @@ To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
741745
functions to evaluate Python expressions and pass their values to Vim script.
742746
|pyxeval()| is also available.
743747

748+
You can inject local variables into the evaluation using the optional {locals}
749+
dict. This can be particularly useful in vim9script where vim.eval
750+
|python-eval| will not find locals in a def func.
751+
744752
The Python value "None" is converted to v:none.
745753

746754
==============================================================================

0 commit comments

Comments
 (0)