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.
diff --git a/src/channel.c b/src/channel.c
index 93c809c..7c57442 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -4777,6 +4777,13 @@
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 @@
goto theend;
}
#ifdef USE_ARGV
+ /* This will modify "cmd". */
if (mch_parse_cmd(cmd, FALSE, &argv, &argc) == FAIL)
goto theend;
argv[argc] = NULL;