diff src/channel.c @ 13435:fa198b71bab2 v8.0.1592

patch 8.0.1592: terminal windows in a session are not properly restored commit https://github.com/vim/vim/commit/4d8bac8bf593ff087517ff79090c2d224325aae6 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Mar 9 21:33:34 2018 +0100 patch 8.0.1592: terminal windows in a session are not properly restored Problem: Terminal windows in a session are not properly restored. Solution: Add "terminal" in 'sessionoptions'. When possible restore the command running in a terminal.
author Christian Brabandt <cb@256bit.org>
date Fri, 09 Mar 2018 21:45:06 +0100
parents a69636c63103
children 33eea5ce5415
line wrap: on
line diff
--- a/src/channel.c
+++ b/src/channel.c
@@ -4777,6 +4777,13 @@ get_job_options(typval_T *tv, jobopt_T *
 		opt->jo_set |= JO2_HIDDEN;
 		opt->jo_hidden = get_tv_number(item);
 	    }
+	    else if (STRCMP(hi->hi_key, "norestore") == 0)
+	    {
+		if (!(supported2 & JO2_NORESTORE))
+		    break;
+		opt->jo_set |= JO2_NORESTORE;
+		opt->jo_term_norestore = get_tv_number(item);
+	    }
 #endif
 	    else if (STRCMP(hi->hi_key, "env") == 0)
 	    {
@@ -5470,6 +5477,7 @@ job_start(typval_T *argvars, jobopt_T *o
 	    goto theend;
 	}
 #ifdef USE_ARGV
+	/* This will modify "cmd". */
 	if (mch_parse_cmd(cmd, FALSE, &argv, &argc) == FAIL)
 	    goto theend;
 	argv[argc] = NULL;