comparison src/eval.c @ 8023:75e0831549f1 v7.4.1306

commit https://github.com/vim/vim/commit/76467dfcafcf295fd987f712730774c6f55317d3 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Feb 12 19:30:26 2016 +0100 patch 7.4.1306 Problem: Job control doesn't work well on MS-Windows. Solution: Various fixes. (Ken Takata, Ozaki Kiichi , Yukihiro Nakadaira, Yasuhiro Matsumoto)
author Christian Brabandt <cb@256bit.org>
date Fri, 12 Feb 2016 19:45:05 +0100
parents d685893d852e
children ece323e2b57f
comparison
equal deleted inserted replaced
8022:795f511dc6c3 8023:75e0831549f1
7718 7718
7719 #ifdef FEAT_JOB 7719 #ifdef FEAT_JOB
7720 static void 7720 static void
7721 job_free(job_T *job) 7721 job_free(job_T *job)
7722 { 7722 {
7723 /* TODO: free any handles */ 7723 mch_clear_job(job);
7724
7725 vim_free(job); 7724 vim_free(job);
7726 } 7725 }
7727 7726
7728 static void 7727 static void
7729 job_unref(job_T *job) 7728 job_unref(job_T *job)
14367 if (li != l->lv_first) 14366 if (li != l->lv_first)
14368 { 14367 {
14369 s = vim_strsave_shellescape(s, FALSE, TRUE); 14368 s = vim_strsave_shellescape(s, FALSE, TRUE);
14370 if (s == NULL) 14369 if (s == NULL)
14371 goto theend; 14370 goto theend;
14371 ga_concat(&ga, s);
14372 vim_free(s);
14372 } 14373 }
14373 ga_concat(&ga, s); 14374 else
14374 vim_free(s); 14375 ga_concat(&ga, s);
14375 if (li->li_next != NULL) 14376 if (li->li_next != NULL)
14376 ga_append(&ga, ' '); 14377 ga_append(&ga, ' ');
14377 #endif 14378 #endif
14378 } 14379 }
14379 #ifdef USE_ARGV 14380 #ifdef USE_ARGV
21621 # ifdef UNIX 21622 # ifdef UNIX
21622 vim_snprintf((char *)buf, NUMBUFLEN, 21623 vim_snprintf((char *)buf, NUMBUFLEN,
21623 "process %ld %s", (long)job->jv_pid, status); 21624 "process %ld %s", (long)job->jv_pid, status);
21624 # elif defined(WIN32) 21625 # elif defined(WIN32)
21625 vim_snprintf((char *)buf, NUMBUFLEN, 21626 vim_snprintf((char *)buf, NUMBUFLEN,
21626 "process %ld %s", (long)job->jv_pi.dwProcessId, 21627 "process %ld %s",
21628 (long)job->jv_proc_info.dwProcessId,
21627 status); 21629 status);
21628 # else 21630 # else
21629 /* fall-back */ 21631 /* fall-back */
21630 vim_snprintf((char *)buf, NUMBUFLEN, "process ? %s", status); 21632 vim_snprintf((char *)buf, NUMBUFLEN, "process ? %s", status);
21631 # endif 21633 # endif