aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 116944b28d..744fb13447 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -2247,7 +2247,7 @@ static void set_var_lval(lval_T *lp, char_u *endp, typval_T *rettv, int copy, ch
int ll_n1 = lp->ll_n1;
// Check whether any of the list items is locked
- for (listitem_T *ri = rettv->vval.v_list->lv_first; ri != NULL; ) {
+ for (listitem_T *ri = rettv->vval.v_list->lv_first; ri != NULL && ll_li != NULL; ) {
if (tv_check_lock(ll_li->li_tv.v_lock, lp->ll_name)) {
return;
}
@@ -17580,15 +17580,14 @@ void ex_function(exarg_T *eap)
/* Check for defining a function inside this function. */
if (checkforcmd(&p, "function", 2)) {
- if (*p == '!')
+ if (*p == '!') {
p = skipwhite(p + 1);
+ }
p += eval_fname_script(p);
- if (ASCII_ISALPHA(*p)) {
- free(trans_function_name(&p, TRUE, 0, NULL));
- if (*skipwhite(p) == '(') {
- ++nesting;
- indent += 2;
- }
+ free(trans_function_name(&p, TRUE, 0, NULL));
+ if (*skipwhite(p) == '(') {
+ nesting++;
+ indent += 2;
}
}