Mercurial > vim
diff runtime/doc/options.txt @ 26441:65ab0b035dd8 v8.2.3751
patch 8.2.3751: cannot assign a lambda to an option that takes a function
Commit: https://github.com/vim/vim/commit/6409553b6e3b4de4e1d72b8ee5445595214581ff
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Mon Dec 6 11:03:55 2021 +0000
patch 8.2.3751: cannot assign a lambda to an option that takes a function
Problem: Cannot assign a lambda to an option that takes a function.
Solution: Automatically convert the lambda to a string. (Yegappan
Lakshmanan, closes #9286)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 06 Dec 2021 12:15:04 +0100 |
parents | c725b8e17f1f |
children | a0bc10e83cf8 |
line wrap: on
line diff
--- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -376,7 +376,8 @@ Note: In the future more global options *option-value-function* Some options ('completefunc', 'imactivatefunc', 'imstatusfunc', 'omnifunc', 'operatorfunc', 'quickfixtextfunc', 'tagfunc' and 'thesaurusfunc') are set to -a function name or a function reference or a lambda function. Examples: +a function name or a function reference or a lambda function. When using a +lambda it will be converted to the name, e.g. "<lambda>123". Examples: > set opfunc=MyOpFunc set opfunc=function('MyOpFunc') @@ -386,10 +387,10 @@ a function name or a function reference let Fn = function('MyTagFunc') let &tagfunc = string(Fn) " set using a lambda expression - let &tagfunc = "{t -> MyTagFunc(t)}" + let &tagfunc = {t -> MyTagFunc(t)} " set using a variable with lambda expression let L = {a, b, c -> MyTagFunc(a, b , c)} - let &tagfunc = string(L) + let &tagfunc = L < Setting the filetype