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