diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-05-01 23:05:53 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-05-01 23:05:53 +0200 |
commit | d8585eded6359f1d7e1981e96ae775efd077c638 (patch) | |
tree | 38d8334bedc5b982160b8a4d55e35805a2b64010 /src/eval.c | |
parent | 9a3b3311d26c990208150255ad65472bb4eefaa4 (diff) |
patch 7.4.1816v7.4.1816
Problem: Looping over a null list throws an error.
Solution: Skip over the for loop.
Diffstat (limited to 'src/eval.c')
-rw-r--r-- | src/eval.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c index fa2f839e3d..83bac72439 100644 --- a/src/eval.c +++ b/src/eval.c @@ -3292,11 +3292,16 @@ eval_for_line( if (!skip) { l = tv.vval.v_list; - if (tv.v_type != VAR_LIST || l == NULL) + if (tv.v_type != VAR_LIST) { EMSG(_(e_listreq)); clear_tv(&tv); } + else if (l == NULL) + { + /* a null list is like an empty list: do nothing */ + clear_tv(&tv); + } else { /* No need to increment the refcount, it's already set for the |