From e6e70a10f118ecfa9df2425e8724bc009bd09929 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 22 Oct 2020 18:23:38 +0200 Subject: patch 8.2.1888: Vim9: getbufline(-1, 1, '$') gives an error Problem: Vim9: Getbufline(-1, 1, '$') gives an error. Solution: Return an empty list. (closes #7180) --- src/evalbuffer.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'src/evalbuffer.c') diff --git a/src/evalbuffer.c b/src/evalbuffer.c index 34155b9cbb..eabe626f50 100644 --- a/src/evalbuffer.c +++ b/src/evalbuffer.c @@ -717,17 +717,19 @@ get_buffer_lines( void f_getbufline(typval_T *argvars, typval_T *rettv) { - linenr_T lnum; - linenr_T end; + linenr_T lnum = 1; + linenr_T end = 1; buf_T *buf; buf = tv_get_buf_from_arg(&argvars[0]); - - lnum = tv_get_lnum_buf(&argvars[1], buf); - if (argvars[2].v_type == VAR_UNKNOWN) - end = lnum; - else - end = tv_get_lnum_buf(&argvars[2], buf); + if (buf != NULL) + { + lnum = tv_get_lnum_buf(&argvars[1], buf); + if (argvars[2].v_type == VAR_UNKNOWN) + end = lnum; + else + end = tv_get_lnum_buf(&argvars[2], buf); + } get_buffer_lines(buf, lnum, end, TRUE, rettv); } -- cgit v1.2.3