aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/buffer_updates.c3
-rw-r--r--src/nvim/change.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/src/nvim/buffer_updates.c b/src/nvim/buffer_updates.c
index 3435c5988c..fc671ad9e2 100644
--- a/src/nvim/buffer_updates.c
+++ b/src/nvim/buffer_updates.c
@@ -288,7 +288,8 @@ void buf_updates_send_splice(
int old_row, colnr_T old_col, bcount_t old_byte,
int new_row, colnr_T new_col, bcount_t new_byte)
{
- if (!buf_updates_active(buf)) {
+ if (!buf_updates_active(buf)
+ || (old_byte == 0 && new_byte == 0)) {
return;
}
diff --git a/src/nvim/change.c b/src/nvim/change.c
index 5e1ec616f6..b8bc08b747 100644
--- a/src/nvim/change.c
+++ b/src/nvim/change.c
@@ -1677,6 +1677,9 @@ int open_line(
truncate_spaces(saved_line);
}
ml_replace(curwin->w_cursor.lnum, saved_line, false);
+ extmark_splice_cols(
+ curbuf, (int)curwin->w_cursor.lnum,
+ 0, curwin->w_cursor.col, (int)STRLEN(saved_line), kExtmarkUndo);
saved_line = NULL;
if (did_append) {
changed_lines(curwin->w_cursor.lnum, curwin->w_cursor.col,