forked from aniani/vim
patch 8.0.0960: job in terminal does not get CTRL-C
Problem: Job in terminal does not get CTRL-C, we send a SIGINT instead. Solution: Don't call may_send_sigint() on CTRL-C. Make CTRL-W CTRL-C end the job.
This commit is contained in:
@@ -1367,9 +1367,6 @@ terminal_loop(void)
|
||||
if (c == K_IGNORE)
|
||||
continue;
|
||||
|
||||
#ifdef UNIX
|
||||
may_send_sigint(c, curbuf->b_term->tl_job->jv_pid, 0);
|
||||
#endif
|
||||
#ifdef WIN3264
|
||||
/* On Windows winpty handles CTRL-C, don't send a CTRL_C_EVENT.
|
||||
* Use CTRL-BREAK to kill the job. */
|
||||
@@ -1405,6 +1402,11 @@ terminal_loop(void)
|
||||
/* Send both keys to the terminal. */
|
||||
send_keys_to_term(curbuf->b_term, prev_c, TRUE);
|
||||
}
|
||||
else if (c == Ctrl_C)
|
||||
{
|
||||
/* "CTRL-W CTRL-C" or 'termkey' CTRL-C: end the job */
|
||||
mch_signal_job(curbuf->b_term->tl_job, (char_u *)"kill");
|
||||
}
|
||||
else if (termkey == 0 && c == '.')
|
||||
{
|
||||
/* "CTRL-W .": send CTRL-W to the job */
|
||||
|
Reference in New Issue
Block a user