1
0
forked from aniani/vim

patch 8.2.2671: error for line number in legacy script

Problem:    Error for line number in legacy script.
Solution:   Check for number type.
This commit is contained in:
Bram Moolenaar
2021-03-28 16:26:41 +02:00
parent b2ac7d0663
commit f6bdd82c7e
2 changed files with 4 additions and 1 deletions

View File

@@ -1621,11 +1621,12 @@ tv_get_lnum(typval_T *argvars)
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;
}