fix(eval): skip over v:lua properly (#27517)

Problem:  Error when parsing v:lua in a ternary expression.
Solution: Set rettv->v_type for v:lua even if not evaluating.
This commit is contained in:
zeertzjq
2024-02-18 19:11:44 +08:00
committed by GitHub
parent 796df966f3
commit b8c34efe33
3 changed files with 15 additions and 2 deletions

View File

@@ -538,6 +538,8 @@ describe('v:lua', function()
eq('\tbadval', eval("v:lua.require'leftpad'('badval')"))
eq(9003, eval("v:lua.require'bar'.doit()"))
eq(9004, eval("v:lua.require'baz-quux'.doit()"))
eq(9003, eval("1 ? v:lua.require'bar'.doit() : v:lua.require'baz-quux'.doit()"))
eq(9004, eval("0 ? v:lua.require'bar'.doit() : v:lua.require'baz-quux'.doit()"))
end)
it('throw errors for invalid use', function()