forked from aniani/vim
patch 7.4.1506
Problem: Job cannot read from a file. Solution: Implement reading from a file for Unix.
This commit is contained in:
12
src/eval.c
12
src/eval.c
@@ -15118,6 +15118,7 @@ f_job_start(typval_T *argvars UNUSED, typval_T *rettv)
|
||||
garray_T ga;
|
||||
#endif
|
||||
jobopt_T opt;
|
||||
int part;
|
||||
|
||||
rettv->v_type = VAR_JOB;
|
||||
job = job_alloc();
|
||||
@@ -15135,6 +15136,17 @@ f_job_start(typval_T *argvars UNUSED, typval_T *rettv)
|
||||
+ JO_STOPONEXIT + JO_EXIT_CB + JO_OUT_IO) == FAIL)
|
||||
return;
|
||||
|
||||
/* Check that when io is "file" that there is a file name. */
|
||||
for (part = PART_OUT; part <= PART_IN; ++part)
|
||||
if ((opt.jo_set & (JO_OUT_IO << (part - PART_OUT)))
|
||||
&& opt.jo_io[part] == JIO_FILE
|
||||
&& (!(opt.jo_set & (JO_OUT_NAME << (part - PART_OUT)))
|
||||
|| *opt.jo_io_name[part] == NUL))
|
||||
{
|
||||
EMSG(_("E920: -io file requires -name to be set"));
|
||||
return;
|
||||
}
|
||||
|
||||
if ((opt.jo_set & JO_IN_IO) && opt.jo_io[PART_IN] == JIO_BUFFER)
|
||||
{
|
||||
buf_T *buf;
|
||||
|
Reference in New Issue
Block a user