From d6ea0741c92e39e4f6c3ec639117d9f39ec08094 Mon Sep 17 00:00:00 2001 From: Sean Dewar Date: Sun, 3 Oct 2021 14:00:24 +0100 Subject: fix(prompt): add missing changes from v8.1.0036 v8.1.0036 is already marked as ported, but missed out changes that depended on v8.1.0035. --- src/nvim/window.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/nvim/window.c b/src/nvim/window.c index 1da6c3704f..9f4c5c68f6 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -2241,12 +2241,21 @@ static void leaving_window(win_T *const win) // callback we need to break out of the Insert mode loop. if (State & INSERT) { stop_insert_mode = true; + if (bt_prompt(win->w_buffer) && win->w_buffer->b_prompt_insert == NUL) { + win->w_buffer->b_prompt_insert = 'A'; + } } } static void entering_window(win_T *const win) FUNC_ATTR_NONNULL_ALL { + // When switching to a prompt buffer that was in Insert mode, don't stop + // Insert mode, it may have been set in leaving_window(). + if (bt_prompt(win->w_buffer) && win->w_buffer->b_prompt_insert != NUL) { + stop_insert_mode = false; + } + // When entering the prompt window may restart Insert mode. restart_edit = win->w_buffer->b_prompt_insert; } -- cgit