Mercurial > vim
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