]> git.ipfire.org Git - thirdparty/vim.git/commit
patch 9.0.2157: Vim9: incorrectly parses :def func definitions v9.0.2157
authorChristian Brabandt <cb@256bit.org>
Fri, 8 Dec 2023 19:57:38 +0000 (20:57 +0100)
committerChristian Brabandt <cb@256bit.org>
Mon, 11 Dec 2023 16:50:08 +0000 (17:50 +0100)
commite4a450a87ba532cbfe1c4e97cac378eaafc3ae39
tree9484dfdb32cba5112d6af8868e34066c1dd6ec29
parent9ed53752df1020a6881ac68d1bde2852c9a680aa
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 <cb@256bit.org>
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 <cb@256bit.org>
src/testdir/test_vim9_func.vim
src/userfunc.c
src/version.c