comparison src/undo.c @ 6616:290631797b76 v7.4.634

updated for version 7.4.634 Problem: Marks are not restored after redo + undo. Solution: Fix the way marks are restored. (Olaf Dabrunz)
author Bram Moolenaar <bram@vim.org>
date Tue, 17 Feb 2015 13:43:40 +0100
parents f1ba154c3a12
children 63b2bc619d5a
comparison
equal deleted inserted replaced
6615:16cde4ab7635 6616:290631797b76
2845 2845
2846 /* 2846 /*
2847 * restore marks from before undo/redo 2847 * restore marks from before undo/redo
2848 */ 2848 */
2849 for (i = 0; i < NMARKS; ++i) 2849 for (i = 0; i < NMARKS; ++i)
2850 {
2850 if (curhead->uh_namedm[i].lnum != 0) 2851 if (curhead->uh_namedm[i].lnum != 0)
2851 {
2852 curbuf->b_namedm[i] = curhead->uh_namedm[i]; 2852 curbuf->b_namedm[i] = curhead->uh_namedm[i];
2853 if (namedm[i].lnum != 0)
2853 curhead->uh_namedm[i] = namedm[i]; 2854 curhead->uh_namedm[i] = namedm[i];
2854 } 2855 else
2856 curhead->uh_namedm[i].lnum = 0;
2857 }
2855 if (curhead->uh_visual.vi_start.lnum != 0) 2858 if (curhead->uh_visual.vi_start.lnum != 0)
2856 { 2859 {
2857 curbuf->b_visual = curhead->uh_visual; 2860 curbuf->b_visual = curhead->uh_visual;
2858 curhead->uh_visual = visualinfo; 2861 curhead->uh_visual = visualinfo;
2859 } 2862 }