diff --git a/src/terminal.c b/src/terminal.c index 10bfae8424..342275e40c 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -566,6 +566,8 @@ term_start( } } } + vim_free(curbuf->b_sfname); + curbuf->b_sfname = vim_strsave(curbuf->b_ffname); curbuf->b_fname = curbuf->b_ffname; if (opt->jo_term_opencmd != NULL) diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim index b86614de5c..20d27bc022 100644 --- a/src/testdir/test_terminal.vim +++ b/src/testdir/test_terminal.vim @@ -2405,3 +2405,9 @@ func Test_issue_5607() bw! endtry endfunc + +func Test_hidden_terminal() + let buf = term_start(&shell, #{hidden: 1}) + call assert_equal('', bufname('^$')) + call StopShellInTerminal(buf) +endfunc diff --git a/src/version.c b/src/version.c index 2f3e7683ef..7f2a454ccf 100644 --- a/src/version.c +++ b/src/version.c @@ -738,6 +738,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 314, /**/ 313, /**/