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/ex_docmd.c b/src/ex_docmd.c
index 80cc930..645ad0c 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -4633,7 +4633,7 @@
static void
ex_bunload(exarg_T *eap)
{
- if (ERROR_IF_POPUP_WINDOW)
+ if (ERROR_IF_ANY_POPUP_WINDOW)
return;
eap->errmsg = do_bufdel(
eap->cmdidx == CMD_bdelete ? DOBUF_DEL
@@ -4649,7 +4649,7 @@
static void
ex_buffer(exarg_T *eap)
{
- if (ERROR_IF_POPUP_WINDOW)
+ if (ERROR_IF_ANY_POPUP_WINDOW)
return;
if (*eap->arg)
eap->errmsg = e_trailing;
@@ -4683,7 +4683,7 @@
static void
ex_bnext(exarg_T *eap)
{
- if (ERROR_IF_POPUP_WINDOW)
+ if (ERROR_IF_ANY_POPUP_WINDOW)
return;
goto_buffer(eap, DOBUF_CURRENT, FORWARD, (int)eap->line2);
@@ -4700,7 +4700,7 @@
static void
ex_bprevious(exarg_T *eap)
{
- if (ERROR_IF_POPUP_WINDOW)
+ if (ERROR_IF_ANY_POPUP_WINDOW)
return;
goto_buffer(eap, DOBUF_CURRENT, BACKWARD, (int)eap->line2);
@@ -4717,7 +4717,7 @@
static void
ex_brewind(exarg_T *eap)
{
- if (ERROR_IF_POPUP_WINDOW)
+ if (ERROR_IF_ANY_POPUP_WINDOW)
return;
goto_buffer(eap, DOBUF_FIRST, FORWARD, 0);
@@ -4732,7 +4732,7 @@
static void
ex_blast(exarg_T *eap)
{
- if (ERROR_IF_POPUP_WINDOW)
+ if (ERROR_IF_ANY_POPUP_WINDOW)
return;
goto_buffer(eap, DOBUF_LAST, BACKWARD, 0);
@@ -5762,7 +5762,7 @@
|| eap->cmdidx == CMD_tabfind
|| eap->cmdidx == CMD_tabnew;
- if (ERROR_IF_POPUP_WINDOW)
+ if (ERROR_IF_ANY_POPUP_WINDOW)
return;
#ifdef FEAT_GUI
@@ -6145,7 +6145,8 @@
int need_hide;
int exmode_was = exmode_active;
- if (eap->cmdidx != CMD_pedit && ERROR_IF_POPUP_WINDOW)
+ if ((eap->cmdidx != CMD_pedit && ERROR_IF_POPUP_WINDOW)
+ || ERROR_IF_TERM_POPUP_WINDOW)
return;
/*
* ":vi" command ends Ex mode.