diff options
author | Thomas Vigouroux <tomvig38@gmail.com> | 2020-10-02 09:56:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-02 09:56:57 +0200 |
commit | c10c2fab5b4509a7ff50526b56c669f30ebf87c9 (patch) | |
tree | cd8f28d2b559959e208f303cf1584934391efc61 /src | |
parent | a9851bfbb1bd442fa4fbe470e1c134a1b6e9b13f (diff) | |
parent | f1b39f91a5be7f3bf61b0e0d129dce49d51ff360 (diff) | |
download | rneovim-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.c | 6 | ||||
-rw-r--r-- | src/nvim/extmark.c | 2 | ||||
-rw-r--r-- | src/nvim/undo.c | 3 |
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; } |