From b3fd83a0eae2d6353dc72ed62ba32949cc11a1b0 Mon Sep 17 00:00:00 2001 From: glacambre Date: Fri, 19 Apr 2019 07:49:05 +0200 Subject: Reset stop_insert_mode in terminal_enter rather than terminal_check Problem: Using `:stopinsert` while in normal mode in a terminal buffer prevents neovim from entering insert mode. Solution: Move `stop_insert_mode = false` from terminal_check to terminal_enter to be consistent with edit.c, as suggested by bfredl in #9889. Closes https://github.com/neovim/neovim/issues/9889. --- src/nvim/terminal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/nvim/terminal.c b/src/nvim/terminal.c index 79b0df842f..a802a1ffc6 100644 --- a/src/nvim/terminal.c +++ b/src/nvim/terminal.c @@ -374,6 +374,7 @@ void terminal_enter(void) TerminalState state, *s = &state; memset(s, 0, sizeof(TerminalState)); s->term = buf->terminal; + stop_insert_mode = false; // Ensure the terminal is properly sized. Ideally window size management // code should always have resized the terminal already, but check here to @@ -435,7 +436,6 @@ void terminal_enter(void) static int terminal_check(VimState *state) { if (stop_insert_mode) { - stop_insert_mode = false; return 0; } return 1; -- cgit