Mercurial > vim
changeset 24260:ad065f64eb20 v8.2.2671
patch 8.2.2671: error for line number in legacy script
Commit: https://github.com/vim/vim/commit/f6bdd82c7e2076dbacb764a5d288189d61c68451
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Mar 28 16:26:41 2021 +0200
patch 8.2.2671: error for line number in legacy script
Problem: Error for line number in legacy script.
Solution: Check for number type.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 28 Mar 2021 16:30:02 +0200 |
parents | b91a0ffa80f1 |
children | f5ada7905e93 |
files | src/typval.c src/version.c |
diffstat | 2 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/typval.c +++ b/src/typval.c @@ -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; }