summaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-03-11 22:19:44 +0100
committerBram Moolenaar <Bram@vim.org>2016-03-11 22:19:44 +0100
commitde27989157f35172b25f9e01e0c147ed8f6ae3ce (patch)
treeac52ee2ae7bf82a4cc85f31b1c7b6f2993348c81 /src/eval.c
parent9e496854a9fe56699687a4f86003fad115b3b375 (diff)
patch 7.4.1536v7.4.1536
Problem: Cannot re-use a channel for another job. Solution: Add the "channel" option to job_start().
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/eval.c b/src/eval.c
index 9f56126f6b..f3ebaa5e05 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -10164,6 +10164,18 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported)
return FAIL;
}
}
+ else if (STRCMP(hi->hi_key, "channel") == 0)
+ {
+ if (!(supported & JO_OUT_IO))
+ break;
+ opt->jo_set |= JO_CHANNEL;
+ if (item->v_type != VAR_CHANNEL)
+ {
+ EMSG2(_(e_invarg2), "channel");
+ return FAIL;
+ }
+ opt->jo_channel = item->vval.v_channel;
+ }
else if (STRCMP(hi->hi_key, "callback") == 0)
{
if (!(supported & JO_CALLBACK))