diff options
author | Thomas Vigouroux <39092278+vigoux@users.noreply.github.com> | 2020-08-31 09:53:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-31 00:53:10 -0700 |
commit | 24b5f69a4922e53baa46faf4f5e0b05da42cd2d5 (patch) | |
tree | b188808bedd9c6d83ddac05e8c70a3a3b00cad1d /test/functional/lua/buffer_updates_spec.lua | |
parent | c2662210b5af8aeced68c9cae540567496926a44 (diff) | |
download | rneovim-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.lua | 19 |
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) |