From 8b6256f6ec075cca40341e61ebc9f538b4902dd1 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 28 Dec 2021 11:24:49 +0000 Subject: patch 8.2.3919: Vim9: wrong argument for append() results in two errors Problem: Vim9: wrong argument for append() results in two errors. Solution: Check did_emsg. Also for setline(). Adjust the help for appendbufline(). --- src/typval.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/typval.c') diff --git a/src/typval.c b/src/typval.c index 2f773b602..34ff47c0a 100644 --- a/src/typval.c +++ b/src/typval.c @@ -2249,9 +2249,10 @@ tv_get_lnum(typval_T *argvars) if (lnum <= 0 && argvars[0].v_type != VAR_NUMBER) { int fnum; - pos_T *fp = var2fpos(&argvars[0], TRUE, &fnum, FALSE); + pos_T *fp; // no valid number, try using arg like line() + fp = var2fpos(&argvars[0], TRUE, &fnum, FALSE); if (fp != NULL) lnum = fp->lnum; } @@ -2269,6 +2270,7 @@ tv_get_lnum_buf(typval_T *argvars, buf_T *buf) if (argvars[0].v_type == VAR_STRING && argvars[0].vval.v_string != NULL && argvars[0].vval.v_string[0] == '$' + && argvars[0].vval.v_string[1] == NUL && buf != NULL) return buf->b_ml.ml_line_count; return (linenr_T)tv_get_number_chk(&argvars[0], NULL); -- cgit v1.2.1