# HG changeset patch # User Bram Moolenaar # Date 1600095603 -7200 # Node ID 3f082bd15d29e68ecaafebfd41e8cfd0d91df8e6 # Parent d3e9d86fae889b38e49f6dcda158fc7bb1121c29 patch 8.2.1680: Vim9: line number for compare error is wrong Commit: https://github.com/vim/vim/commit/eb26f4331f607b1639bf01f4f35ad3ce7d20cb10 Author: Bram Moolenaar Date: Mon Sep 14 16:50:05 2020 +0200 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 https://github.com/vim/vim/issues/6936) diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim --- a/src/testdir/test_vim9_expr.vim +++ b/src/testdir/test_vim9_expr.vim @@ -481,6 +481,7 @@ def Test_expr4_equal() 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 --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1680, +/**/ 1679, /**/ 1678, diff --git a/src/vim9execute.c b/src/vim9execute.c --- a/src/vim9execute.c +++ b/src/vim9execute.c @@ -2126,6 +2126,7 @@ call_def_function( 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;