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;