]> granicus.if.org Git - vim/commitdiff
updated for version 7.0-182 v7.0.182
authorBram Moolenaar <Bram@vim.org>
Tue, 9 Jan 2007 19:23:12 +0000 (19:23 +0000)
committerBram Moolenaar <Bram@vim.org>
Tue, 9 Jan 2007 19:23:12 +0000 (19:23 +0000)
src/undo.c
src/version.c

index d56302d626ac2c845406fd0aa718de7b52b67302..7167cabcc98ccdb4926a42f847a0fa492814bf84 100644 (file)
@@ -341,11 +341,15 @@ u_savecommon(top, bot, newbot)
        uhp->uh_alt_next = old_curhead;
        if (old_curhead != NULL)
        {
+           uhp->uh_alt_prev = old_curhead->uh_alt_prev;
+           if (uhp->uh_alt_prev != NULL)
+               uhp->uh_alt_prev->uh_alt_next = uhp;
            old_curhead->uh_alt_prev = uhp;
            if (curbuf->b_u_oldhead == old_curhead)
                curbuf->b_u_oldhead = uhp;
        }
-       uhp->uh_alt_prev = NULL;
+       else
+           uhp->uh_alt_prev = NULL;
        if (curbuf->b_u_newhead != NULL)
            curbuf->b_u_newhead->uh_prev = uhp;
 
@@ -856,6 +860,11 @@ undo_time(step, sec, absolute)
        uhp = curbuf->b_u_curhead;
        while (uhp != NULL)
        {
+           /* Go back to the first branch with a mark. */
+           while (uhp->uh_alt_prev != NULL
+                                       && uhp->uh_alt_prev->uh_walk == mark)
+               uhp = uhp->uh_alt_prev;
+
            /* Find the last branch with a mark, that's the one. */
            last = uhp;
            while (last->uh_alt_next != NULL
@@ -865,6 +874,8 @@ undo_time(step, sec, absolute)
            {
                /* Make the used branch the first entry in the list of
                 * alternatives to make "u" and CTRL-R take this branch. */
+               while (uhp->uh_alt_prev != NULL)
+                   uhp = uhp->uh_alt_prev;
                if (last->uh_alt_next != NULL)
                    last->uh_alt_next->uh_alt_prev = last->uh_alt_prev;
                last->uh_alt_prev->uh_alt_next = last->uh_alt_next;
index 434059de2f5059c99daa6a83ab0bec484fcef3bc..db1d34fd5f2f04606e48d9533327820585ad0c2d 100644 (file)
@@ -666,6 +666,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    182,
 /**/
     181,
 /**/