changeset 8568:17bbbca531be v7.4.1574

commit https://github.com/vim/vim/commit/d22e9465f6228207a4fe722ee84371c7817060d6 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Mar 15 17:43:55 2016 +0100 patch 7.4.1574 Problem: ":undo 0" does not work. (Florent Fayolle) Solution: Make it undo all the way. (closes https://github.com/vim/vim/issues/688)
author Christian Brabandt <cb@256bit.org>
date Tue, 15 Mar 2016 17:45:04 +0100
parents 3a6010bc0a55
children b66ddd263774
files src/testdir/test_alot.vim src/testdir/test_undolevels.vim src/undo.c src/version.c
diffstat 4 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_alot.vim
+++ b/src/testdir/test_alot.vim
@@ -4,6 +4,7 @@
 source test_assign.vim
 source test_cursor_func.vim
 source test_delete.vim
+source test_ex_undo.vim
 source test_expand.vim
 source test_feedkeys.vim
 source test_file_perm.vim
--- a/src/testdir/test_undolevels.vim
+++ b/src/testdir/test_undolevels.vim
@@ -1,7 +1,5 @@
 " Tests for 'undolevels'
 
-set nocompatible viminfo+=nviminfo
-
 func FillBuffer()
   for i in range(1,13)
     put=i
--- a/src/undo.c
+++ b/src/undo.c
@@ -2286,7 +2286,14 @@ undo_time(
      * Init "closest" to a value we can't reach. */
     if (absolute)
     {
-	target = step;
+	if (step == 0)
+	{
+	    /* target 0 does not exist, got to 1 and above it. */
+	    target = 1;
+	    above = TRUE;
+	}
+	else
+	    target = step;
 	closest = -1;
     }
     else
--- a/src/version.c
+++ b/src/version.c
@@ -744,6 +744,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1574,
+/**/
     1573,
 /**/
     1572,