diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-03-10 07:03:36 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-10 07:03:36 +0800 |
commit | 448cf10c47e0678cee080baaf75f395511e13269 (patch) | |
tree | aa95dbd765da98a32d9638404a40addfa7cf292f /test/functional/ui/float_spec.lua | |
parent | 241c16129919e169b71ef1e788420224b358fbb3 (diff) | |
download | rneovim-448cf10c47e0678cee080baaf75f395511e13269.tar.gz rneovim-448cf10c47e0678cee080baaf75f395511e13269.tar.bz2 rneovim-448cf10c47e0678cee080baaf75f395511e13269.zip |
vim-patch:9.1.0159: Crash in WinClosed after BufUnload closes other windows (#27792)
Problem: Crash in WinClosed after BufUnload closes other windows
Solution: Don't trigger WinClosed if the buffer is NULL (zeertzjq)
Now win_close_othertab() doesn't trigger any autocommands if the buffer
is NULL, so remove the autocmd blocking above (which was added not long
ago in patch v9.0.0550) for consistency.
Also remove an unreachable close_last_window_tabpage() above:
- It is only reached if only_one_window() returns TRUE and last_window()
returns FALSE.
- If only_one_window() returns TRUE, there is only one tabpage.
- If there is only one tabpage and last_window() returns FALSE, the
one_window() in last_window() must return FALSE, and the ONE_WINDOW
in close_last_window_tabpage() must also be FALSE.
- So close_last_window_tabpage() doesn't do anything and returns FALSE.
Then the curtab != prev_curtab check also doesn't make much sense, and
the only_one_window() can be replaced with a check for popup and a call
to last_window() since this is a stricter check than only_one_window().
closes: vim/vim#14166
https://github.com/vim/vim/commit/b2ec0da080fb24f12a8d6f54bd7318a078ca4e6c
Diffstat (limited to 'test/functional/ui/float_spec.lua')
0 files changed, 0 insertions, 0 deletions