summaryrefslogtreecommitdiff
path: root/src/evalbuffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/evalbuffer.c')
-rw-r--r--src/evalbuffer.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/evalbuffer.c b/src/evalbuffer.c
index 09db525e2..d44fb1018 100644
--- a/src/evalbuffer.c
+++ b/src/evalbuffer.c
@@ -176,6 +176,7 @@ set_buffer_lines(
if (lines->v_type == VAR_LIST)
{
l = lines->vval.v_list;
+ range_list_materialize(l);
li = l->lv_first;
}
else
@@ -689,10 +690,16 @@ get_buffer_lines(
{
char_u *p;
- rettv->v_type = VAR_STRING;
- rettv->vval.v_string = NULL;
- if (retlist && rettv_list_alloc(rettv) == FAIL)
- return;
+ if (retlist)
+ {
+ if (rettv_list_alloc(rettv) == FAIL)
+ return;
+ }
+ else
+ {
+ rettv->v_type = VAR_STRING;
+ rettv->vval.v_string = NULL;
+ }
if (buf == NULL || buf->b_ml.ml_mfp == NULL || start < 0)
return;