mirror of
https://github.com/neovim/neovim.git
synced 2025-10-08 10:56:31 +00:00
vim-patch:9.0.1472: ":drop fname" may change the last used tab page (#23230)
Problem: ":drop fname" may change the last used tab page.
Solution: Restore the last used tab page when :drop has changed it.
(closes vim/vim#12087)
8281a16efc
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
@@ -1071,6 +1071,8 @@ static void do_arg_all(int count, int forceit, int keep_tabs)
|
||||
aall.alist->al_refcount++;
|
||||
arglist_locked = true;
|
||||
|
||||
tabpage_T *const new_lu_tp = curtab;
|
||||
|
||||
// Try closing all windows that are not in the argument list.
|
||||
// Also close windows that are not full width;
|
||||
// When 'hidden' or "forceit" set the buffer becomes hidden.
|
||||
@@ -1078,6 +1080,11 @@ static void do_arg_all(int count, int forceit, int keep_tabs)
|
||||
// When the ":tab" modifier was used do this for all tab pages.
|
||||
arg_all_close_unused_windows(&aall);
|
||||
|
||||
// Now set the last used tabpage to where we started.
|
||||
if (valid_tabpage(new_lu_tp)) {
|
||||
lastused_tabpage = new_lu_tp;
|
||||
}
|
||||
|
||||
// Open a window for files in the argument list that don't have one.
|
||||
// ARGCOUNT may change while doing this, because of autocommands.
|
||||
if (count > aall.opened_len || count <= 0) {
|
||||
|
Reference in New Issue
Block a user