aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/_meta/api.lua
diff options
context:
space:
mode:
authorSean Dewar <6256228+seandewar@users.noreply.github.com>2024-03-09 20:24:08 +0000
committerSean Dewar <6256228+seandewar@users.noreply.github.com>2024-03-09 21:58:30 +0000
commitc3d22d32ee4b4c1911ec15f2a77683d09b09f845 (patch)
tree6d833154d8a016a8ea9de7aae1906a747c9c723d /runtime/lua/vim/_meta/api.lua
parentb52d15853e89149472c1ecd9cce3a84e4af0785a (diff)
downloadrneovim-c3d22d32ee4b4c1911ec15f2a77683d09b09f845.tar.gz
rneovim-c3d22d32ee4b4c1911ec15f2a77683d09b09f845.tar.bz2
rneovim-c3d22d32ee4b4c1911ec15f2a77683d09b09f845.zip
vim-patch:8.2.3862: crash on exit with EXITFREE and using win_execute()
Problem: Crash on exit with EXITFREE and using win_execute(). Solution: Also save and restore tp_topframe. (issue vim/vim#9374) https://github.com/vim/vim/commit/dab17a0689a2f31f69f428975f84b0c3c7ba3030 Couldn't repro the crash in the test, but I only care about this patch so switch_win sets topframe properly for win_split_ins in nvim_open_win and nvim_win_set_config. Add a test using nvim_win_call and :wincmd, as I couldn't repro the issue via nvim_open_win or nvim_win_set_config (though it's clear they're affected by this patch). That said, at that point, could just use {un}use_tabpage inside switch_win instead, which also updates tp_curwin (though maybe continue to not set it in restore_win). That would also fix possible inconsistent behaviour such as: :call win_execute(w, "let curwin_nr1 = tabpagewinnr(1)") :let curwin_nr2 = tabpagewinnr(1) Where it's possible for curwin_nr1 != curwin_nr2 if these commands are run from the 1st tabpage, but window "w" is in the 2nd (as the 1st tabpage's tp_curwin may still be invalid). I'll probably PR a fix for that later in Vim. Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat (limited to 'runtime/lua/vim/_meta/api.lua')
0 files changed, 0 insertions, 0 deletions