summaryrefslogtreecommitdiffstats
path: root/src/evalfunc.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-02-13 13:33:29 +0100
committerBram Moolenaar <Bram@vim.org>2018-02-13 13:33:29 +0100
commit486797413791f6be12dcec6e5faf4f952e4647ae (patch)
tree634eaba94ff66c1da1e52fd4a574247b8c8cbf0c /src/evalfunc.c
parente4db7aedab65abadcc84c78e7a10ec7bb62f11cf (diff)
patch 8.0.1513: the jumplist is not always properly cleaned upv8.0.1513
Problem: The jumplist is not always properly cleaned up. Solution: Call fname2fnum() before cleanup_jumplist(). (Yegappan Lakshmanan)
Diffstat (limited to 'src/evalfunc.c')
-rw-r--r--src/evalfunc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 959be0cf8e..7ea106bf65 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -4858,13 +4858,12 @@ f_getjumplist(typval_T *argvars, typval_T *rettv)
return;
list_append_number(rettv->vval.v_list, (varnumber_T)wp->w_jumplistidx);
- cleanup_jumplist(wp);
+ cleanup_jumplist(wp, TRUE);
+
for (i = 0; i < wp->w_jumplistlen; ++i)
{
if (wp->w_jumplist[i].fmark.mark.lnum == 0)
continue;
- if (wp->w_jumplist[i].fmark.fnum == 0)
- fname2fnum(&wp->w_jumplist[i]);
if ((d = dict_alloc()) == NULL)
return;
if (list_append_dict(l, d) == FAIL)