# HG changeset patch # User Ludovic Chabant # Date 1528863113 25200 # Node ID 011d855724bfda71acc25f23a3bb5ef1b64b2fbb # Parent 39547ffc8867634f77b88843e111c61b8c5b14d8 Make Vim8 terminate the background job on exit. diff -r 39547ffc8867 -r 011d855724bf autoload/gutentags.vim --- a/autoload/gutentags.vim Sat Jun 09 09:57:55 2018 -0700 +++ b/autoload/gutentags.vim Tue Jun 12 21:11:53 2018 -0700 @@ -563,18 +563,19 @@ endfunction function! gutentags#build_default_job_options(module) abort - let l:job_opts = { - \'on_exit': function( - \ 'nvim_job_exit_wrapper', - \ ['gutentags#'.a:module.'#on_job_exit']), - \'on_stdout': function( - \ 'nvim_job_out_wrapper', - \ ['gutentags#default_io_cb']), - \'on_stderr': function( - \ 'nvim_job_out_wrapper', - \ ['gutentags#default_io_cb']) - \} - return l:job_opts + " Neovim kills jobs on exit, which is what we want. + let l:job_opts = { + \'on_exit': function( + \ 'nvim_job_exit_wrapper', + \ ['gutentags#'.a:module.'#on_job_exit']), + \'on_stdout': function( + \ 'nvim_job_out_wrapper', + \ ['gutentags#default_io_cb']), + \'on_stderr': function( + \ 'nvim_job_out_wrapper', + \ ['gutentags#default_io_cb']) + \} + return l:job_opts endfunction function! gutentags#start_job(cmd, opts) abort @@ -584,10 +585,11 @@ " Vim8 job API. function! gutentags#build_default_job_options(module) abort let l:job_opts = { - \'exit_cb': 'gutentags#'.a:module.'#on_job_exit', - \'out_cb': 'gutentags#default_io_cb', - \'err_cb': 'gutentags#default_io_cb' - \} + \'exit_cb': 'gutentags#'.a:module.'#on_job_exit', + \'out_cb': 'gutentags#default_io_cb', + \'err_cb': 'gutentags#default_io_cb', + \'stoponexit': 'term' + \} return l:job_opts endfunction