0
0
mirror of https://github.com/vim/vim.git synced 2025-09-27 04:14:06 -04:00

patch 8.0.1786: no test for 'termwinkey'

Problem:    No test for 'termwinkey'.
Solution:   Add a test.  Make feedkeys() handle terminal_loop() returning
            before characters are consumed.
This commit is contained in:
Bram Moolenaar
2018-05-01 18:47:59 +02:00
parent 8a938af6dd
commit b2ac14c0b5
7 changed files with 52 additions and 19 deletions

View File

@@ -10340,7 +10340,21 @@ exec_normal(int was_typed)
&& typebuf.tb_len > 0)) && !got_int)
{
update_topline_cursor();
normal_cmd(&oa, TRUE); /* execute a Normal mode cmd */
#ifdef FEAT_TERMINAL
if (term_use_loop()
&& oa.op_type == OP_NOP && oa.regname == NUL
&& !VIsual_active)
{
/* If terminal_loop() returns OK we got a key that is handled
* in Normal model. With FAIL we first need to position the
* cursor and the screen needs to be redrawn. */
if (terminal_loop(TRUE) == OK)
normal_cmd(&oa, TRUE);
}
else
#endif
/* execute a Normal mode cmd */
normal_cmd(&oa, TRUE);
}
}