mirror of
https://github.com/vim/vim.git
synced 2025-09-30 04:44:14 -04:00
patch 8.2.3062: internal error when adding several text properties
Problem: Internal error when adding several text properties. Solution: Do not handle text properties when deleting a line for splitting a data block. (closes #8466)
This commit is contained in:
@@ -3662,7 +3662,7 @@ ml_delete_int(buf_T *buf, linenr_T lnum, int flags)
|
||||
#ifdef FEAT_PROP_POPUP
|
||||
// If there are text properties, make a copy, so that we can update
|
||||
// properties in preceding and following lines.
|
||||
if (buf->b_has_textprop && !(flags & ML_DEL_UNDO))
|
||||
if (buf->b_has_textprop && !(flags & (ML_DEL_UNDO | ML_DEL_NOPROP)))
|
||||
{
|
||||
size_t textlen = STRLEN((char_u *)dp + line_start) + 1;
|
||||
|
||||
@@ -3765,9 +3765,11 @@ theend:
|
||||
{
|
||||
// Adjust text properties in the line above and below.
|
||||
if (lnum > 1)
|
||||
adjust_text_props_for_delete(buf, lnum - 1, textprop_save, textprop_save_len, TRUE);
|
||||
adjust_text_props_for_delete(buf, lnum - 1, textprop_save,
|
||||
textprop_save_len, TRUE);
|
||||
if (lnum <= buf->b_ml.ml_line_count)
|
||||
adjust_text_props_for_delete(buf, lnum, textprop_save, textprop_save_len, FALSE);
|
||||
adjust_text_props_for_delete(buf, lnum, textprop_save,
|
||||
textprop_save_len, FALSE);
|
||||
}
|
||||
vim_free(textprop_save);
|
||||
#endif
|
||||
@@ -4021,7 +4023,7 @@ ml_flush_line(buf_T *buf)
|
||||
| ML_APPEND_NOPROP
|
||||
#endif
|
||||
);
|
||||
(void)ml_delete_int(buf, lnum, 0);
|
||||
(void)ml_delete_int(buf, lnum, ML_DEL_NOPROP);
|
||||
}
|
||||
}
|
||||
vim_free(new_line);
|
||||
|
Reference in New Issue
Block a user