aboutsummaryrefslogtreecommitdiff
path: root/test/functional/lua/buffer_updates_spec.lua
diff options
context:
space:
mode:
authorThomas Vigouroux <39092278+vigoux@users.noreply.github.com>2020-08-31 09:53:10 +0200
committerGitHub <noreply@github.com>2020-08-31 00:53:10 -0700
commit24b5f69a4922e53baa46faf4f5e0b05da42cd2d5 (patch)
treeb188808bedd9c6d83ddac05e8c70a3a3b00cad1d /test/functional/lua/buffer_updates_spec.lua
parentc2662210b5af8aeced68c9cae540567496926a44 (diff)
downloadrneovim-24b5f69a4922e53baa46faf4f5e0b05da42cd2d5.tar.gz
rneovim-24b5f69a4922e53baa46faf4f5e0b05da42cd2d5.tar.bz2
rneovim-24b5f69a4922e53baa46faf4f5e0b05da42cd2d5.zip
fix(win): ignore closing wins in win_findbuf #12798
This caused segfaults when calling win_findbuf in an `on_detach` callback, when the callback was triggered when closing the last window containing the buffer.
Diffstat (limited to 'test/functional/lua/buffer_updates_spec.lua')
-rw-r--r--test/functional/lua/buffer_updates_spec.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/functional/lua/buffer_updates_spec.lua b/test/functional/lua/buffer_updates_spec.lua
index 77f8189bb9..364d4524ad 100644
--- a/test/functional/lua/buffer_updates_spec.lua
+++ b/test/functional/lua/buffer_updates_spec.lua
@@ -216,4 +216,23 @@ describe('lua: buffer event callbacks', function()
eq(1, meths.get_var('listener_cursor_line'))
end)
+ it('does not SEGFAULT when calling win_findbuf in on_detach', function()
+
+ exec_lua[[
+ local buf = vim.api.nvim_create_buf(false, false)
+
+ vim.cmd"split"
+ vim.api.nvim_win_set_buf(0, buf)
+
+ vim.api.nvim_buf_attach(buf, false, {
+ on_detach = function(_, buf)
+ vim.fn.win_findbuf(buf)
+ end
+ })
+ ]]
+
+ command("q!")
+ helpers.assert_alive()
+ end)
+
end)