@@ -2201,6 +2201,7 @@ void (*winpty_spawn_config_free)(void*);
22012201void (* winpty_error_free )(void * );
22022202LPCWSTR (* winpty_error_msg )(void * );
22032203BOOL (* winpty_set_size )(void * , int , int , void * );
2204+ HANDLE (* winpty_agent_process )(void * );
22042205
22052206#define WINPTY_DLL "winpty.dll"
22062207
@@ -2230,6 +2231,7 @@ dyn_winpty_init(void)
22302231 {"winpty_spawn_config_new" , (FARPROC * )& winpty_spawn_config_new },
22312232 {"winpty_error_msg" , (FARPROC * )& winpty_error_msg },
22322233 {"winpty_set_size" , (FARPROC * )& winpty_set_size },
2234+ {"winpty_agent_process" , (FARPROC * )& winpty_agent_process },
22332235 {NULL , NULL }
22342236 };
22352237
@@ -2272,6 +2274,7 @@ term_and_job_init(term_T *term, int rows, int cols, char_u *cmd, jobopt_T *opt)
22722274 HANDLE jo = NULL , child_process_handle , child_thread_handle ;
22732275 void * winpty_err ;
22742276 void * spawn_config = NULL ;
2277+ char buf [MAX_PATH ];
22752278
22762279 if (!dyn_winpty_init ())
22772280 return FAIL ;
@@ -2358,6 +2361,9 @@ term_and_job_init(term_T *term, int rows, int cols, char_u *cmd, jobopt_T *opt)
23582361 job -> jv_proc_info .dwProcessId = GetProcessId (child_process_handle );
23592362 job -> jv_job_object = jo ;
23602363 job -> jv_status = JOB_STARTED ;
2364+ sprintf (buf , "winpty://%lu" ,
2365+ GetProcessId (winpty_agent_process (term -> tl_winpty )));
2366+ job -> jv_tty_name = vim_strsave ((char_u * )buf );
23612367 ++ job -> jv_refcount ;
23622368 term -> tl_job = job ;
23632369
0 commit comments