0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 7.4.1378

Problem:    Can't change job settings after it started.
Solution:   Add job_setoptions() with the "stoponexit" flag.
This commit is contained in:
Bram Moolenaar
2016-02-21 16:40:11 +01:00
parent 08298fa1d3
commit 65edff8f51
6 changed files with 129 additions and 25 deletions

View File

@@ -1253,6 +1253,8 @@ typedef enum
*/
struct jobvar_S
{
job_T *jv_next;
job_T *jv_prev;
#ifdef UNIX
pid_t jv_pid;
int jv_exitval;
@@ -1262,6 +1264,7 @@ struct jobvar_S
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 @@ struct channel_S {
#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 @@ typedef struct
int jo_err_timeout;
int jo_part;
int jo_id;
char_u jo_soe_buf[NUMBUFLEN];
char_u *jo_stoponexit;
} jobopt_T;