patch 9.1.0040: issue with prompt buffer and hidden buffer

Problem:  Modifying a hidden buffer still interferes with prompt buffer
          mode changes.
Solution: Save and restore b_prompt_insert.
          (zeertzjq)

closes: #13875

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Modifying hidden buffer still interferes with prompt buffer mode changes
This commit is contained in:
zeertzjq
2024-01-17 21:22:59 +01:00
committed by Christian Brabandt
parent 6a8d2e1634
commit f267847017
4 changed files with 31 additions and 9 deletions

View File

@ -1565,9 +1565,12 @@ aucmd_prepbuf(
}
aco->save_curwin_id = curwin->w_id;
aco->save_curbuf = curbuf;
aco->save_prevwin_id = prevwin == NULL ? 0 : prevwin->w_id;
aco->save_State = State;
#ifdef FEAT_JOB_CHANNEL
if (bt_prompt(curbuf))
aco->save_prompt_insert = curbuf->b_prompt_insert;
#endif
if (win != NULL)
{
@ -1692,6 +1695,8 @@ win_found:
#ifdef FEAT_JOB_CHANNEL
// May need to restore insert mode for a prompt buffer.
entering_window(curwin);
if (bt_prompt(curbuf))
curbuf->b_prompt_insert = aco->save_prompt_insert;
#endif
prevwin = win_find_by_id(aco->save_prevwin_id);
#ifdef FEAT_EVAL