0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.1.1351: text property wrong after :substitute

Problem:    Text property wrong after :substitute.
Solution:   Save for undo before changing any text properties.
This commit is contained in:
Bram Moolenaar
2019-05-19 15:19:57 +02:00
parent dc6855af97
commit 338dfdad38
9 changed files with 45 additions and 11 deletions

View File

@@ -5187,6 +5187,9 @@ do_sub(exarg_T *eap)
int do_again; /* do it again after joining lines */
int skip_match = FALSE;
linenr_T sub_firstlnum; /* nr of first sub line */
#ifdef FEAT_TEXT_PROP
int save_for_undo = TRUE;
#endif
/*
* The new text is build up step by step, to avoid too much
@@ -5603,9 +5606,14 @@ do_sub(exarg_T *eap)
p1 = sub_firstline;
#ifdef FEAT_TEXT_PROP
if (curbuf->b_has_textprop)
adjust_prop_columns(lnum, regmatch.startpos[0].col,
{
// When text properties are changed, need to save for
// undo first, unless done already.
if (adjust_prop_columns(lnum, regmatch.startpos[0].col,
sublen - 1 - (regmatch.endpos[0].col
- regmatch.startpos[0].col));
- regmatch.startpos[0].col), save_for_undo))
save_for_undo = FALSE;
}
#endif
}
else