changeset 16385:bb0f7cb7e2d5 v8.1.1197

patch 8.1.1197: when starting with multiple tabs file messages is confusing commit https://github.com/vim/vim/commit/c75e81262347e47a69faabd72caf89fec3f06e8f Author: Bram Moolenaar <Bram@vim.org> 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)
author Bram Moolenaar <Bram@vim.org>
date Sun, 21 Apr 2019 16:00:04 +0200
parents 051dc2ab1745
children 3439f38a4844
files src/main.c src/testdir/dumps/Test_start_with_tabs.dump src/testdir/test_startup.vim src/version.c
diffstat 4 files changed, 53 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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;
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| 
--- 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
--- 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,