updated for version 7.4.074 v7.4.074
authorBram Moolenaar <Bram@vim.org>
Thu, 7 Nov 2013 02:04:11 +0000 (03:04 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 7 Nov 2013 02:04:11 +0000 (03:04 +0100)
Problem:    When undo'ing all changes and creating a new change the undo
            structure is incorrect. (Christian Brabandt)
Solution:   When deleting the branch starting at the old header, delete the
            whole branch, not just the first entry.

src/undo.c
src/version.c

index 8646b4616b30cb31a8f69e0d37dea035fb322265..c16f2afa7559a9548c0e2b902839ef5d1ee449a3 100644 (file)
@@ -3121,7 +3121,8 @@ u_freebranch(buf, uhp, uhpp)
      * all the pointers. */
     if (uhp == buf->b_u_oldhead)
     {
-       u_freeheader(buf, uhp, uhpp);
+       while (buf->b_u_oldhead != NULL)
+           u_freeheader(buf, buf->b_u_oldhead, uhpp);
        return;
     }
 
index bbc36d6165c50d55d4d7047f945fbf9450a9e65d..60f9bf1b971ab8ab7fcb9ab97680ecad04ff09f4 100644 (file)
@@ -738,6 +738,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    74,
 /**/
     73,
 /**/