patch 9.0.1472: ":drop fname" may change the last used tab page
Problem: ":drop fname" may change the last used tab page.
Solution: Restore the last used tab page when :drop has changed it.
(closes #12087)
diff --git a/src/arglist.c b/src/arglist.c
index bb31c45..a63f6c7 100644
--- a/src/arglist.c
+++ b/src/arglist.c
@@ -1240,6 +1240,8 @@
need_mouse_correct = TRUE;
#endif
+ tabpage_T *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.
@@ -1247,6 +1249,10 @@
// 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)