]> granicus.if.org Git - vim/commitdiff
patch 7.4.1982 v7.4.1982
authorBram Moolenaar <Bram@vim.org>
Sat, 2 Jul 2016 17:20:06 +0000 (19:20 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 2 Jul 2016 17:20:06 +0000 (19:20 +0200)
Problem:    Viminfo file contains duplicate change marks.
Solution:   Drop duplicate marks.

src/mark.c
src/version.c

index 264124f59e199a3e29923adf23cb5db3d0ea3968..2e8fdd63f97d7f4f2cdcf1068059b7a6971b5c75 100644 (file)
@@ -1859,7 +1859,12 @@ write_viminfo_marks(FILE *fp_out)
 #ifdef FEAT_JUMPLIST
                /* changelist positions are stored oldest first */
                for (i = 0; i < buf->b_changelistlen; ++i)
-                   write_one_mark(fp_out, '+', &buf->b_changelist[i]);
+               {
+                   /* skip duplicates */
+                   if (i == 0 || !equalpos(buf->b_changelist[i - 1],
+                                                       buf->b_changelist[i]))
+                       write_one_mark(fp_out, '+', &buf->b_changelist[i]);
+               }
 #endif
                for (i = 0; i < NMARKS; i++)
                    write_one_mark(fp_out, 'a' + i, &buf->b_namedm[i]);
index f8b6fff27812171da7b7f38163d052ef8829b3a0..8d9995aef16b56bd69e33b630a5b39d05957f97e 100644 (file)
@@ -758,6 +758,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1982,
 /**/
     1981,
 /**/