Mercurial > vim
diff src/window.c @ 34144:27b3a4fe9c5e v9.1.0033
patch 9.1.0033: Insert mode not stopped if closing prompt buffer modifies hidden buffer
Commit: https://github.com/vim/vim/commit/96958366ad6159efe708b694055320ed19357e61
Author: zeertzjq <zeertzjq@outlook.com>
Date: Tue Jan 16 17:19:59 2024 +0100
patch 9.1.0033: Insert mode not stopped if closing prompt buffer modifies hidden buffer
Problem: Insert mode not stopped if an autocommand modifies a hidden
buffer while closing a prompt buffer.
Solution: Don't set b_prompt_insert if stop_insert_mode is already set.
(zeertzjq)
closes: #13872
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 16 Jan 2024 17:30:08 +0100 |
parents | 0c40b031e7d8 |
children | a522c6c0127b |
line wrap: on
line diff
--- a/src/window.c +++ b/src/window.c @@ -2362,7 +2362,7 @@ leaving_window(win_T *win) // When leaving the window (or closing the window) was done from a // callback we need to break out of the Insert mode loop and restart Insert // mode when entering the window again. - if (State & MODE_INSERT) + if ((State & MODE_INSERT) && !stop_insert_mode) { stop_insert_mode = TRUE; if (win->w_buffer->b_prompt_insert == NUL)