From ea71c26ec922a80cf2f05d5bc553dc70f0e130f0 Mon Sep 17 00:00:00 2001 From: Tony Chen Date: Sat, 2 Apr 2022 12:35:33 -0400 Subject: [PATCH] fix(extmarks): splice extmarks on accepting spell --- src/nvim/spell.c | 2 +- test/functional/lua/buffer_updates_spec.lua | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/nvim/spell.c b/src/nvim/spell.c index fb644daa39..e65ca2e6a6 100644 --- a/src/nvim/spell.c +++ b/src/nvim/spell.c @@ -3066,7 +3066,7 @@ void spell_suggest(int count) ml_replace(curwin->w_cursor.lnum, p, false); curwin->w_cursor.col = c; - changed_bytes(curwin->w_cursor.lnum, c); + inserted_bytes(curwin->w_cursor.lnum, c, stp->st_orglen, stp->st_wordlen); } else { curwin->w_cursor = prev_cursor; } diff --git a/test/functional/lua/buffer_updates_spec.lua b/test/functional/lua/buffer_updates_spec.lua index c83a50b78b..cbd78ccd53 100644 --- a/test/functional/lua/buffer_updates_spec.lua +++ b/test/functional/lua/buffer_updates_spec.lua @@ -1104,6 +1104,15 @@ describe('lua: nvim_buf_attach on_bytes', function() check_events { } end) + it("works with accepting spell suggestions", function() + local check_events = setup_eventcheck(verify, {"hallo"}) + + feed("gg0z=4") -- accepts 'Hello' + check_events { + { "test1", "bytes", 1, 3, 0, 0, 0, 0, 2, 2, 0, 2, 2 }; + } + end) + local function test_lockmarks(mode) local description = (mode ~= "") and mode or "(baseline)" it("test_lockmarks " .. description .. " %delete _", function()