diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-02-13 13:33:29 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-02-13 13:33:29 +0100 |
commit | 486797413791f6be12dcec6e5faf4f952e4647ae (patch) | |
tree | 634eaba94ff66c1da1e52fd4a574247b8c8cbf0c /src/evalfunc.c | |
parent | e4db7aedab65abadcc84c78e7a10ec7bb62f11cf (diff) | |
download | vim-git-486797413791f6be12dcec6e5faf4f952e4647ae.tar.gz |
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.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c index 959be0cf8..7ea106bf6 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) |