diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/eval.c | 10 | ||||
| -rw-r--r-- | src/nvim/eval/encode.c | 4 | ||||
| -rw-r--r-- | src/nvim/ex_getln.c | 1 | 
3 files changed, 10 insertions, 5 deletions
| diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 6271603a1d..b45cfcb427 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -14545,12 +14545,14 @@ static void f_setline(typval_T *argvars, typval_T *rettv, FunPtr fptr)    // Default result is zero == OK.    for (;; ) { +    if (argvars[1].v_type == VAR_LIST) {        // List argument, get next string. -    if (li == NULL) { -      break; +      if (li == NULL) { +        break; +      } +      line = tv_get_string_chk(TV_LIST_ITEM_TV(li)); +      li = TV_LIST_ITEM_NEXT(l, li);      } -    line = tv_get_string_chk(TV_LIST_ITEM_TV(li)); -    li = TV_LIST_ITEM_NEXT(l, li);      rettv->vval.v_number = 1;  // FAIL      if (line == NULL || lnum < 1 || lnum > curbuf->b_ml.ml_line_count + 1) { diff --git a/src/nvim/eval/encode.c b/src/nvim/eval/encode.c index 50ddb1f38c..85fd4d1578 100644 --- a/src/nvim/eval/encode.c +++ b/src/nvim/eval/encode.c @@ -140,7 +140,9 @@ static int conv_error(const char *const msg, const MPConvStack *const mpstack,                                        ? tv_list_last(v.data.l.list)                                        : TV_LIST_ITEM_PREV(v.data.l.list,                                                            v.data.l.li)); -        int idx = (int)tv_list_idx_of_item(v.data.l.list, li); +        int idx = (li == NULL +                   ? 0 +                   : (int)tv_list_idx_of_item(v.data.l.list, li));          if (v.type == kMPConvList              || li == NULL              || (TV_LIST_ITEM_TV(li)->v_type != VAR_LIST diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index fcd230d535..a5a8804e1c 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -2680,6 +2680,7 @@ static bool color_cmdline(CmdlineInfo *colored_ccline)        .end = end,        .attr = attr,      })); +    i++;    });    if (prev_end < colored_ccline->cmdlen) {      kv_push(ccline_colors->colors, ((CmdlineColorChunk) { | 
