diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 0e6702d..db899ee 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -93,49 +93,49 @@
       vim9script
       let var = v:true?1:2
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
       vim9script
       let var = v:true? 1 : 2
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
       vim9script
       let var = v:true ?1 : 2
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
       vim9script
       let var = v:true ? 1: 2
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
       vim9script
       let var = v:true ? 1 :2
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
 enddef
 
 func Test_expr1_fails()
-  call CheckDefFailure(["let x = 1 ? 'one'"], "Missing ':' after '?'")
-  call CheckDefFailure(["let x = 1 ? 'one' : xxx"], "E1001:")
+  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)
-  call CheckDefFailure(["let x = 1 ?'one' : 'two'"], msg)
-  call CheckDefFailure(["let x = 1?'one' : 'two'"], msg)
+  call CheckDefFailure(["let x = 1? 'one' : 'two'"], msg, 1)
+  call CheckDefFailure(["let x = 1 ?'one' : 'two'"], msg, 1)
+  call CheckDefFailure(["let x = 1?'one' : 'two'"], msg, 1)
 
   let msg = "white space required before and after ':'"
-  call CheckDefFailure(["let x = 1 ? 'one': 'two'"], msg)
-  call CheckDefFailure(["let x = 1 ? 'one' :'two'"], msg)
-  call CheckDefFailure(["let x = 1 ? 'one':'two'"], msg)
+  call CheckDefFailure(["let x = 1 ? 'one': 'two'"], msg, 1)
+  call CheckDefFailure(["let x = 1 ? 'one' :'two'"], msg, 1)
+  call CheckDefFailure(["let x = 1 ? 'one':'two'"], msg, 1)
 
   " missing argument detected even when common type is used
   call CheckDefFailure([
 	\ 'let X = FuncOne',
 	\ 'let Y = FuncTwo',
 	\ 'let Z = g:cond ? FuncOne : FuncTwo',
-	\ 'Z()'], 'E119:')
+	\ 'Z()'], 'E119:', 4)
 endfunc
 
 " TODO: define inside test function
@@ -207,17 +207,17 @@
       vim9script
       let var = v:true||v:true
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
       vim9script
       let var = v:true ||v:true
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
       vim9script
       let var = v:true|| v:true
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
 
   # check keeping the value
   lines =<< trim END
@@ -254,11 +254,11 @@
 
 func Test_expr2_fails()
   let msg = "white space required before and after '||'"
-  call CheckDefFailure(["let x = 1||2"], msg)
-  call CheckDefFailure(["let x = 1 ||2"], msg)
-  call CheckDefFailure(["let x = 1|| 2"], msg)
+  call CheckDefFailure(["let x = 1||2"], msg, 1)
+  call CheckDefFailure(["let x = 1 ||2"], msg, 1)
+  call CheckDefFailure(["let x = 1|| 2"], msg, 1)
 
-  call CheckDefFailure(["let x = 1 || xxx"], 'E1001:')
+  call CheckDefFailure(["let x = 1 || xxx"], 'E1001:', 1)
 endfunc
 
 " test &&
@@ -328,17 +328,17 @@
       vim9script
       let var = v:true&&v:true
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
       vim9script
       let var = v:true &&v:true
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
       vim9script
       let var = v:true&& v:true
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
 
   # check keeping the value
   lines =<< trim END
@@ -379,9 +379,9 @@
 
 func Test_expr3_fails()
   let msg = "white space required before and after '&&'"
-  call CheckDefFailure(["let x = 1&&2"], msg)
-  call CheckDefFailure(["let x = 1 &&2"], msg)
-  call CheckDefFailure(["let x = 1&& 2"], msg)
+  call CheckDefFailure(["let x = 1&&2"], msg, 1)
+  call CheckDefFailure(["let x = 1 &&2"], msg, 1)
+  call CheckDefFailure(["let x = 1&& 2"], msg, 1)
 endfunc
 
 " global variables to use for tests with the "any" type
@@ -457,7 +457,7 @@
   assert_equal(false, 'abc' ==# 'ABC')
   set noignorecase
 
-  call CheckDefFailure(["let x = 'a' == xxx"], 'E1001:')
+  call CheckDefFailure(["let x = 'a' == xxx"], 'E1001:', 1)
 
   let bb = 0z3f
   assert_equal(true, 0z3f == bb)
@@ -757,19 +757,19 @@
       vim9script
       echo '' == 0
   END
-  CheckScriptFailure(lines, 'E1072:')
+  CheckScriptFailure(lines, 'E1072:', 2)
 
   lines =<< trim END
       vim9script
       echo v:true > v:false
   END
-  CheckScriptFailure(lines, 'Cannot compare bool with bool')
+  CheckScriptFailure(lines, 'Cannot compare bool with bool', 2)
 
   lines =<< trim END
       vim9script
       echo 123 is 123
   END
-  CheckScriptFailure(lines, 'Cannot use "is" with number')
+  CheckScriptFailure(lines, 'Cannot use "is" with number', 2)
 
   # check 'ignorecase' not being used
   lines =<< trim END
@@ -795,32 +795,32 @@
     vim9script
     echo 2>3
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
     vim9script
     echo 2 >3
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
     vim9script
     echo 2> 3
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
     vim9script
     echo 2!=3
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
     vim9script
     echo 2 !=3
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
     vim9script
     echo 2!= 3
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
 
   lines =<< trim END
     vim9script
@@ -838,71 +838,71 @@
 
 func Test_expr4_fails()
   let msg = "white space required before and after '>'"
-  call CheckDefFailure(["let x = 1>2"], msg)
-  call CheckDefFailure(["let x = 1 >2"], msg)
-  call CheckDefFailure(["let x = 1> 2"], msg)
+  call CheckDefFailure(["let x = 1>2"], msg, 1)
+  call CheckDefFailure(["let x = 1 >2"], msg, 1)
+  call CheckDefFailure(["let x = 1> 2"], msg, 1)
 
   let msg = "white space required before and after '=='"
-  call CheckDefFailure(["let x = 1==2"], msg)
-  call CheckDefFailure(["let x = 1 ==2"], msg)
-  call CheckDefFailure(["let x = 1== 2"], msg)
+  call CheckDefFailure(["let x = 1==2"], msg, 1)
+  call CheckDefFailure(["let x = 1 ==2"], msg, 1)
+  call CheckDefFailure(["let x = 1== 2"], msg, 1)
 
   let msg = "white space required before and after 'is'"
-  call CheckDefFailure(["let x = '1'is'2'"], msg)
-  call CheckDefFailure(["let x = '1' is'2'"], msg)
-  call CheckDefFailure(["let x = '1'is '2'"], msg)
+  call CheckDefFailure(["let x = '1'is'2'"], msg, 1)
+  call CheckDefFailure(["let x = '1' is'2'"], msg, 1)
+  call CheckDefFailure(["let x = '1'is '2'"], msg, 1)
 
   let msg = "white space required before and after 'isnot'"
-  call CheckDefFailure(["let x = '1'isnot'2'"], msg)
-  call CheckDefFailure(["let x = '1' isnot'2'"], msg)
-  call CheckDefFailure(["let x = '1'isnot '2'"], msg)
+  call CheckDefFailure(["let x = '1'isnot'2'"], msg, 1)
+  call CheckDefFailure(["let x = '1' isnot'2'"], msg, 1)
+  call CheckDefFailure(["let x = '1'isnot '2'"], msg, 1)
 
-  call CheckDefFailure(["let x = 1 is# 2"], 'E15:')
-  call CheckDefFailure(["let x = 1 is? 2"], 'E15:')
-  call CheckDefFailure(["let x = 1 isnot# 2"], 'E15:')
-  call CheckDefFailure(["let x = 1 isnot? 2"], 'E15:')
+  call CheckDefFailure(["let x = 1 is# 2"], 'E15:', 1)
+  call CheckDefFailure(["let x = 1 is? 2"], 'E15:', 1)
+  call CheckDefFailure(["let x = 1 isnot# 2"], 'E15:', 1)
+  call CheckDefFailure(["let x = 1 isnot? 2"], 'E15:', 1)
 
-  call CheckDefFailure(["let x = 1 == '2'"], 'Cannot compare number with string')
-  call CheckDefFailure(["let x = '1' == 2"], 'Cannot compare string with number')
-  call CheckDefFailure(["let x = 1 == RetVoid()"], 'Cannot compare number with void')
-  call CheckDefFailure(["let x = RetVoid() == 1"], 'Cannot compare void with number')
+  call CheckDefFailure(["let x = 1 == '2'"], 'Cannot compare number with string', 1)
+  call CheckDefFailure(["let x = '1' == 2"], 'Cannot compare string with number', 1)
+  call CheckDefFailure(["let x = 1 == RetVoid()"], 'Cannot compare number with void', 1)
+  call CheckDefFailure(["let x = RetVoid() == 1"], 'Cannot compare void with number', 1)
 
-  call CheckDefFailure(["let x = true > false"], 'Cannot compare bool with bool')
-  call CheckDefFailure(["let x = true >= false"], 'Cannot compare bool with bool')
-  call CheckDefFailure(["let x = true < false"], 'Cannot compare bool with bool')
-  call CheckDefFailure(["let x = true <= false"], 'Cannot compare bool with bool')
-  call CheckDefFailure(["let x = true =~ false"], 'Cannot compare bool with bool')
-  call CheckDefFailure(["let x = true !~ false"], 'Cannot compare bool with bool')
-  call CheckDefFailure(["let x = true is false"], 'Cannot use "is" with bool')
-  call CheckDefFailure(["let x = true isnot false"], 'Cannot use "isnot" with bool')
+  call CheckDefFailure(["let x = true > false"], 'Cannot compare bool with bool', 1)
+  call CheckDefFailure(["let x = true >= false"], 'Cannot compare bool with bool', 1)
+  call CheckDefFailure(["let x = true < false"], 'Cannot compare bool with bool', 1)
+  call CheckDefFailure(["let x = true <= false"], 'Cannot compare bool with bool', 1)
+  call CheckDefFailure(["let x = true =~ false"], 'Cannot compare bool with bool', 1)
+  call CheckDefFailure(["let x = true !~ false"], 'Cannot compare bool with bool', 1)
+  call CheckDefFailure(["let x = true is false"], 'Cannot use "is" with bool', 1)
+  call CheckDefFailure(["let x = true isnot false"], 'Cannot use "isnot" with bool', 1)
 
-  call CheckDefFailure(["let x = v:none is v:null"], 'Cannot use "is" with special')
-  call CheckDefFailure(["let x = v:none isnot v:null"], 'Cannot use "isnot" with special')
-  call CheckDefFailure(["let x = 123 is 123"], 'Cannot use "is" with number')
-  call CheckDefFailure(["let x = 123 isnot 123"], 'Cannot use "isnot" with number')
+  call CheckDefFailure(["let x = v:none is v:null"], 'Cannot use "is" with special', 1)
+  call CheckDefFailure(["let x = v:none isnot v:null"], 'Cannot use "isnot" with special', 1)
+  call CheckDefFailure(["let x = 123 is 123"], 'Cannot use "is" with number', 1)
+  call CheckDefFailure(["let x = 123 isnot 123"], 'Cannot use "isnot" with number', 1)
   if has('float')
-    call CheckDefFailure(["let x = 1.3 is 1.3"], 'Cannot use "is" with float')
-    call CheckDefFailure(["let x = 1.3 isnot 1.3"], 'Cannot use "isnot" with float')
+    call CheckDefFailure(["let x = 1.3 is 1.3"], 'Cannot use "is" with float', 1)
+    call CheckDefFailure(["let x = 1.3 isnot 1.3"], 'Cannot use "isnot" with float', 1)
   endif
 
-  call CheckDefFailure(["let x = 0za1 > 0z34"], 'Cannot compare blob with blob')
-  call CheckDefFailure(["let x = 0za1 >= 0z34"], 'Cannot compare blob with blob')
-  call CheckDefFailure(["let x = 0za1 < 0z34"], 'Cannot compare blob with blob')
-  call CheckDefFailure(["let x = 0za1 <= 0z34"], 'Cannot compare blob with blob')
-  call CheckDefFailure(["let x = 0za1 =~ 0z34"], 'Cannot compare blob with blob')
-  call CheckDefFailure(["let x = 0za1 !~ 0z34"], 'Cannot compare blob with blob')
+  call CheckDefFailure(["let x = 0za1 > 0z34"], 'Cannot compare blob with blob', 1)
+  call CheckDefFailure(["let x = 0za1 >= 0z34"], 'Cannot compare blob with blob', 1)
+  call CheckDefFailure(["let x = 0za1 < 0z34"], 'Cannot compare blob with blob', 1)
+  call CheckDefFailure(["let x = 0za1 <= 0z34"], 'Cannot compare blob with blob', 1)
+  call CheckDefFailure(["let x = 0za1 =~ 0z34"], 'Cannot compare blob with blob', 1)
+  call CheckDefFailure(["let x = 0za1 !~ 0z34"], 'Cannot compare blob with blob', 1)
 
-  call CheckDefFailure(["let x = [13] > [88]"], 'Cannot compare list with list')
-  call CheckDefFailure(["let x = [13] >= [88]"], 'Cannot compare list with list')
-  call CheckDefFailure(["let x = [13] < [88]"], 'Cannot compare list with list')
-  call CheckDefFailure(["let x = [13] <= [88]"], 'Cannot compare list with list')
-  call CheckDefFailure(["let x = [13] =~ [88]"], 'Cannot compare list with list')
-  call CheckDefFailure(["let x = [13] !~ [88]"], 'Cannot compare list with list')
+  call CheckDefFailure(["let x = [13] > [88]"], 'Cannot compare list with list', 1)
+  call CheckDefFailure(["let x = [13] >= [88]"], 'Cannot compare list with list', 1)
+  call CheckDefFailure(["let x = [13] < [88]"], 'Cannot compare list with list', 1)
+  call CheckDefFailure(["let x = [13] <= [88]"], 'Cannot compare list with list', 1)
+  call CheckDefFailure(["let x = [13] =~ [88]"], 'Cannot compare list with list', 1)
+  call CheckDefFailure(["let x = [13] !~ [88]"], 'Cannot compare list with list', 1)
 
-  call CheckDefFailure(['let j: job', 'let chan: channel', 'let r = j == chan'], 'Cannot compare job with channel')
-  call CheckDefFailure(['let j: job', 'let x: list<any>', 'let r = j == x'], 'Cannot compare job with list')
-  call CheckDefFailure(['let j: job', 'let Xx: func', 'let r = j == Xx'], 'Cannot compare job with func')
-  call CheckDefFailure(['let j: job', 'let Xx: func', 'let r = j == Xx'], 'Cannot compare job with func')
+  call CheckDefFailure(['let j: job', 'let chan: channel', 'let r = j == chan'], 'Cannot compare job with channel', 3)
+  call CheckDefFailure(['let j: job', 'let x: list<any>', 'let r = j == x'], 'Cannot compare job with list', 3)
+  call CheckDefFailure(['let j: job', 'let Xx: func', 'let r = j == Xx'], 'Cannot compare job with func', 3)
+  call CheckDefFailure(['let j: job', 'let Xx: func', 'let r = j == Xx'], 'Cannot compare job with func', 3)
 endfunc
 
 " test addition, subtraction, concatenation
@@ -978,58 +978,58 @@
       vim9script
       echo 'abc' is# 'abc'
   END
-  CheckScriptFailure(lines, 'E15:')
+  CheckScriptFailure(lines, 'E15:', 2)
 
   lines =<< trim END
       vim9script
       echo 'abc' is? 'abc'
   END
-  CheckScriptFailure(lines, 'E15:')
+  CheckScriptFailure(lines, 'E15:', 2)
 
   lines =<< trim END
       vim9script
       echo 'abc' isnot# 'abc'
   END
-  CheckScriptFailure(lines, 'E15:')
+  CheckScriptFailure(lines, 'E15:', 2)
 
   lines =<< trim END
       vim9script
       echo 'abc' isnot? 'abc'
   END
-  CheckScriptFailure(lines, 'E15:')
+  CheckScriptFailure(lines, 'E15:', 2)
 
   # check white space
   lines =<< trim END
       vim9script
       echo 5+6
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
       vim9script
       echo 5 +6
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
       vim9script
       echo 5+ 6
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
 
   lines =<< trim END
       vim9script
       echo 'a'..'b'
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
       vim9script
       echo 'a' ..'b'
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
       vim9script
       echo 'a'.. 'b'
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
 
   # check valid string concatenation
   lines =<< trim END
@@ -1049,37 +1049,37 @@
       vim9script
       echo 'a' .. [1]
   END
-  CheckScriptFailure(lines, 'E730:')
+  CheckScriptFailure(lines, 'E730:', 2)
   lines =<< trim END
       vim9script
       echo 'a' .. #{a: 1}
   END
-  CheckScriptFailure(lines, 'E731:')
+  CheckScriptFailure(lines, 'E731:', 2)
   lines =<< trim END
       vim9script
       echo 'a' .. test_void()
   END
-  CheckScriptFailure(lines, 'E908:')
+  CheckScriptFailure(lines, 'E908:', 2)
   lines =<< trim END
       vim9script
       echo 'a' .. 0z33
   END
-  CheckScriptFailure(lines, 'E976:')
+  CheckScriptFailure(lines, 'E976:', 2)
   lines =<< trim END
       vim9script
       echo 'a' .. function('len')
   END
-  CheckScriptFailure(lines, 'E729:')
+  CheckScriptFailure(lines, 'E729:', 2)
   lines =<< trim END
       vim9script
       echo 'a' .. test_null_job()
   END
-  CheckScriptFailure(lines, 'E908:')
+  CheckScriptFailure(lines, 'E908:', 2)
   lines =<< trim END
       vim9script
       echo 'a' .. test_null_channel()
   END
-  CheckScriptFailure(lines, 'E908:')
+  CheckScriptFailure(lines, 'E908:', 2)
 enddef
 
 def Test_expr5_float()
@@ -1109,36 +1109,36 @@
 
 func Test_expr5_fails()
   let msg = "white space required before and after '+'"
-  call CheckDefFailure(["let x = 1+2"], msg)
-  call CheckDefFailure(["let x = 1 +2"], msg)
-  call CheckDefFailure(["let x = 1+ 2"], msg)
+  call CheckDefFailure(["let x = 1+2"], msg, 1)
+  call CheckDefFailure(["let x = 1 +2"], msg, 1)
+  call CheckDefFailure(["let x = 1+ 2"], msg, 1)
 
   let msg = "white space required before and after '-'"
-  call CheckDefFailure(["let x = 1-2"], msg)
-  call CheckDefFailure(["let x = 1 -2"], msg)
-  call CheckDefFailure(["let x = 1- 2"], msg)
+  call CheckDefFailure(["let x = 1-2"], msg, 1)
+  call CheckDefFailure(["let x = 1 -2"], msg, 1)
+  call CheckDefFailure(["let x = 1- 2"], msg, 1)
 
   let msg = "white space required before and after '..'"
-  call CheckDefFailure(["let x = '1'..'2'"], msg)
-  call CheckDefFailure(["let x = '1' ..'2'"], msg)
-  call CheckDefFailure(["let x = '1'.. '2'"], msg)
+  call CheckDefFailure(["let x = '1'..'2'"], msg, 1)
+  call CheckDefFailure(["let x = '1' ..'2'"], msg, 1)
+  call CheckDefFailure(["let x = '1'.. '2'"], msg, 1)
 
-  call CheckDefFailure(["let x = 0z1122 + 33"], 'E1051')
-  call CheckDefFailure(["let x = 0z1122 + [3]"], 'E1051')
-  call CheckDefFailure(["let x = 0z1122 + 'asd'"], 'E1051')
-  call CheckDefFailure(["let x = 33 + 0z1122"], 'E1051')
-  call CheckDefFailure(["let x = [3] + 0z1122"], 'E1051')
-  call CheckDefFailure(["let x = 'asdf' + 0z1122"], 'E1051')
-  call CheckDefFailure(["let x = 6 + xxx"], 'E1001')
+  call CheckDefFailure(["let x = 0z1122 + 33"], 'E1051', 1)
+  call CheckDefFailure(["let x = 0z1122 + [3]"], 'E1051', 1)
+  call CheckDefFailure(["let x = 0z1122 + 'asd'"], 'E1051', 1)
+  call CheckDefFailure(["let x = 33 + 0z1122"], 'E1051', 1)
+  call CheckDefFailure(["let x = [3] + 0z1122"], 'E1051', 1)
+  call CheckDefFailure(["let x = 'asdf' + 0z1122"], 'E1051', 1)
+  call CheckDefFailure(["let x = 6 + xxx"], 'E1001', 1)
 
-  call CheckDefFailure(["let x = 'a' .. [1]"], 'E1105')
-  call CheckDefFailure(["let x = 'a' .. #{a: 1}"], 'E1105')
-  call CheckDefFailure(["let x = 'a' .. test_void()"], 'E1105')
-  call CheckDefFailure(["let x = 'a' .. 0z32"], 'E1105')
-  call CheckDefFailure(["let x = 'a' .. function('len')"], 'E1105')
-  call CheckDefFailure(["let x = 'a' .. function('len', ['a'])"], 'E1105')
-  call CheckDefFailure(["let x = 'a' .. test_null_job()"], 'E1105')
-  call CheckDefFailure(["let x = 'a' .. test_null_channel()"], 'E1105')
+  call CheckDefFailure(["let x = 'a' .. [1]"], 'E1105', 1)
+  call CheckDefFailure(["let x = 'a' .. #{a: 1}"], 'E1105', 1)
+  call CheckDefFailure(["let x = 'a' .. test_void()"], 'E1105', 1)
+  call CheckDefFailure(["let x = 'a' .. 0z32"], 'E1105', 1)
+  call CheckDefFailure(["let x = 'a' .. function('len')"], 'E1105', 1)
+  call CheckDefFailure(["let x = 'a' .. function('len', ['a'])"], 'E1105', 1)
+  call CheckDefFailure(["let x = 'a' .. test_null_job()"], 'E1105', 1)
+  call CheckDefFailure(["let x = 'a' .. test_null_channel()"], 'E1105', 1)
 endfunc
 
 " test multiply, divide, modulo
@@ -1179,7 +1179,7 @@
     			* yf[0])
   endif
 
-  call CheckDefFailure(["let x = 6 * xxx"], 'E1001')
+  call CheckDefFailure(["let x = 6 * xxx"], 'E1001', 1)
 enddef
 
 def Test_expr6_vim9script()
@@ -1215,17 +1215,17 @@
       vim9script
       echo 5*6
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
       vim9script
       echo 5 *6
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
   lines =<< trim END
       vim9script
       echo 5* 6
   END
-  CheckScriptFailure(lines, 'E1004:')
+  CheckScriptFailure(lines, 'E1004:', 2)
 enddef
 
 def Test_expr6_float()
@@ -1260,45 +1260,45 @@
 
 func Test_expr6_fails()
   let msg = "white space required before and after '*'"
-  call CheckDefFailure(["let x = 1*2"], msg)
-  call CheckDefFailure(["let x = 1 *2"], msg)
-  call CheckDefFailure(["let x = 1* 2"], msg)
+  call CheckDefFailure(["let x = 1*2"], msg, 1)
+  call CheckDefFailure(["let x = 1 *2"], msg, 1)
+  call CheckDefFailure(["let x = 1* 2"], msg, 1)
 
   let msg = "white space required before and after '/'"
-  call CheckDefFailure(["let x = 1/2"], msg)
-  call CheckDefFailure(["let x = 1 /2"], msg)
-  call CheckDefFailure(["let x = 1/ 2"], msg)
+  call CheckDefFailure(["let x = 1/2"], msg, 1)
+  call CheckDefFailure(["let x = 1 /2"], msg, 1)
+  call CheckDefFailure(["let x = 1/ 2"], msg, 1)
 
   let msg = "white space required before and after '%'"
-  call CheckDefFailure(["let x = 1%2"], msg)
-  call CheckDefFailure(["let x = 1 %2"], msg)
-  call CheckDefFailure(["let x = 1% 2"], msg)
+  call CheckDefFailure(["let x = 1%2"], msg, 1)
+  call CheckDefFailure(["let x = 1 %2"], msg, 1)
+  call CheckDefFailure(["let x = 1% 2"], msg, 1)
 
-  call CheckDefFailure(["let x = '1' * '2'"], 'E1036:')
-  call CheckDefFailure(["let x = '1' / '2'"], 'E1036:')
-  call CheckDefFailure(["let x = '1' % '2'"], 'E1035:')
+  call CheckDefFailure(["let x = '1' * '2'"], 'E1036:', 1)
+  call CheckDefFailure(["let x = '1' / '2'"], 'E1036:', 1)
+  call CheckDefFailure(["let x = '1' % '2'"], 'E1035:', 1)
 
-  call CheckDefFailure(["let x = 0z01 * 0z12"], 'E1036:')
-  call CheckDefFailure(["let x = 0z01 / 0z12"], 'E1036:')
-  call CheckDefFailure(["let x = 0z01 % 0z12"], 'E1035:')
+  call CheckDefFailure(["let x = 0z01 * 0z12"], 'E1036:', 1)
+  call CheckDefFailure(["let x = 0z01 / 0z12"], 'E1036:', 1)
+  call CheckDefFailure(["let x = 0z01 % 0z12"], 'E1035:', 1)
 
-  call CheckDefFailure(["let x = [1] * [2]"], 'E1036:')
-  call CheckDefFailure(["let x = [1] / [2]"], 'E1036:')
-  call CheckDefFailure(["let x = [1] % [2]"], 'E1035:')
+  call CheckDefFailure(["let x = [1] * [2]"], 'E1036:', 1)
+  call CheckDefFailure(["let x = [1] / [2]"], 'E1036:', 1)
+  call CheckDefFailure(["let x = [1] % [2]"], 'E1035:', 1)
 
-  call CheckDefFailure(["let x = #{one: 1} * #{two: 2}"], 'E1036:')
-  call CheckDefFailure(["let x = #{one: 1} / #{two: 2}"], 'E1036:')
-  call CheckDefFailure(["let x = #{one: 1} % #{two: 2}"], 'E1035:')
+  call CheckDefFailure(["let x = #{one: 1} * #{two: 2}"], 'E1036:', 1)
+  call CheckDefFailure(["let x = #{one: 1} / #{two: 2}"], 'E1036:', 1)
+  call CheckDefFailure(["let x = #{one: 1} % #{two: 2}"], 'E1035:', 1)
 
-  call CheckDefFailure(["let x = 0xff[1]"], 'E1107:')
+  call CheckDefFailure(["let x = 0xff[1]"], 'E1107:', 1)
   if has('float')
-    call CheckDefFailure(["let x = 0.7[1]"], 'E1107:')
+    call CheckDefFailure(["let x = 0.7[1]"], 'E1107:', 1)
   endif
 endfunc
 
 func Test_expr6_float_fails()
   CheckFeature float
-  call CheckDefFailure(["let x = 1.0 % 2"], 'E1035:')
+  call CheckDefFailure(["let x = 1.0 % 2"], 'E1035:', 1)
 endfunc
 
 " define here to use old style parsing
@@ -1336,9 +1336,9 @@
   let nr = <number>234
   assert_equal(234, nr)
 
-  call CheckDefFailure(["let x = <nr>123"], 'E1010:')
-  call CheckDefFailure(["let x = <number >123"], 'E1068:')
-  call CheckDefFailure(["let x = <number 123"], 'E1104:')
+  call CheckDefFailure(["let x = <nr>123"], 'E1010:', 1)
+  call CheckDefFailure(["let x = <number >123"], 'E1068:', 1)
+  call CheckDefFailure(["let x = <number 123"], 'E1104:', 1)
 enddef
 
 " test low level expression
@@ -1370,7 +1370,7 @@
   assert_equal(g:blob_one, 0z01)
   assert_equal(g:blob_long, 0z0102.0304)
 
-  call CheckDefFailure(["let x = 0z123"], 'E973:')
+  call CheckDefFailure(["let x = 0z123"], 'E973:', 1)
 enddef
 
 def Test_expr7_string()
@@ -1383,16 +1383,16 @@
   assert_equal(g:string_long, "abcdefghijklm")
   assert_equal(g:string_special, "ab\ncd\ref\ekk")
 
-  call CheckDefFailure(['let x = "abc'], 'E114:')
-  call CheckDefFailure(["let x = 'abc"], 'E115:')
+  call CheckDefFailure(['let x = "abc'], 'E114:', 1)
+  call CheckDefFailure(["let x = 'abc"], 'E115:', 1)
 enddef
 
 def Test_expr7_vimvar()
   let old: list<string> = v:oldfiles
   let compl: dict<any> = v:completed_item
 
-  call CheckDefFailure(["let old: list<number> = v:oldfiles"], 'E1012: type mismatch, expected list<number> but got list<string>')
-  call CheckDefFailure(["let old: dict<number> = v:completed_item"], 'E1012: type mismatch, expected dict<number> but got dict<any>')
+  call CheckDefFailure(["let old: list<number> = v:oldfiles"], 'E1012: type mismatch, expected list<number> but got list<string>', 1)
+  call CheckDefFailure(["let old: dict<number> = v:completed_item"], 'E1012: type mismatch, expected dict<number> but got dict<any>', 1)
 enddef
 
 def Test_expr7_special()
@@ -1414,11 +1414,11 @@
   assert_equal(g:special_null, v:null)
   assert_equal(g:special_none, v:none)
 
-  call CheckDefFailure(['v:true = true'], 'E46:')
-  call CheckDefFailure(['v:true = false'], 'E46:')
-  call CheckDefFailure(['v:false = true'], 'E46:')
-  call CheckDefFailure(['v:null = 11'], 'E46:')
-  call CheckDefFailure(['v:none = 22'], 'E46:')
+  call CheckDefFailure(['v:true = true'], 'E46:', 1)
+  call CheckDefFailure(['v:true = false'], 'E46:', 1)
+  call CheckDefFailure(['v:false = true'], 'E46:', 1)
+  call CheckDefFailure(['v:null = 11'], 'E46:', 1)
+  call CheckDefFailure(['v:none = 22'], 'E46:', 1)
 enddef
 
 def Test_expr7_special_vim9script()
@@ -1463,24 +1463,24 @@
   	2] [3,
 		4]
 
-  call CheckDefFailure(["let x = 1234[3]"], 'E1107:')
+  call CheckDefFailure(["let x = 1234[3]"], 'E1107:', 1)
   call CheckDefExecFailure(["let x = g:anint[3]"], 'E1062:', 1)
 
-  call CheckDefFailure(["let x = g:list_mixed[xxx]"], 'E1001:')
+  call CheckDefFailure(["let x = g:list_mixed[xxx]"], 'E1001:', 1)
 
-  call CheckDefFailure(["let x = [1,2,3]"], 'E1069:')
-  call CheckDefFailure(["let x = [1 ,2, 3]"], 'E1068:')
+  call CheckDefFailure(["let x = [1,2,3]"], 'E1069:', 1)
+  call CheckDefFailure(["let x = [1 ,2, 3]"], 'E1068:', 1)
 
   call CheckDefExecFailure(["echo 1", "let x = [][0]", "echo 3"], 'E684:', 2)
 
   call CheckDefExecFailure(["let x = g:list_mixed['xx']"], 'E1029:', 1)
-  call CheckDefFailure(["let x = g:list_mixed["], 'E1097:')
-  call CheckDefFailure(["let x = g:list_mixed[0"], 'E1097:', 1)
-  call CheckDefExecFailure(["let x = g:list_empty[3]"], 'E684:')
-  call CheckDefFailure(["let l: list<number> = [234, 'x']"], 'E1012:')
-  call CheckDefFailure(["let l: list<number> = ['x', 234]"], 'E1012:')
-  call CheckDefFailure(["let l: list<string> = [234, 'x']"], 'E1012:')
-  call CheckDefFailure(["let l: list<string> = ['x', 123]"], 'E1012:')
+  call CheckDefFailure(["let x = g:list_mixed["], 'E1097:', 2)
+  call CheckDefFailure(["let x = g:list_mixed[0"], 'E1097:', 2)
+  call CheckDefExecFailure(["let x = g:list_empty[3]"], 'E684:', 1)
+  call CheckDefFailure(["let l: list<number> = [234, 'x']"], 'E1012:', 1)
+  call CheckDefFailure(["let l: list<number> = ['x', 234]"], 'E1012:', 1)
+  call CheckDefFailure(["let l: list<string> = [234, 'x']"], 'E1012:', 1)
+  call CheckDefFailure(["let l: list<string> = ['x', 123]"], 'E1012:', 1)
 enddef
 
 def Test_expr7_list_vim9script()
@@ -1510,34 +1510,34 @@
       vim9script
       let l = [11,22]
   END
-  CheckScriptFailure(lines, 'E1069:')
+  CheckScriptFailure(lines, 'E1069:', 2)
 
   lines =<< trim END
       vim9script
       let l = [11 , 22]
   END
-  CheckScriptFailure(lines, 'E1068:')
+  CheckScriptFailure(lines, 'E1068:', 2)
 
   lines =<< trim END
     vim9script
     let l: list<number> = [234, 'x']
   END
-  CheckScriptFailure(lines, 'E1012:')
+  CheckScriptFailure(lines, 'E1012:', 2)
   lines =<< trim END
     vim9script
     let l: list<number> = ['x', 234]
   END
-  CheckScriptFailure(lines, 'E1012:')
+  CheckScriptFailure(lines, 'E1012:', 2)
   lines =<< trim END
     vim9script
     let l: list<string> = ['x', 234]
   END
-  CheckScriptFailure(lines, 'E1012:')
+  CheckScriptFailure(lines, 'E1012:', 2)
   lines =<< trim END
     vim9script
     let l: list<string> = [234, 'x']
   END
-  CheckScriptFailure(lines, 'E1012:')
+  CheckScriptFailure(lines, 'E1012:', 2)
 enddef
 
 def LambdaWithComments(): func
@@ -1601,8 +1601,9 @@
   assert_equal(false, LambdaUsingArg(0)())
   assert_equal(true, LambdaUsingArg(1)())
 
-  call CheckDefFailure(["filter([1, 2], {k,v -> 1})"], 'E1069:')
-  call CheckDefFailure(["let L = {a -> a + b}"], 'E1001:')
+  call CheckDefFailure(["filter([1, 2], {k,v -> 1})"], 'E1069:', 1)
+  # error is in first line of the lambda
+  call CheckDefFailure(["let L = {a -> a + b}"], 'E1001:', 0)
 
   assert_equal('xxxyyy', 'xxx'->{a, b -> a .. b}('yyy'))
 
@@ -1610,7 +1611,7 @@
         'E1106: one argument too many')
   CheckDefExecFailure(["let s = 'asdf'->{a -> a}('x', 'y')"],
         'E1106: 2 arguments too many')
-  CheckDefFailure(["echo 'asdf'->{a -> a}(x)"], 'E1001:')
+  CheckDefFailure(["echo 'asdf'->{a -> a}(x)"], 'E1001:', 1)
 enddef
 
 def Test_expr7_lambda_vim9script()
@@ -1647,28 +1648,28 @@
   mixed = #{a: 234}
   mixed = #{}
 
-  call CheckDefFailure(["let x = #{a:8}"], 'E1069:')
-  call CheckDefFailure(["let x = #{a : 8}"], 'E1068:')
-  call CheckDefFailure(["let x = #{a :8}"], 'E1068:')
-  call CheckDefFailure(["let x = #{a: 8 , b: 9}"], 'E1068:')
+  call CheckDefFailure(["let x = #{a:8}"], 'E1069:', 1)
+  call CheckDefFailure(["let x = #{a : 8}"], 'E1068:', 1)
+  call CheckDefFailure(["let x = #{a :8}"], 'E1068:', 1)
+  call CheckDefFailure(["let x = #{a: 8 , b: 9}"], 'E1068:', 1)
 
-  call CheckDefFailure(["let x = #{8: 8}"], 'E1014:')
-  call CheckDefFailure(["let x = #{xxx}"], 'E720:')
-  call CheckDefFailure(["let x = #{xxx: 1", "let y = 2"], 'E722:')
-  call CheckDefFailure(["let x = #{xxx: 1,"], 'E723:')
-  call CheckDefFailure(["let x = {'a': xxx}"], 'E1001:')
-  call CheckDefFailure(["let x = {xxx: 8}"], 'E1001:')
-  call CheckDefFailure(["let x = #{a: 1, a: 2}"], 'E721:')
-  call CheckDefFailure(["let x = #"], 'E1015:')
-  call CheckDefFailure(["let x += 1"], 'E1020:')
-  call CheckDefFailure(["let x = x + 1"], 'E1001:')
-  call CheckDefExecFailure(["let x = g:anint.member"], 'E715:')
-  call CheckDefExecFailure(["let x = g:dict_empty.member"], 'E716:')
+  call CheckDefFailure(["let x = #{8: 8}"], 'E1014:', 1)
+  call CheckDefFailure(["let x = #{xxx}"], 'E720:', 1)
+  call CheckDefFailure(["let x = #{xxx: 1", "let y = 2"], 'E722:', 2)
+  call CheckDefFailure(["let x = #{xxx: 1,"], 'E723:', 2)
+  call CheckDefFailure(["let x = {'a': xxx}"], 'E1001:', 1)
+  call CheckDefFailure(["let x = {xxx: 8}"], 'E1001:', 1)
+  call CheckDefFailure(["let x = #{a: 1, a: 2}"], 'E721:', 1)
+  call CheckDefFailure(["let x = #"], 'E1015:', 1)
+  call CheckDefFailure(["let x += 1"], 'E1020:', 1)
+  call CheckDefFailure(["let x = x + 1"], 'E1001:', 1)
+  call CheckDefExecFailure(["let x = g:anint.member"], 'E715:', 1)
+  call CheckDefExecFailure(["let x = g:dict_empty.member"], 'E716:', 1)
 
-  call CheckDefFailure(['let x: dict<number> = #{a: 234, b: "1"}'], 'E1012:')
-  call CheckDefFailure(['let x: dict<number> = #{a: "x", b: 134}'], 'E1012:')
-  call CheckDefFailure(['let x: dict<string> = #{a: 234, b: "1"}'], 'E1012:')
-  call CheckDefFailure(['let x: dict<string> = #{a: "x", b: 134}'], 'E1012:')
+  call CheckDefFailure(['let x: dict<number> = #{a: 234, b: "1"}'], 'E1012:', 1)
+  call CheckDefFailure(['let x: dict<number> = #{a: "x", b: 134}'], 'E1012:', 1)
+  call CheckDefFailure(['let x: dict<string> = #{a: 234, b: "1"}'], 'E1012:', 1)
+  call CheckDefFailure(['let x: dict<string> = #{a: "x", b: 134}'], 'E1012:', 1)
 enddef
 
 def Test_expr7_dict_vim9script()
@@ -1703,52 +1704,52 @@
       vim9script
       let d = #{one:1, two: 2}
   END
-  CheckScriptFailure(lines, 'E1069:')
+  CheckScriptFailure(lines, 'E1069:', 2)
 
   lines =<< trim END
       vim9script
       let d = #{one: 1,two: 2}
   END
-  CheckScriptFailure(lines, 'E1069:')
+  CheckScriptFailure(lines, 'E1069:', 2)
 
   lines =<< trim END
       vim9script
       let d = #{one : 1}
   END
-  CheckScriptFailure(lines, 'E1068:')
+  CheckScriptFailure(lines, 'E1068:', 2)
 
   lines =<< trim END
       vim9script
       let d = #{one:1}
   END
-  CheckScriptFailure(lines, 'E1069:')
+  CheckScriptFailure(lines, 'E1069:', 2)
 
   lines =<< trim END
       vim9script
       let d = #{one: 1 , two: 2}
   END
-  CheckScriptFailure(lines, 'E1068:')
+  CheckScriptFailure(lines, 'E1068:', 2)
 
   lines =<< trim END
     vim9script
     let l: dict<number> = #{a: 234, b: 'x'}
   END
-  CheckScriptFailure(lines, 'E1012:')
+  CheckScriptFailure(lines, 'E1012:', 2)
   lines =<< trim END
     vim9script
     let l: dict<number> = #{a: 'x', b: 234}
   END
-  CheckScriptFailure(lines, 'E1012:')
+  CheckScriptFailure(lines, 'E1012:', 2)
   lines =<< trim END
     vim9script
     let l: dict<string> = #{a: 'x', b: 234}
   END
-  CheckScriptFailure(lines, 'E1012:')
+  CheckScriptFailure(lines, 'E1012:', 2)
   lines =<< trim END
     vim9script
     let l: dict<string> = #{a: 234, b: 'x'}
   END
-  CheckScriptFailure(lines, 'E1012:')
+  CheckScriptFailure(lines, 'E1012:', 2)
 enddef
 
 let g:oneString = 'one'
@@ -1772,9 +1773,9 @@
   assert_equal('one', #{one: 'one'}.one)
   assert_equal('one', #{one: 'one'}[g:oneString])
 
-  call CheckDefFailure(["let x = g:dict_one.#$!"], 'E1002:')
-  call CheckDefExecFailure(["let d: dict<any>", "echo d['a']"], 'E716:')
-  call CheckDefExecFailure(["let d: dict<number>", "d = g:list_empty"], 'E1029: Expected dict but got list')
+  call CheckDefFailure(["let x = g:dict_one.#$!"], 'E1002:', 1)
+  call CheckDefExecFailure(["let d: dict<any>", "echo d['a']"], 'E716:', 2)
+  call CheckDefExecFailure(["let d: dict<number>", "d = g:list_empty"], 'E1029: Expected dict but got list', 2)
 enddef
 
 def Test_expr7_any_index_slice()
@@ -1844,20 +1845,20 @@
   CheckDefSuccess(lines)
   CheckScriptSuccess(['vim9script'] + lines)
 
-  CheckDefExecFailure(['echo g:testblob[2]'], 'E979:')
-  CheckScriptFailure(['vim9script', 'echo g:testblob[2]'], 'E979:')
-  CheckDefExecFailure(['echo g:testblob[-3]'], 'E979:')
-  CheckScriptFailure(['vim9script', 'echo g:testblob[-3]'], 'E979:')
+  CheckDefExecFailure(['echo g:testblob[2]'], 'E979:', 1)
+  CheckScriptFailure(['vim9script', 'echo g:testblob[2]'], 'E979:', 2)
+  CheckDefExecFailure(['echo g:testblob[-3]'], 'E979:', 1)
+  CheckScriptFailure(['vim9script', 'echo g:testblob[-3]'], 'E979:', 2)
 
-  CheckDefExecFailure(['echo g:testlist[4]'], 'E684:')
-  CheckScriptFailure(['vim9script', 'echo g:testlist[4]'], 'E684:')
-  CheckDefExecFailure(['echo g:testlist[-5]'], 'E684:')
-  CheckScriptFailure(['vim9script', 'echo g:testlist[-5]'], 'E684:')
+  CheckDefExecFailure(['echo g:testlist[4]'], 'E684:', 1)
+  CheckScriptFailure(['vim9script', 'echo g:testlist[4]'], 'E684:', 2)
+  CheckDefExecFailure(['echo g:testlist[-5]'], 'E684:', 1)
+  CheckScriptFailure(['vim9script', 'echo g:testlist[-5]'], 'E684:', 2)
 
-  CheckDefExecFailure(['echo g:testdict["a":"b"]'], 'E719:')
-  CheckScriptFailure(['vim9script', 'echo g:testdict["a":"b"]'], 'E719:')
-  CheckDefExecFailure(['echo g:testdict[1]'], 'E716:')
-  CheckScriptFailure(['vim9script', 'echo g:testdict[1]'], 'E716:')
+  CheckDefExecFailure(['echo g:testdict["a":"b"]'], 'E719:', 1)
+  CheckScriptFailure(['vim9script', 'echo g:testdict["a":"b"]'], 'E719:', 2)
+  CheckDefExecFailure(['echo g:testdict[1]'], 'E716:', 1)
+  CheckScriptFailure(['vim9script', 'echo g:testdict[1]'], 'E716:', 2)
 
   unlet g:teststring
   unlet g:testblob
@@ -1926,7 +1927,7 @@
   assert_equal('testvar', $TESTVAR)
   assert_equal('', $ASDF_ASD_XXX)
 
-  call CheckDefFailure(["let x = $$$"], 'E1002:')
+  call CheckDefFailure(["let x = $$$"], 'E1002:', 1)
 enddef
 
 def Test_expr7_register()
@@ -1941,7 +1942,7 @@
 
   normal axyz
   assert_equal("xyz", @.)
-  call CheckDefFailure(["@. = 'yes'"], 'E354:')
+  call CheckDefFailure(["@. = 'yes'"], 'E354:', 1)
 
   @/ = 'slash'
   assert_equal('slash', @/)
@@ -2026,11 +2027,11 @@
   assert_equal(true, !range(5)->empty())
   assert_equal([0, 1, 2], --3->range())
 
-  call CheckDefFailure(["let x = 'yes'->Echo"], 'E107:')
+  call CheckDefFailure(["let x = 'yes'->Echo"], 'E107:', 1)
   call CheckScriptFailure([
 	"vim9script",
 	"let x = substitute ('x', 'x', 'x', 'x')"
-	], 'E121:')
+	], 'E121:', 2)
 
   let auto_lines =<< trim END
       def g:some#func(): string
@@ -2085,45 +2086,45 @@
 enddef
 
 func Test_expr7_fails()
-  call CheckDefFailure(["let x = (12"], "E110:")
+  call CheckDefFailure(["let x = (12"], "E110:", 1)
 
-  call CheckDefFailure(["let x = -'xx'"], "E1030:")
-  call CheckDefFailure(["let x = +'xx'"], "E1030:")
-  call CheckDefFailure(["let x = -0z12"], "E974:")
-  call CheckDefExecFailure(["let x = -[8]"], "E39:")
-  call CheckDefExecFailure(["let x = -{'a': 1}"], "E39:")
+  call CheckDefFailure(["let x = -'xx'"], "E1030:", 1)
+  call CheckDefFailure(["let x = +'xx'"], "E1030:", 1)
+  call CheckDefFailure(["let x = -0z12"], "E974:", 1)
+  call CheckDefExecFailure(["let x = -[8]"], "E39:", 1)
+  call CheckDefExecFailure(["let x = -{'a': 1}"], "E39:", 1)
 
-  call CheckDefFailure(["let x = @"], "E1002:")
-  call CheckDefFailure(["let x = @<"], "E354:")
+  call CheckDefFailure(["let x = @"], "E1002:", 1)
+  call CheckDefFailure(["let x = @<"], "E354:", 1)
 
-  call CheckDefFailure(["let x = [1, 2"], "E697:")
-  call CheckDefFailure(["let x = [notfound]"], "E1001:")
+  call CheckDefFailure(["let x = [1, 2"], "E697:", 2)
+  call CheckDefFailure(["let x = [notfound]"], "E1001:", 1)
 
-  call CheckDefFailure(["let x = { -> 123) }"], "E451:")
-  call CheckDefFailure(["let x = 123->{x -> x + 5) }"], "E451:")
+  call CheckDefFailure(["let x = { -> 123) }"], "E451:", 1)
+  call CheckDefFailure(["let x = 123->{x -> x + 5) }"], "E451:", 1)
 
-  call CheckDefFailure(["let x = &notexist"], 'E113:')
-  call CheckDefFailure(["&grepprg = [343]"], 'E1012:')
+  call CheckDefFailure(["let x = &notexist"], 'E113:', 1)
+  call CheckDefFailure(["&grepprg = [343]"], 'E1012:', 1)
 
-  call CheckDefExecFailure(["echo s:doesnt_exist"], 'E121:')
-  call CheckDefExecFailure(["echo g:doesnt_exist"], 'E121:')
+  call CheckDefExecFailure(["echo s:doesnt_exist"], 'E121:', 1)
+  call CheckDefExecFailure(["echo g:doesnt_exist"], 'E121:', 1)
 
-  call CheckDefFailure(["echo a:somevar"], 'E1075:')
-  call CheckDefFailure(["echo l:somevar"], 'E1075:')
-  call CheckDefFailure(["echo x:somevar"], 'E1075:')
+  call CheckDefFailure(["echo a:somevar"], 'E1075:', 1)
+  call CheckDefFailure(["echo l:somevar"], 'E1075:', 1)
+  call CheckDefFailure(["echo x:somevar"], 'E1075:', 1)
 
-  call CheckDefExecFailure(["let x = +g:astring"], 'E1030:')
-  call CheckDefExecFailure(["let x = +g:ablob"], 'E974:')
-  call CheckDefExecFailure(["let x = +g:alist"], 'E745:')
-  call CheckDefExecFailure(["let x = +g:adict"], 'E728:')
+  call CheckDefExecFailure(["let x = +g:astring"], 'E1030:', 1)
+  call CheckDefExecFailure(["let x = +g:ablob"], 'E974:', 1)
+  call CheckDefExecFailure(["let x = +g:alist"], 'E745:', 1)
+  call CheckDefExecFailure(["let x = +g:adict"], 'E728:', 1)
 
-  call CheckDefFailure(["let x = ''", "let y = x.memb"], 'E715:')
+  call CheckDefFailure(["let x = ''", "let y = x.memb"], 'E715:', 2)
 
-  call CheckDefFailure(["'yes'->", "Echo()"], 'E488: Trailing characters: ->')
+  call CheckDefFailure(["'yes'->", "Echo()"], 'E488: Trailing characters: ->', 1)
 
-  call CheckDefExecFailure(["[1, 2->len()"], 'E697:')
-  call CheckDefExecFailure(["#{a: 1->len()"], 'E488:')
-  call CheckDefExecFailure(["{'a': 1->len()"], 'E723:')
+  call CheckDefExecFailure(["[1, 2->len()"], 'E697:', 2)
+  call CheckDefExecFailure(["#{a: 1->len()"], 'E488:', 1)
+  call CheckDefExecFailure(["{'a': 1->len()"], 'E723:', 2)
 endfunc
 
 let g:Funcrefs = [function('add')]
@@ -2246,7 +2247,7 @@
 
   lines = ['let l = [0, 1, 2]', 'echo l[g:astring : g:theone]']
   CheckDefExecFailure(lines, 'E1029:')
-  CheckScriptFailure(['vim9script'] + lines, 'E1030:')
+  CheckScriptFailure(['vim9script'] + lines, 'E1030:', 3)
 enddef
 
 def Test_expr7_subscript_linebreak()
@@ -2307,25 +2308,25 @@
 enddef
 
 func Test_expr7_trailing_fails()
-  call CheckDefFailure(['let l = [2]', 'l->{l -> add(l, 8)}'], 'E107')
-  call CheckDefFailure(['let l = [2]', 'l->{l -> add(l, 8)} ()'], 'E274')
+  call CheckDefFailure(['let l = [2]', 'l->{l -> add(l, 8)}'], 'E107:', 2)
+  call CheckDefFailure(['let l = [2]', 'l->{l -> add(l, 8)} ()'], 'E274:', 2)
 endfunc
 
 func Test_expr_fails()
-  call CheckDefFailure(["let x = '1'is2"], 'E488:')
-  call CheckDefFailure(["let x = '1'isnot2"], 'E488:')
+  call CheckDefFailure(["let x = '1'is2"], 'E488:', 1)
+  call CheckDefFailure(["let x = '1'isnot2"], 'E488:', 1)
 
-  call CheckDefFailure(["CallMe ('yes')"], 'E476:')
-  call CheckDefFailure(["CallMe2('yes','no')"], 'E1069:')
-  call CheckDefFailure(["CallMe2('yes' , 'no')"], 'E1068:')
+  call CheckDefFailure(["CallMe ('yes')"], 'E476:', 1)
+  call CheckDefFailure(["CallMe2('yes','no')"], 'E1069:', 1)
+  call CheckDefFailure(["CallMe2('yes' , 'no')"], 'E1068:', 1)
 
-  call CheckDefFailure(["v:nosuch += 3"], 'E1001:')
-  call CheckDefFailure(["let v:statusmsg = ''"], 'E1016: Cannot declare a v: variable:')
-  call CheckDefFailure(["let asdf = v:nosuch"], 'E1001:')
+  call CheckDefFailure(["v:nosuch += 3"], 'E1001:', 1)
+  call CheckDefFailure(["let v:statusmsg = ''"], 'E1016: Cannot declare a v: variable:', 1)
+  call CheckDefFailure(["let asdf = v:nosuch"], 'E1001:', 1)
 
-  call CheckDefFailure(["echo len('asdf'"], 'E110:')
-  call CheckDefFailure(["echo Func0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789()"], 'E1011:')
-  call CheckDefFailure(["echo doesnotexist()"], 'E117:')
+  call CheckDefFailure(["echo len('asdf'"], 'E110:', 2)
+  call CheckDefFailure(["echo Func0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789()"], 'E1011:', 1)
+  call CheckDefFailure(["echo doesnotexist()"], 'E117:', 1)
 endfunc
 
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/vim9.vim b/src/testdir/vim9.vim
index c890b0c..823a6ca 100644
--- a/src/testdir/vim9.vim
+++ b/src/testdir/vim9.vim
@@ -10,24 +10,28 @@
 
 " Check that "lines" inside ":def" results in an "error" message.
 " If "lnum" is given check that the error is reported for this line.
-func CheckDefFailure(lines, error, lnum = -1)
-  call writefile(['def Func()'] + a:lines + ['enddef', 'defcompile'], 'Xdef')
-  call assert_fails('so Xdef', a:error, a:lines, a:lnum)
+" Add a line before and after to make it less likely that the line number is
+" accidentally correct.
+func CheckDefFailure(lines, error, lnum = -3)
+  call writefile(['def Func()', '# comment'] + a:lines + ['#comment', 'enddef', 'defcompile'], 'Xdef')
+  call assert_fails('so Xdef', a:error, a:lines, a:lnum + 1)
   call delete('Xdef')
 endfunc
 
 " Check that "lines" inside ":def" results in an "error" message when executed.
 " If "lnum" is given check that the error is reported for this line.
-func CheckDefExecFailure(lines, error, lnum = -1)
-  call writefile(['def Func()'] + a:lines + ['enddef'], 'Xdef')
+" Add a line before and after to make it less likely that the line number is
+" accidentally correct.
+func CheckDefExecFailure(lines, error, lnum = -3)
+  call writefile(['def Func()', '# comment'] + a:lines + ['#comment', 'enddef'], 'Xdef')
   so Xdef
-  call assert_fails('call Func()', a:error, a:lines, a:lnum)
+  call assert_fails('call Func()', a:error, a:lines, a:lnum + 1)
   call delete('Xdef')
 endfunc
 
-def CheckScriptFailure(lines: list<string>, error: string)
+def CheckScriptFailure(lines: list<string>, error: string, lnum = -3)
   writefile(lines, 'Xdef')
-  assert_fails('so Xdef', error, lines)
+  assert_fails('so Xdef', error, lines, lnum)
   delete('Xdef')
 enddef
 
diff --git a/src/version.c b/src/version.c
index fc6884c..130d4bc 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1481,
+/**/
     1480,
 /**/
     1479,
diff --git a/src/vim9execute.c b/src/vim9execute.c
index fe78e8f..a49f3d7 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -2317,6 +2317,7 @@
 		    // slice: composite is at stack-3, indexes at stack-2 and
 		    // stack-1
 		    tv = is_slice ? STACK_TV_BOT(-3) : STACK_TV_BOT(-2);
+		    SOURCING_LNUM = iptr->isn_lnum;
 		    if (check_can_index(tv, TRUE, TRUE) == FAIL)
 			goto on_error;
 		    var1 = is_slice ? STACK_TV_BOT(-2) : STACK_TV_BOT(-1);
@@ -2463,6 +2464,7 @@
 		    int		error = FALSE;
 
 		    tv = STACK_TV_BOT(-1);
+		    SOURCING_LNUM = iptr->isn_lnum;
 		    if (check_not_string(tv) == FAIL)
 			goto on_error;
 		    (void)tv_get_number_chk(tv, &error);
