diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index 2f4c0d1..1b2daae 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -225,6 +225,45 @@
   END
 enddef
 
+def Test_assign_unpack()
+  var lines =<< trim END
+    var v1: number
+    var v2: number
+    [v1, v2] = [1, 2]
+    assert_equal(1, v1)
+    assert_equal(2, v2)
+  END
+  CheckDefAndScriptSuccess(lines)
+
+  lines =<< trim END
+      var v1: number
+      var v2: number
+      [v1, v2] = 
+  END
+  CheckDefFailure(lines, 'E1097:', 5)
+
+  lines =<< trim END
+      var v1: number
+      var v2: number
+      [v1, v2] = xxx
+  END
+  CheckDefFailure(lines, 'E1001:', 3)
+
+  lines =<< trim END
+      var v1: number
+      var v2: number
+      [v1, v2] = popup_clear()
+  END
+  CheckDefFailure(lines, 'E1031:', 3)
+
+  lines =<< trim END
+      var v1: number
+      var v2: number
+      [v1, v2] = ''
+  END
+  CheckDefFailure(lines, 'E1012: Type mismatch; expected list<any> but got string', 3)
+enddef
+
 def Test_assign_linebreak()
   var nr: number
   nr =
@@ -237,7 +276,7 @@
   assert_equal(12, nr)
   assert_equal(34, n2)
 
-  CheckDefFailure(["var x = #"], 'E1097:', 2)
+  CheckDefFailure(["var x = #"], 'E1097:', 3)
 enddef
 
 def Test_assign_index()
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index ed6c285..10230d5 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -188,8 +188,8 @@
   call CheckDefExecFailure(["var x = [] ? 'one' : 'two'"], 'E745:', 1)
   call CheckDefExecFailure(["var x = {} ? 'one' : 'two'"], 'E728:', 1)
 
-  call CheckDefExecFailure(["var x = false ? "], 'E1097:', 2)
-  call CheckDefExecFailure(["var x = false ? 'one' : "], 'E1097:', 2)
+  call CheckDefExecFailure(["var x = false ? "], 'E1097:', 3)
+  call CheckDefExecFailure(["var x = false ? 'one' : "], 'E1097:', 3)
 
   call CheckDefExecFailure(["var x = true ? xxx : 'foo'"], 'E1001:', 1)
   call CheckDefExecFailure(["var x = false ? 'foo' : xxx"], 'E1001:', 1)
@@ -352,7 +352,7 @@
   call CheckDefFailure(["var x = 1 ||2"], msg, 1)
   call CheckDefFailure(["var x = 1|| 2"], msg, 1)
 
-  call CheckDefFailure(["var x = false || "], 'E1097:', 2)
+  call CheckDefFailure(["var x = false || "], 'E1097:', 3)
 
   call CheckDefFailure(["var x = 1 || xxx"], 'E1001:', 1)
   call CheckDefFailure(["var x = [] || false"], 'E1012:', 1)
@@ -587,7 +587,7 @@
   CheckDefAndScriptSuccess(lines)
 
   CheckDefFailure(["var x = 'a' == xxx"], 'E1001:', 1)
-  CheckDefFailure(["var x = 'a' == "], 'E1097:', 2)
+  CheckDefFailure(["var x = 'a' == "], 'E1097:', 3)
 
   CheckDefExecFailure(['var items: any', 'eval 1', 'eval 2', 'if items == []', 'endif'], 'E691:', 4)
 enddef
@@ -1359,7 +1359,7 @@
   CheckDefAndScriptSuccess(lines)
 
   CheckDefFailure(["var x = 6 * xxx"], 'E1001:', 1)
-  CheckDefFailure(["var d = 6 * "], 'E1097:', 2)
+  CheckDefFailure(["var d = 6 * "], 'E1097:', 3)
 enddef
 
 def Test_expr6_vim9script()
@@ -1531,7 +1531,7 @@
   assert_equal(234, nr)
 
   CheckDefFailure(["var x = <nr>123"], 'E1010:', 1)
-  CheckDefFailure(["var x = <number>"], 'E1097:', 2)
+  CheckDefFailure(["var x = <number>"], 'E1097:', 3)
   CheckDefFailure(["var x = <number >123"], 'E1068:', 1)
   CheckDefFailure(["var x = <number 123"], 'E1104:', 1)
 enddef
@@ -1684,8 +1684,8 @@
   CheckDefExecFailure(["echo 1", "var x = [][0]", "echo 3"], 'E684:', 2)
 
   CheckDefExecFailure(["var x = g:list_mixed['xx']"], 'E1012:', 1)
-  CheckDefFailure(["var x = g:list_mixed["], 'E1097:', 2)
-  CheckDefFailure(["var x = g:list_mixed[0"], 'E1097:', 2)
+  CheckDefFailure(["var x = g:list_mixed["], 'E1097:', 3)
+  CheckDefFailure(["var x = g:list_mixed[0"], 'E1097:', 3)
   CheckDefExecFailure(["var x = g:list_empty[3]"], 'E684:', 1)
   CheckDefExecFailure(["var l: list<number> = [234, 'x']"], 'E1012:', 1)
   CheckDefExecFailure(["var l: list<number> = ['x', 234]"], 'E1012:', 1)
@@ -1948,8 +1948,8 @@
   CheckDefAndScriptSuccess(lines)
  
   # legacy syntax doesn't work
-  CheckDefFailure(["var x = #{key: 8}"], 'E1097:', 2)
-  CheckDefFailure(["var x = 'a' .. #{a: 1}"], 'E1097:', 2)
+  CheckDefFailure(["var x = #{key: 8}"], 'E1097:', 3)
+  CheckDefFailure(["var x = 'a' .. #{a: 1}"], 'E1097:', 3)
 
   CheckDefFailure(["var x = {a:8}"], 'E1069:', 1)
   CheckDefFailure(["var x = {a : 8}"], 'E1059:', 1)
@@ -2609,7 +2609,7 @@
   lines =<< trim END
       var d = 'asdf'[1:
   END
-  CheckDefFailure(lines, 'E1097:', 2)
+  CheckDefFailure(lines, 'E1097:', 3)
   lines =<< trim END
       var d = 'asdf'[1:xxx]
   END
@@ -2617,7 +2617,7 @@
   lines =<< trim END
       var d = 'asdf'[1:2
   END
-  CheckDefFailure(lines, 'E1097:', 2)
+  CheckDefFailure(lines, 'E1097:', 3)
   lines =<< trim END
       var d = 'asdf'[1:2
       echo d
diff --git a/src/version.c b/src/version.c
index b0df924..8dba7a6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2107,
+/**/
     2106,
 /**/
     2105,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 9f2aaba..310e9e2 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -2229,6 +2229,7 @@
 {
     if (may_get_next_line(whitep, arg, cctx) == FAIL)
     {
+	SOURCING_LNUM = cctx->ctx_lnum + 1;
 	emsg(_(e_line_incomplete));
 	return FAIL;
     }
@@ -5300,7 +5301,7 @@
 
 	wp = op + oplen;
 	p = skipwhite(wp);
-	if (may_get_next_line(wp, &p, cctx) == FAIL)
+	if (may_get_next_line_error(wp, &p, cctx) == FAIL)
 	    return FAIL;
 	if (compile_expr0(&p, cctx) == FAIL)
 	    return NULL;
