# HG changeset patch # User Bram Moolenaar # Date 1555855204 -7200 # Node ID bb0f7cb7e2d50b781d65d57663dcc57b1c5956b0 # Parent 051dc2ab17458516950c7c3157e79c6ec4b2a4ed patch 8.1.1197: when starting with multiple tabs file messages is confusing commit https://github.com/vim/vim/commit/c75e81262347e47a69faabd72caf89fec3f06e8f Author: Bram Moolenaar Date: Sun Apr 21 15:55:10 2019 +0200 patch 8.1.1197: when starting with multiple tabs file messages is confusing Problem: When starting with multiple tabs file messages is confusing. Solution: Set 'shortmess' when loading the other tabs. (Christian Brabandt) diff --git a/src/main.c b/src/main.c --- a/src/main.c +++ b/src/main.c @@ -2777,6 +2777,7 @@ edit_buffers( int i; int advance = TRUE; win_T *win; + char_u *p_shm_save = NULL; /* * Don't execute Win/Buf Enter/Leave autocommands here @@ -2812,6 +2813,17 @@ edit_buffers( if (curtab->tp_next == NULL) /* just checking */ break; goto_tabpage(0); + // Temporarily reset 'shm' option to not print fileinfo when + // loading the other buffers. This would overwrite the already + // existing fileinfo for the first tab. + if (i == 1) + { + char buf[100]; + + p_shm_save = vim_strsave(p_shm); + vim_snprintf(buf, 100, "F%s", p_shm); + set_option_value((char_u *)"shm", 0L, (char_u *)buf, 0); + } } else { @@ -2861,6 +2873,12 @@ edit_buffers( } } + if (p_shm_save != NULL) + { + set_option_value((char_u *)"shm", 0L, p_shm_save, 0); + vim_free(p_shm_save); + } + if (parmp->window_layout == WIN_TABS) goto_tabpage(1); --autocmd_no_enter; diff --git a/src/testdir/dumps/Test_start_with_tabs.dump b/src/testdir/dumps/Test_start_with_tabs.dump new file mode 100644 --- /dev/null +++ b/src/testdir/dumps/Test_start_with_tabs.dump @@ -0,0 +1,20 @@ +| +2&#ffffff0|a| | +8#0000001#e0e0e08|b| @1|c| | +1#0000000#ffffff0@64|X+8#0000001#e0e0e08 +> +0#0000000#ffffff0@74 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|"+0#0000000&|a|"| |[|N|e|w| |F|i|l|e|]| @42|0|,|0|-|1| @8|A|l@1| diff --git a/src/testdir/test_startup.vim b/src/testdir/test_startup.vim --- a/src/testdir/test_startup.vim +++ b/src/testdir/test_startup.vim @@ -1,6 +1,7 @@ " Tests for startup. source shared.vim +source screendump.vim " Check that loading startup.vim works. func Test_startup_script() @@ -547,3 +548,15 @@ func Test_issue_3969() let out = system(GetVimCommand() . ' -es -X -V1 -c "echon ''hello''" -cq') call assert_equal('hello', out) endfunc + +func Test_start_with_tabs() + if !CanRunVimInTerminal() + return + endif + + let buf = RunVimInTerminal('-p a b c', {}) + call VerifyScreenDump(buf, 'Test_start_with_tabs', {}) + + " clean up + call StopVimInTerminal(buf) +endfunc diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -772,6 +772,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1197, +/**/ 1196, /**/ 1195,