Mercurial > vim
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