0
0
mirror of https://github.com/vim/vim.git synced 2025-10-01 04:54:07 -04:00

patch 8.1.1819: :pedit does not work with a popup preview window

Problem:    :pedit does not work with a popup preview window.
Solution:   Avoid aborting with an error. (fixes #4777)  Also double check
            that after prepare_tagpreview() the current window is not a
            popup window.
This commit is contained in:
Bram Moolenaar
2019-08-05 21:52:04 +02:00
parent b4a88a0441
commit 1b6d9c4215
8 changed files with 86 additions and 2 deletions

View File

@@ -7083,7 +7083,7 @@ do_exedit(
int need_hide;
int exmode_was = exmode_active;
if (ERROR_IF_POPUP_WINDOW)
if (eap->cmdidx != CMD_pedit && ERROR_IF_POPUP_WINDOW)
return;
/*
* ":vi" command ends Ex mode.
@@ -8798,9 +8798,11 @@ ex_pedit(exarg_T *eap)
g_do_tagpreview = p_pvh;
prepare_tagpreview(TRUE);
keep_help_flag = bt_help(curwin_save->w_buffer);
do_exedit(eap, NULL);
keep_help_flag = FALSE;
if (curwin != curwin_save && win_valid(curwin_save))
{
/* Return cursor to where we were */
@@ -8808,6 +8810,13 @@ ex_pedit(exarg_T *eap)
redraw_later(VALID);
win_enter(curwin_save, TRUE);
}
# ifdef FEAT_TEXT_PROP
else if (WIN_IS_POPUP(curwin))
{
// can't keep focus in popup window
win_enter(firstwin, TRUE);
}
# endif
g_do_tagpreview = 0;
}
#endif