Mercurial > vim
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;