patch 8.2.0194: some commands can cause problems in terminal popup
Problem: Some commands can cause problems in terminal popup.
Solution: Disallow more commands.
diff --git a/src/popupwin.c b/src/popupwin.c
index cb33dc4..d4f6026 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -2360,7 +2360,7 @@
int id = (int)tv_get_number(argvars);
win_T *wp;
- if (ERROR_IF_POPUP_WINDOW)
+ if (ERROR_IF_ANY_POPUP_WINDOW)
return;
wp = find_popup_win(id);
@@ -2511,7 +2511,7 @@
void
close_all_popups(void)
{
- if (ERROR_IF_POPUP_WINDOW)
+ if (ERROR_IF_ANY_POPUP_WINDOW)
return;
while (first_popupwin != NULL)
popup_close(first_popupwin->w_id);
@@ -2845,14 +2845,14 @@
}
int
-error_if_popup_window()
+error_if_popup_window(int also_with_term UNUSED)
{
// win_execute() may set "curwin" to a popup window temporarily, but many
// commands are disallowed then. When a terminal runs in the popup most
// things are allowed.
if (WIN_IS_POPUP(curwin)
# ifdef FEAT_TERMINAL
- && curbuf->b_term == NULL
+ && (also_with_term || curbuf->b_term == NULL)
# endif
)
{