aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/undo.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-02-01 01:47:37 -0500
committerJustin M. Keyes <justinkz@gmail.com>2016-02-01 01:47:37 -0500
commit1d995bb35706c67b87280244fce6ebdcd2e7acb5 (patch)
tree48fb61734f6adf59ee0c38df1450358ad7ce47dd /src/nvim/undo.c
parent5ee87c68b792b4a704200b4e51ba948833b9cbfb (diff)
parent228d236bdfd85721840e7ea7935fe0060a65fa93 (diff)
downloadrneovim-1d995bb35706c67b87280244fce6ebdcd2e7acb5.tar.gz
rneovim-1d995bb35706c67b87280244fce6ebdcd2e7acb5.tar.bz2
rneovim-1d995bb35706c67b87280244fce6ebdcd2e7acb5.zip
Merge pull request #4013 from watiko/vim-increment
Vim patches related to increment and marks
Diffstat (limited to 'src/nvim/undo.c')
-rw-r--r--src/nvim/undo.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/nvim/undo.c b/src/nvim/undo.c
index 6b60f95f22..b8cdffcda0 100644
--- a/src/nvim/undo.c
+++ b/src/nvim/undo.c
@@ -2222,12 +2222,17 @@ static void u_undoredo(int undo)
/*
* restore marks from before undo/redo
*/
- for (i = 0; i < NMARKS; ++i)
+ for (i = 0; i < NMARKS; ++i) {
if (curhead->uh_namedm[i].mark.lnum != 0) {
free_fmark(curbuf->b_namedm[i]);
curbuf->b_namedm[i] = curhead->uh_namedm[i];
+ }
+ if (namedm[i].mark.lnum != 0) {
curhead->uh_namedm[i] = namedm[i];
+ } else {
+ curhead->uh_namedm[i].mark.lnum = 0;
}
+ }
if (curhead->uh_visual.vi_start.lnum != 0) {
curbuf->b_visual = curhead->uh_visual;
curhead->uh_visual = visualinfo;