# HG changeset patch # User Christian Brabandt # Date 1702314002 -3600 # Node ID 966a1af141b0a5f219cfdefb03b7b1dd8def7ff2 # Parent a259471e74fe9e1bb25747581bc92e4a7e86a586 patch 9.0.2157: Vim9: incorrectly parses :def func definitions Commit: https://github.com/vim/vim/commit/e4a450a87ba532cbfe1c4e97cac378eaafc3ae39 Author: Christian Brabandt Date: Fri Dec 8 20:57:38 2023 +0100 patch 9.0.2157: Vim9: incorrectly parses :def func definitions Problem: Vim9: incorrectly parses :def func definitions Solution: check for more context when parsing function args Signed-off-by: Christian Brabandt Incorrectly parses def function definitions Vim currently allows to define the following vim9 function: def Func(f= ) enddef It currently thinks a Lambda is following the `=` but it doesn't check, that there is actually an expression following. So when such a think is encountered, remember that an expression should be following. If no expression is coming in the next few lines, fail parsing the function arguments, which will Vim no longer accept such a function. Signed-off-by: Christian Brabandt diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim index 47b23e85e5a309a35404ea8ca4f9fd8e42d2eeb7..27585a90490095170c27da4064092f6d1c0e86f4 GIT binary patch literal 106745 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 expr && VIM_ISWHITE(p[-1])) p--; @@ -453,7 +456,11 @@ get_function_args( } } else + { mustend = TRUE; + if (*skipwhite(p) == NUL) + need_expr = TRUE; + } } else if (any_default) { diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -705,6 +705,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2157, +/**/ 2156, /**/ 2155,