mirror of
https://github.com/vim/vim.git
synced 2025-09-26 04:04:07 -04:00
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)
This commit is contained in:
15
src/normal.c
15
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')
|
||||
|
@@ -769,6 +769,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1113,
|
||||
/**/
|
||||
1112,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user