# HG changeset patch # User Christian Brabandt # Date 1505569503 -7200 # Node ID 66fe20238c1d3ce0317d00909384741514b84d56 # Parent 2f5d2f70f891b60cc7abc2584488bdb7111a7dc1 patch 8.0.1113: can go to Insert mode from Terminal-Normal mode commit https://github.com/vim/vim/commit/eef9adddab4c7fc7bb1c54267e76849caf565edf Author: Bram Moolenaar Date: Sat Sep 16 15:38:04 2017 +0200 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 --- 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 --- a/src/version.c +++ b/src/version.c @@ -770,6 +770,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1113, +/**/ 1112, /**/ 1111,