diff --git a/src/channel.c b/src/channel.c
index b19f089..801e370 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -4391,6 +4391,18 @@
 		    return FAIL;
 		}
 	    }
+	    else if (STRCMP(hi->hi_key, "term_name") == 0)
+	    {
+		if (!(supported & JO2_TERM_NAME))
+		    break;
+		opt->jo_set2 |= JO2_TERM_NAME;
+		opt->jo_term_name = get_tv_string_chk(item);
+		if (opt->jo_term_name == NULL)
+		{
+		    EMSG2(_(e_invarg2), "term_name");
+		    return FAIL;
+		}
+	    }
 	    else if (STRCMP(hi->hi_key, "waittime") == 0)
 	    {
 		if (!(supported & JO_WAITTIME))
diff --git a/src/structs.h b/src/structs.h
index 522e15a..83c55a9 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1656,7 +1656,7 @@
 #define JO_CALLBACK	    0x0010	/* channel callback */
 #define JO_OUT_CALLBACK	    0x0020	/* stdout callback */
 #define JO_ERR_CALLBACK	    0x0040	/* stderr callback */
-#define JO_CLOSE_CALLBACK   0x0080	/* close callback */
+#define JO_CLOSE_CALLBACK   0x0080	/* "close_cb" */
 #define JO_WAITTIME	    0x0100	/* only for ch_open() */
 #define JO_TIMEOUT	    0x0200	/* all timeouts */
 #define JO_OUT_TIMEOUT	    0x0400	/* stdout timeouts */
@@ -1684,7 +1684,8 @@
 
 #define JO2_OUT_MSG	    0x0001	/* "out_msg" */
 #define JO2_ERR_MSG	    0x0002	/* "err_msg" (JO_OUT_ << 1) */
-#define JO2_ALL		    0x0003
+#define JO2_TERM_NAME	    0x0004	/* "term_name" */
+#define JO2_ALL		    0x0007
 
 #define JO_MODE_ALL	(JO_MODE + JO_IN_MODE + JO_OUT_MODE + JO_ERR_MODE)
 #define JO_CB_ALL \
@@ -1741,6 +1742,7 @@
     /* when non-zero run the job in a terminal window of this size */
     int		jo_term_rows;
     int		jo_term_cols;
+    char_u	*jo_term_name;
 #endif
 } jobopt_T;
 
diff --git a/src/terminal.c b/src/terminal.c
index 7cd2dd2..cc73f4f 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -36,6 +36,7 @@
  * that buffer, attributes come from the scrollback buffer tl_scrollback.
  *
  * TODO:
+ * - job_start('ls') sometimes does not work.
  * - MS-Windows: no redraw for 'updatetime'  #1915
  * - in bash mouse clicks are inserting characters.
  * - mouse scroll: when over other window, scroll that window.
@@ -67,8 +68,14 @@
  * - support minimal size when 'termsize' is "rows*cols".
  * - support minimal size when 'termsize' is empty?
  * - implement "term" for job_start(): more job options when starting a
- *   terminal.  Might allow reading stdin from a file or buffer, sending stderr
- *   to a file or /dev/null, but something must be connected to the terminal.
+ *   terminal.  Allow:
+ *	"in_io", "in_top", "in_bot", "in_name", "in_buf"
+	"out_io", "out_name", "out_buf", "out_modifiable", "out_msg"
+	"err_io", "err_name", "err_buf", "err_modifiable", "err_msg"
+ *   Check that something is connected to the terminal.
+ *   Test: "cat" reading from a file or buffer
+ *         "ls" writing stdout to a file or buffer
+ *         shell writing stderr to a file or buffer
  * - support ":term NONE" to open a terminal with a pty but not running a job
  *   in it.  The pty can be passed to gdb to run the executable in.
  * - if the job in the terminal does not support the mouse, we can use the
@@ -265,6 +272,9 @@
     if (cmd == NULL || *cmd == NUL)
 	cmd = p_sh;
 
+    if (opt->jo_term_name != NULL)
+	curbuf->b_ffname = vim_strsave(opt->jo_term_name);
+    else
     {
 	int	i;
 	size_t	len = STRLEN(cmd) + 10;
@@ -2140,7 +2150,8 @@
     if (argvars[1].v_type != VAR_UNKNOWN
 	    && get_job_options(&argvars[1], &opt,
 		JO_TIMEOUT_ALL + JO_STOPONEXIT
-		+ JO_EXIT_CB + JO_CLOSE_CALLBACK) == FAIL)
+		+ JO_EXIT_CB + JO_CLOSE_CALLBACK
+		+ JO2_TERM_NAME) == FAIL)
 	return;
 
     term_start(cmd, &opt);
diff --git a/src/version.c b/src/version.c
index 078adcd..9318740 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    864,
+/**/
     863,
 /**/
     862,
