0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 9.1.0087: Restoring lastused_tabpage too early in do_arg_all()

Problem:  Restore lastused_tabpage too early in do_arg_all() function it
          will change later in the function.
Solution: Restore lastused_tabpage a bit later, when being done with
          tabpages (glepnir)

closes: #13992

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
glepnir 2024-02-09 19:30:26 +01:00 committed by Christian Brabandt
parent 725c7c31a4
commit 2975a54f28
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09
3 changed files with 12 additions and 6 deletions

View File

@ -1253,10 +1253,6 @@ do_arg_all(
// 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)
@ -1291,6 +1287,11 @@ do_arg_all(
// to window with first arg
if (valid_tabpage(aall.new_curtab))
goto_tabpage_tp(aall.new_curtab, TRUE, TRUE);
// Now set the last used tabpage to where we started.
if (valid_tabpage(new_lu_tp))
lastused_tabpage = new_lu_tp;
if (win_valid(aall.new_curwin))
win_enter(aall.new_curwin, FALSE);

View File

@ -156,10 +156,13 @@ func Test_tabpage_drop()
tab split f3
normal! gt
call assert_equal(1, tabpagenr())
tab drop f4
call assert_equal(1, tabpagenr('#'))
tab drop f3
call assert_equal(3, tabpagenr())
call assert_equal(1, tabpagenr('#'))
call assert_equal(4, tabpagenr())
call assert_equal(2, tabpagenr('#'))
bwipe!
bwipe!
bwipe!
bwipe!

View File

@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
87,
/**/
86,
/**/