patch 8.2.1529: Vim9: :elseif may be compiled when not needed
Problem: Vim9: :elseif may be compiled when not needed.
Solution: Do evaluate the :elseif expression.
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index e8e7668..a7d8d87 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -43,6 +43,9 @@
var = 0
assert_equal('two', var ? 'one' : 'two')
+ # with constant condition expression is not evaluated
+ assert_equal('one', 1 ? 'one' : xxx)
+
let Some: func = function('len')
let Other: func = function('winnr')
let Res: func = g:atrue ? Some : Other
@@ -139,7 +142,6 @@
func Test_expr1_fails()
call CheckDefFailure(["let x = 1 ? 'one'"], "Missing ':' after '?'", 1)
- call CheckDefFailure(["let x = 1 ? 'one' : xxx"], "E1001:", 1)
let msg = "white space required before and after '?'"
call CheckDefFailure(["let x = 1? 'one' : 'two'"], msg, 1)