patch 8.2.1569: Vim9: fixes not tested; failure in getchangelist()

Problem:    Vim9: fixes for functions not tested; failure in getchangelist().
Solution:   Add tests. (closes #6813, closes #6815, closes #6817)
diff --git a/src/evalfunc.c b/src/evalfunc.c
index fff7a89..771e393 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -3081,12 +3081,7 @@
     if (argvars[0].v_type == VAR_UNKNOWN)
 	buf = curbuf;
     else
-    {
-	(void)tv_get_number(&argvars[0]);    // issue errmsg if type error
-	++emsg_off;
-	buf = tv_get_buf(&argvars[0], FALSE);
-	--emsg_off;
-    }
+	buf = tv_get_buf_from_arg(&argvars[0]);
     if (buf == NULL)
 	return;