From f65aad5554f1d1f972f0bd38059da70e3cdf4c87 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 17 Feb 2015 13:43:40 +0100 Subject: updated for version 7.4.634 Problem: Marks are not restored after redo + undo. Solution: Fix the way marks are restored. (Olaf Dabrunz) --- src/undo.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/undo.c') diff --git a/src/undo.c b/src/undo.c index 24dcf0548..034d16c14 100644 --- a/src/undo.c +++ b/src/undo.c @@ -2847,11 +2847,14 @@ u_undoredo(undo) * restore marks from before undo/redo */ for (i = 0; i < NMARKS; ++i) + { if (curhead->uh_namedm[i].lnum != 0) - { curbuf->b_namedm[i] = curhead->uh_namedm[i]; + if (namedm[i].lnum != 0) curhead->uh_namedm[i] = namedm[i]; - } + else + curhead->uh_namedm[i].lnum = 0; + } if (curhead->uh_visual.vi_start.lnum != 0) { curbuf->b_visual = curhead->uh_visual; -- cgit v1.2.1