aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThomas Vigouroux <tomvig38@gmail.com>2020-10-02 09:56:57 +0200
committerGitHub <noreply@github.com>2020-10-02 09:56:57 +0200
commitc10c2fab5b4509a7ff50526b56c669f30ebf87c9 (patch)
treecd8f28d2b559959e208f303cf1584934391efc61 /src
parenta9851bfbb1bd442fa4fbe470e1c134a1b6e9b13f (diff)
parentf1b39f91a5be7f3bf61b0e0d129dce49d51ff360 (diff)
downloadrneovim-c10c2fab5b4509a7ff50526b56c669f30ebf87c9.tar.gz
rneovim-c10c2fab5b4509a7ff50526b56c669f30ebf87c9.tar.bz2
rneovim-c10c2fab5b4509a7ff50526b56c669f30ebf87c9.zip
Merge pull request #12968 from erw7/fix-substitute2
fix substitute problem with inccommand
Diffstat (limited to 'src')
-rw-r--r--src/nvim/api/buffer.c6
-rw-r--r--src/nvim/extmark.c2
-rw-r--r--src/nvim/undo.c3
3 files changed, 5 insertions, 6 deletions
diff --git a/src/nvim/api/buffer.c b/src/nvim/api/buffer.c
index e77870dcf3..174f6e94a9 100644
--- a/src/nvim/api/buffer.c
+++ b/src/nvim/api/buffer.c
@@ -1420,7 +1420,7 @@ Integer nvim_buf_set_extmark(Buffer buffer, Integer ns_id,
}
id = extmark_set(buf, (uint64_t)ns_id, id,
- (int)line, (colnr_T)col, line2, col2, decor, kExtmarkUndo);
+ (int)line, (colnr_T)col, line2, col2, decor, kExtmarkNoUndo);
return (Integer)id;
@@ -1534,7 +1534,7 @@ Integer nvim_buf_add_highlight(Buffer buffer,
ns_id = extmark_set(buf, ns_id, 0,
(int)line, (colnr_T)col_start,
end_line, (colnr_T)col_end,
- decoration_hl(hl_id), kExtmarkUndo);
+ decoration_hl(hl_id), kExtmarkNoUndo);
return src_id;
}
@@ -1664,7 +1664,7 @@ Integer nvim_buf_set_virtual_text(Buffer buffer,
Decoration *decor = xcalloc(1, sizeof(*decor));
decor->virt_text = virt_text;
- extmark_set(buf, ns_id, 0, (int)line, 0, -1, -1, decor, kExtmarkUndo);
+ extmark_set(buf, ns_id, 0, (int)line, 0, -1, -1, decor, kExtmarkNoUndo);
return src_id;
}
diff --git a/src/nvim/extmark.c b/src/nvim/extmark.c
index 17141f12fd..0de396fd1f 100644
--- a/src/nvim/extmark.c
+++ b/src/nvim/extmark.c
@@ -783,7 +783,7 @@ void bufhl_add_hl_pos_offset(buf_T *buf,
}
(void)extmark_set(buf, (uint64_t)src_id, 0,
(int)lnum-1, hl_start, (int)lnum-1+end_off, hl_end,
- decor, kExtmarkUndo);
+ decor, kExtmarkNoUndo);
}
}
diff --git a/src/nvim/undo.c b/src/nvim/undo.c
index 97018f6c02..903e57732f 100644
--- a/src/nvim/undo.c
+++ b/src/nvim/undo.c
@@ -3029,8 +3029,6 @@ u_header_T *u_force_get_undo_header(buf_T *buf)
curbuf = buf;
// Args are tricky: this means replace empty range by empty range..
u_savecommon(0, 1, 1, true);
- curbuf = save_curbuf;
-
uhp = buf->b_u_curhead;
if (!uhp) {
uhp = buf->b_u_newhead;
@@ -3038,6 +3036,7 @@ u_header_T *u_force_get_undo_header(buf_T *buf)
abort();
}
}
+ curbuf = save_curbuf;
}
return uhp;
}