patch 8.2.2671: error for line number in legacy script
Problem: Error for line number in legacy script.
Solution: Check for number type.
diff --git a/src/typval.c b/src/typval.c
index ca561dd..cf1208d 100644
--- a/src/typval.c
+++ b/src/typval.c
@@ -1621,11 +1621,12 @@
if (argvars[0].v_type != VAR_STRING || !in_vim9script())
lnum = (linenr_T)tv_get_number_chk(&argvars[0], NULL);
- if (lnum < 0) // no valid number, try using arg like line()
+ if (lnum <= 0 && argvars[0].v_type != VAR_NUMBER)
{
int fnum;
pos_T *fp = var2fpos(&argvars[0], TRUE, &fnum, FALSE);
+ // no valid number, try using arg like line()
if (fp != NULL)
lnum = fp->lnum;
}