From: Bram Moolenaar Date: Sat, 16 Sep 2017 13:38:04 +0000 (+0200) Subject: patch 8.0.1113: can go to Insert mode from Terminal-Normal mode X-Git-Tag: v8.0.1113 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=eef9adddab4c7fc7bb1c54267e76849caf565edf;p=vim patch 8.0.1113: can go to Insert mode from Terminal-Normal mode Problem: Can go to Insert mode from Terminal-Normal mode. Solution: Prevent :startinsert and "VA" to enter Insert mode. (Yasuhiro Matsumoto, closes #2092) --- diff --git a/src/normal.c b/src/normal.c index a1b2612f7..cbdfbc439 100644 --- a/src/normal.c +++ b/src/normal.c @@ -1309,8 +1309,8 @@ normal_end: #endif #ifdef FEAT_TERMINAL - /* don't go to Insert mode from Terminal-Job mode */ - if (term_use_loop()) + /* don't go to Insert mode if a terminal has a running job */ + if (term_job_running(curbuf->b_term)) restart_edit = 0; #endif @@ -9044,7 +9044,18 @@ nv_edit(cmdarg_T *cap) /* in Visual mode "A" and "I" are an operator */ if (VIsual_active && (cap->cmdchar == 'A' || cap->cmdchar == 'I')) + { +#ifdef FEAT_TERMINAL + if (term_in_normal_mode()) + { + end_visual_mode(); + clearop(cap->oap); + term_enter_job_mode(); + return; + } +#endif v_visop(cap); + } /* in Visual mode and after an operator "a" and "i" are for text objects */ else if ((cap->cmdchar == 'a' || cap->cmdchar == 'i') diff --git a/src/version.c b/src/version.c index ce9d2c249..6ea93a0dc 100644 --- a/src/version.c +++ b/src/version.c @@ -769,6 +769,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1113, /**/ 1112, /**/