diff options
Diffstat (limited to 'src/evalbuffer.c')
-rw-r--r-- | src/evalbuffer.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/evalbuffer.c b/src/evalbuffer.c index 3fed3893e9..2ba2f679a5 100644 --- a/src/evalbuffer.c +++ b/src/evalbuffer.c @@ -128,7 +128,8 @@ find_win_for_curbuf(void) } /* - * Set line or list of lines in buffer "buf". + * Set line or list of lines in buffer "buf" to "lines". + * Any type is allowed and converted to a string. */ static void set_buffer_lines( @@ -187,7 +188,7 @@ set_buffer_lines( li = l->lv_first; } else - line = tv_get_string_chk(lines); + line = typval_tostring(lines, FALSE); // default result is zero == OK for (;;) @@ -197,7 +198,8 @@ set_buffer_lines( // list argument, get next string if (li == NULL) break; - line = tv_get_string_chk(&li->li_tv); + vim_free(line); + line = typval_tostring(&li->li_tv, FALSE); li = li->li_next; } @@ -238,6 +240,7 @@ set_buffer_lines( break; ++lnum; } + vim_free(line); if (added > 0) { |