patch 8.2.0314: short name not set for terminal buffer

Problem:    Short name not set for terminal buffer.
Solution:   Set the short name. (closes #5687)
diff --git a/src/terminal.c b/src/terminal.c
index 10bfae8..342275e 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -566,6 +566,8 @@
 	    }
 	}
     }
+    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 b86614d..20d27bc 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -2405,3 +2405,9 @@
     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 2f3e768..7f2a454 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    314,
+/**/
     313,
 /**/
     312,