From: Phạm Bình An Date: Sun, 11 Jan 2026 18:19:52 +0000 (+0000) Subject: runtime(doc): clarify vim.eval behavior with Vim special variables X-Git-Tag: v9.1.2078~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1e54023673f124dcd7339c0c4e0a6d131278baea;p=thirdparty%2Fvim.git runtime(doc): clarify vim.eval behavior with Vim special variables Problem: The behavior of vim.eval() with Vim special variables is not clearly documented. It is (partly) the reason why Nvim Python's vim.eval gives different output when evaluating v:true and v:false Solution: Document it (Phạm Bình An) closes: #19157 Signed-off-by: Phạm Bình An Signed-off-by: Christian Brabandt --- diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt index 65d1c8bedf..e50fe2e7ec 100644 --- a/runtime/doc/if_pyth.txt +++ b/runtime/doc/if_pyth.txt @@ -1,4 +1,4 @@ -*if_pyth.txt* For Vim version 9.1. Last change: 2025 Nov 09 +*if_pyth.txt* For Vim version 9.1. Last change: 2026 Jan 11 VIM REFERENCE MANUAL by Paul Moore @@ -183,9 +183,11 @@ vim.eval(str) *python-eval* Evaluates the expression str using the vim internal expression evaluator (see |expression|). Returns the expression result as: - a string if the Vim expression evaluates to a string or number - - a list if the Vim expression evaluates to a Vim list - - a tuple if the Vim expression evaluates to a Vim tuple - - a dictionary if the Vim expression evaluates to a Vim dictionary + - a list if the Vim expression evaluates to a Vim |list| + - a tuple if the Vim expression evaluates to a Vim |tuple| + - a dictionary if the Vim expression evaluates to a Vim |dict| + - a boolean if Vim exression evaluates to |v:true| or |v:false| + - `None` if Vim expression evaluates to |v:null| or |v:none| Dictionaries, lists and tuples are recursively expanded. Examples: > :" value of the 'textwidth' option