Mercurial > vim
changeset 4092:c0cc0e0620dd v7.3.800
updated for version 7.3.800
Problem: The " mark is not adjusted when inserting lines. (Roland Eggner)
Solution: Adjust the line number. (Christian Brabandt)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 06 Feb 2013 12:33:21 +0100 |
parents | e182a0753d74 |
children | 8fa7167b26d7 |
files | src/mark.c src/version.c |
diffstat | 2 files changed, 8 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/mark.c +++ b/src/mark.c @@ -1047,6 +1047,7 @@ mark_adjust(line1, line2, amount, amount #ifdef FEAT_WINDOWS tabpage_T *tab; #endif + static pos_T initpos = INIT_POS_T(1, 0, 0); if (line2 < line1 && amount_after == 0L) /* nothing to do */ return; @@ -1072,6 +1073,11 @@ mark_adjust(line1, line2, amount, amount /* last change position */ one_adjust(&(curbuf->b_last_change.lnum)); + /* last cursor position, if it was set */ + if (!equalpos(curbuf->b_last_cursor, initpos)) + one_adjust(&(curbuf->b_last_cursor.lnum)); + + #ifdef FEAT_JUMPLIST /* list of change positions */ for (i = 0; i < curbuf->b_changelistlen; ++i)