0
0
mirror of https://github.com/vim/vim.git synced 2025-07-25 10:54:51 -04:00

patch 8.1.0072: use of 'termwinkey' is inconsistent

Problem:    Use of 'termwinkey' is inconsistent.
Solution:   Change the documentation and the behavior. (Ken Takata)
This commit is contained in:
Bram Moolenaar 2018-06-17 22:19:12 +02:00
parent b3307b5e7e
commit dcdeaaf150
3 changed files with 12 additions and 4 deletions

View File

@ -87,7 +87,8 @@ to the job. For example:
'termwinkey' CTRL-W move focus to the next window 'termwinkey' CTRL-W move focus to the next window
'termwinkey' : enter an Ex command 'termwinkey' : enter an Ex command
'termwinkey' 'termwinkey' send 'termwinkey' to the job in the terminal 'termwinkey' 'termwinkey' send 'termwinkey' to the job in the terminal
'termwinkey' . send a CTRL-W to the job in the terminal 'termwinkey' . send 'termwinkey' to the job in the terminal
'termwinkey' CTRL-\ send a CTRL-\ to the job in the terminal
'termwinkey' N go to terminal Normal mode, see below 'termwinkey' N go to terminal Normal mode, see below
'termwinkey' CTRL-N same as CTRL-W N 'termwinkey' CTRL-N same as CTRL-W N
'termwinkey' CTRL-C same as |t_CTRL-W_CTRL-C| 'termwinkey' CTRL-C same as |t_CTRL-W_CTRL-C|

View File

@ -2107,7 +2107,11 @@ terminal_loop(int blocking)
in_terminal_loop = curbuf->b_term; in_terminal_loop = curbuf->b_term;
if (*curwin->w_p_twk != NUL) if (*curwin->w_p_twk != NUL)
{
termwinkey = string_to_key(curwin->w_p_twk, TRUE); termwinkey = string_to_key(curwin->w_p_twk, TRUE);
if (termwinkey == Ctrl_W)
termwinkey = 0;
}
position_cursor(curwin, &curbuf->b_term->tl_cursor_pos); position_cursor(curwin, &curbuf->b_term->tl_cursor_pos);
may_set_cursor_props(curbuf->b_term); may_set_cursor_props(curbuf->b_term);
@ -2203,12 +2207,13 @@ terminal_loop(int blocking)
/* "CTRL-W CTRL-C" or 'termwinkey' CTRL-C: end the job */ /* "CTRL-W CTRL-C" or 'termwinkey' CTRL-C: end the job */
mch_signal_job(curbuf->b_term->tl_job, (char_u *)"kill"); mch_signal_job(curbuf->b_term->tl_job, (char_u *)"kill");
} }
else if (termwinkey == 0 && c == '.') else if (c == '.')
{ {
/* "CTRL-W .": send CTRL-W to the job */ /* "CTRL-W .": send CTRL-W to the job */
c = Ctrl_W; /* "'termwinkey' .": send 'termwinkey' to the job */
c = termwinkey == 0 ? Ctrl_W : termwinkey;
} }
else if (termwinkey == 0 && c == Ctrl_BSL) else if (c == Ctrl_BSL)
{ {
/* "CTRL-W CTRL-\": send CTRL-\ to the job */ /* "CTRL-W CTRL-\": send CTRL-\ to the job */
c = Ctrl_BSL; c = Ctrl_BSL;

View File

@ -761,6 +761,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
72,
/**/ /**/
71, 71,
/**/ /**/