diff --git a/src/evalfunc.c b/src/evalfunc.c
index e7683fc..e69f293 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -8400,7 +8400,7 @@
 	return;
     }
     if (argvars[1].v_type != VAR_UNKNOWN)
-	retList = (int)tv_get_number_chk(&argvars[1], &error);
+	retList = (int)tv_get_bool_chk(&argvars[1], &error);
     if (error)
 	return;
 
diff --git a/src/job.c b/src/job.c
index 0e73b1c..f55a8cd 100644
--- a/src/job.c
+++ b/src/job.c
@@ -448,7 +448,7 @@
 		if (!(supported2 & JO2_CURWIN))
 		    break;
 		opt->jo_set2 |= JO2_CURWIN;
-		opt->jo_curwin = tv_get_number(item);
+		opt->jo_curwin = tv_get_bool(item);
 	    }
 	    else if (STRCMP(hi->hi_key, "bufnr") == 0)
 	    {
diff --git a/src/terminal.c b/src/terminal.c
index cab9cb9..fe84a9f 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -5768,7 +5768,7 @@
     if (buf == NULL)
 	return;
     if (argvars[1].v_type != VAR_UNKNOWN)
-	num = tv_get_number(&argvars[1]);
+	num = tv_get_bool(&argvars[1]);
 
     switch (num)
     {
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index e315517..5800341 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1,6 +1,7 @@
 " Test various aspects of the Vim9 script language.
 
 source check.vim
+source term_util.vim
 source view_util.vim
 source vim9.vim
 source screendump.vim
@@ -1648,6 +1649,14 @@
   strchars("A\u20dd", true)->assert_equal(1)
 enddef
 
+def Test_submatch()
+  let pat = 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'
+  let Rep = {-> range(10)->map({_, v -> submatch(v, true)})->string()}
+  let actual = substitute('A123456789', pat, Rep, '')
+  let expected = "[['A123456789'], ['1'], ['2'], ['3'], ['4'], ['5'], ['6'], ['7'], ['8'], ['9']]"
+  assert_equal(expected, actual)
+enddef
+
 def Test_synID()
   new
   setline(1, "text")
@@ -1655,6 +1664,20 @@
   bwipe!
 enddef
 
+def Test_term_gettty()
+  let buf = Run_shell_in_terminal({})
+  assert_notequal('', term_gettty(buf, true))
+  StopShellInTerminal(buf)
+enddef
+
+def Test_term_start()
+  botright new
+  let winnr = winnr()
+  term_start(&shell, #{curwin: true})
+  assert_equal(winnr, winnr())
+  bwipe!
+enddef
+
 def Test_win_splitmove()
   split
   win_splitmove(1, 2, #{vertical: true, rightbelow: true})
diff --git a/src/version.c b/src/version.c
index c6c111a..b4d5769 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1627,
+/**/
     1626,
 /**/
     1625,
