patch 7.4.1574
Problem:    ":undo 0" does not work. (Florent Fayolle)
Solution:   Make it undo all the way. (closes #688)
diff --git a/src/testdir/test_alot.vim b/src/testdir/test_alot.vim
index 94ff8b1..bd74afc 100644
--- 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
diff --git a/src/testdir/test_undolevels.vim b/src/testdir/test_undolevels.vim
index 427cece..7bb25ef 100644
--- 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
diff --git a/src/undo.c b/src/undo.c
index 2bf815b..07b2781 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -2286,7 +2286,14 @@
      * 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
diff --git a/src/version.c b/src/version.c
index c3c9323..4779f7d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -744,6 +744,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1574,
+/**/
     1573,
 /**/
     1572,