diff --git a/src/buffer.c b/src/buffer.c index 6bcd28b36c..2ca131d23e 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -1035,7 +1035,14 @@ handle_swap_exists(bufref_T *old_curbuf) buf = old_curbuf->br_buf; if (buf != NULL) { + int old_msg_silent = msg_silent; + + if (shortmess(SHM_FILEINFO)) + msg_silent = 1; // prevent fileinfo message enter_buffer(buf); + // restore msg_silent, so that the command line will be shown + msg_silent = old_msg_silent; + # ifdef FEAT_SYN_HL if (old_tw != curbuf->b_p_tw) check_colorcolumn(curwin); diff --git a/src/memline.c b/src/memline.c index fb262acef5..fbdd8a372c 100644 --- a/src/memline.c +++ b/src/memline.c @@ -828,10 +828,13 @@ ml_open_file(buf_T *buf) */ void check_need_swap( - int newfile) /* reading file into new buffer */ + int newfile) // reading file into new buffer { + int old_msg_silent = msg_silent; // might be reset by an E325 message + if (curbuf->b_may_swap && (!curbuf->b_p_ro || !newfile)) ml_open_file(curbuf); + msg_silent = old_msg_silent; } /* diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim index d8f033e03f..2d4a97aa18 100644 --- a/src/testdir/test_options.vim +++ b/src/testdir/test_options.vim @@ -414,3 +414,24 @@ func Test_shortmess_F() set shortmess& bwipe endfunc + +func Test_shortmess_F2() + e file1 + e file2 + call assert_match('file1', execute('bn', '')) + call assert_match('file2', execute('bn', '')) + set shortmess+=F + call assert_true(empty(execute('bn', ''))) + call assert_true(empty(execute('bn', ''))) + set hidden + call assert_true(empty(execute('bn', ''))) + call assert_true(empty(execute('bn', ''))) + set nohidden + call assert_true(empty(execute('bn', ''))) + call assert_true(empty(execute('bn', ''))) + set shortmess& + call assert_match('file1', execute('bn', '')) + call assert_match('file2', execute('bn', '')) + bwipe + bwipe +endfunc diff --git a/src/version.c b/src/version.c index 8107b44c6e..cc62660160 100644 --- a/src/version.c +++ b/src/version.c @@ -794,6 +794,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 310, /**/ 309, /**/