diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-02-27 16:29:28 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-02-27 16:29:28 +0100 |
commit | c8bcfe7efd4cfdfd7f503700aba45c42765cd4dc (patch) | |
tree | 78ad672bf27e47c47315297818a06be29dae831e /src/terminal.c | |
parent | 8226ac6b5916c736dde751df9cb8d03c19cb5611 (diff) | |
download | vim-git-c8bcfe7efd4cfdfd7f503700aba45c42765cd4dc.tar.gz |
patch 8.0.1546: using feedkeys() in a terminal may trigger mappingsv8.0.1546
Problem: Using feedkeys() in a terminal window may trigger mappings.
(Charles Sheridan)
Solution: Avoid triggering a mapping when peeking for a key.
Diffstat (limited to 'src/terminal.c')
-rw-r--r-- | src/terminal.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/terminal.c b/src/terminal.c index 867109b07..53591f15c 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -1306,10 +1306,9 @@ term_enter_job_mode() } /* - * Get a key from the user without mapping. + * Get a key from the user with terminal mode mappings. * Note: while waiting a terminal may be closed and freed if the channel is * closed and ++close was used. - * Uses terminal mode mappings. */ static int term_vgetc() @@ -1633,7 +1632,7 @@ terminal_loop(int blocking) position_cursor(curwin, &curbuf->b_term->tl_cursor_pos); may_set_cursor_props(curbuf->b_term); - while (blocking || vpeekc() != NUL) + while (blocking || vpeekc_nomap() != NUL) { /* TODO: skip screen update when handling a sequence of keys. */ /* Repeat redrawing in case a message is received while redrawing. */ |