summaryrefslogtreecommitdiff
path: root/src/terminal.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-03-16 22:20:49 +0100
committerBram Moolenaar <Bram@vim.org>2018-03-16 22:20:49 +0100
commitaf23bad0fd05b1f6495287089387a1f97efa5b49 (patch)
tree99337db4bd8eb962b5493be291f97c31479f7a8e /src/terminal.c
parent4ac31eeff0409de0b1fe2d9e9f678859656ac4ae (diff)
downloadvim-git-af23bad0fd05b1f6495287089387a1f97efa5b49.tar.gz
patch 8.0.1611: CTRL-W in system terminal does not go to jobv8.0.1611
Problem: CTRL-W in system terminal does not go to job. Solution: Do not use CTRL-W as a terminal command in a system terminal.
Diffstat (limited to 'src/terminal.c')
-rw-r--r--src/terminal.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/terminal.c b/src/terminal.c
index bff83d24b..67972f14b 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -2007,8 +2007,13 @@ terminal_loop(int blocking)
if (ctrl_break_was_pressed)
mch_signal_job(curbuf->b_term->tl_job, (char_u *)"kill");
#endif
- /* Was either CTRL-W (termkey) or CTRL-\ pressed? */
- if (c == (termkey == 0 ? Ctrl_W : termkey) || c == Ctrl_BSL)
+ /* Was either CTRL-W (termkey) or CTRL-\ pressed?
+ * Not in a system terminal. */
+ if ((c == (termkey == 0 ? Ctrl_W : termkey) || c == Ctrl_BSL)
+#ifdef FEAT_GUI
+ && !curbuf->b_term->tl_system
+#endif
+ )
{
int prev_c = c;