patch 8.2.1680: Vim9: line number for compare error is wrong
Problem: Vim9: line number for compare error is wrong.
Solution: Set SOURCING_LNUM. (closes #6936)
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 84e8cb3..b09242e 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -481,6 +481,7 @@
set noignorecase
CheckDefFailure(["let x = 'a' == xxx"], 'E1001:', 1)
+ CheckDefExecFailure(['let items: any', 'eval 1', 'eval 2', 'if items == []', 'endif'], 'E691:', 4)
let bb = 0z3f
assert_equal(true, 0z3f == bb)
diff --git a/src/version.c b/src/version.c
index a04f93c..89ef82a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1680,
+/**/
1679,
/**/
1678,
diff --git a/src/vim9execute.c b/src/vim9execute.c
index e93817a..c2bd857 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -2126,6 +2126,7 @@
exptype_T exptype = iptr->isn_arg.op.op_type;
int ic = iptr->isn_arg.op.op_ic;
+ SOURCING_LNUM = iptr->isn_lnum;
typval_compare(tv1, tv2, exptype, ic);
clear_tv(tv2);
--ectx.ec_stack.ga_len;