updated for version 7.4.634
Problem: Marks are not restored after redo + undo.
Solution: Fix the way marks are restored. (Olaf Dabrunz)
diff --git a/src/undo.c b/src/undo.c
index 24dcf05..034d16c 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -2847,11 +2847,14 @@
* 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;