diff src/evalfunc.c @ 13278:28ae299c6af0 v8.0.1513

patch 8.0.1513: the jumplist is not always properly cleaned up commit https://github.com/vim/vim/commit/486797413791f6be12dcec6e5faf4f952e4647ae Author: Bram Moolenaar <Bram@vim.org> Date: Tue Feb 13 13:33:29 2018 +0100 patch 8.0.1513: the jumplist is not always properly cleaned up Problem: The jumplist is not always properly cleaned up. Solution: Call fname2fnum() before cleanup_jumplist(). (Yegappan Lakshmanan)
author Christian Brabandt <cb@256bit.org>
date Tue, 13 Feb 2018 13:45:05 +0100
parents abaebba89fd4
children fbda23eb0996
line wrap: on
line diff
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -4858,13 +4858,12 @@ f_getjumplist(typval_T *argvars, typval_
 	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)