patch 7.4.1378
Problem: Can't change job settings after it started.
Solution: Add job_setoptions() with the "stoponexit" flag.
diff --git a/src/structs.h b/src/structs.h
index 4bb44a0..56b698c 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1253,6 +1253,8 @@
*/
struct jobvar_S
{
+ job_T *jv_next;
+ job_T *jv_prev;
#ifdef UNIX
pid_t jv_pid;
int jv_exitval;
@@ -1262,6 +1264,7 @@
HANDLE jv_job_object;
#endif
jobstatus_T jv_status;
+ char_u *jv_stoponexit; /* allocated */
int jv_refcount; /* reference count */
channel_T *jv_channel; /* channel for I/O, reference counted */
@@ -1386,6 +1389,7 @@
#define JO_ERR_TIMEOUT 0x0400 /* stderr timeouts */
#define JO_PART 0x0800 /* "part" */
#define JO_ID 0x1000 /* "id" */
+#define JO_STOPONEXIT 0x2000 /* "stoponexit" */
#define JO_ALL 0xffffff
#define JO_MODE_ALL (JO_MODE + JO_IN_MODE + JO_OUT_MODE + JO_ERR_MODE)
@@ -1412,6 +1416,8 @@
int jo_err_timeout;
int jo_part;
int jo_id;
+ char_u jo_soe_buf[NUMBUFLEN];
+ char_u *jo_stoponexit;
} jobopt_T;