mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge pull request #14335 from chentau/extmark_delbytes
Extmarks: manually zero out `curbuf->deleted_bytes2` on substitute and join
This commit is contained in:
commit
f8990870ff
@ -4237,6 +4237,8 @@ skip:
|
||||
}
|
||||
}
|
||||
|
||||
curbuf->deleted_bytes2 = 0;
|
||||
|
||||
if (first_line != 0) {
|
||||
/* Need to subtract the number of added lines from "last_line" to get
|
||||
* the line number before the change (same as adding the number of
|
||||
|
@ -3992,6 +3992,7 @@ int do_join(size_t count,
|
||||
del_lines((long)count - 1, false);
|
||||
curwin->w_cursor.lnum = t;
|
||||
curbuf_splice_pending--;
|
||||
curbuf->deleted_bytes2 = 0;
|
||||
|
||||
/*
|
||||
* Set the cursor column:
|
||||
|
@ -1001,6 +1001,39 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
}
|
||||
end)
|
||||
|
||||
it("flushes delbytes on substitute", function()
|
||||
local check_events = setup_eventcheck(verify, {"AAA", "BBB", "CCC"})
|
||||
|
||||
feed("gg0")
|
||||
command("s/AAA/GGG/")
|
||||
|
||||
check_events {
|
||||
{ "test1", "bytes", 1, 3, 0, 0, 0, 0, 3, 3, 0, 3, 3 };
|
||||
}
|
||||
|
||||
-- check that byte updates for :delete (which uses curbuf->deleted_bytes2)
|
||||
-- are correct
|
||||
command("delete")
|
||||
check_events {
|
||||
{ "test1", "bytes", 1, 4, 0, 0, 0, 1, 0, 4, 0, 0, 0 };
|
||||
}
|
||||
end)
|
||||
|
||||
it("flushes delbytes on join", function()
|
||||
local check_events = setup_eventcheck(verify, {"AAA", "BBB", "CCC"})
|
||||
|
||||
feed("gg0J")
|
||||
|
||||
check_events {
|
||||
{ "test1", "bytes", 1, 3, 0, 3, 3, 1, 0, 1, 0, 1, 1 };
|
||||
}
|
||||
|
||||
command("delete")
|
||||
check_events {
|
||||
{ "test1", "bytes", 1, 5, 0, 0, 0, 1, 0, 8, 0, 0, 0 };
|
||||
}
|
||||
end)
|
||||
|
||||
teardown(function()
|
||||
os.remove "Xtest-reload"
|
||||
os.remove "Xtest-undofile"
|
||||
|
Loading…
Reference in New Issue
Block a user