patch 8.2.1807: can use :help in a terminal popup window
Problem: Can use :help in a terminal popup window.
Solution: Give an error. (closes #7088)
diff --git a/src/help.c b/src/help.c
index 4f2b6b6..4d59ab9 100644
--- a/src/help.c
+++ b/src/help.c
@@ -39,6 +39,9 @@
int old_KeyTyped = KeyTyped;
#endif
+ if (ERROR_IF_ANY_POPUP_WINDOW)
+ return;
+
if (eap != NULL)
{
// A ":help" command ends at the first LF, or at a '|' that is
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index e991fc1..187b4f1 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -2645,6 +2645,10 @@
let g:test_is_flaky = 1
let origwin = win_getid()
+
+ " open help window to test that :help below fails
+ help
+
let termbuf = term_start(&shell, #{hidden: 1})
let winid = popup_create(termbuf, #{minwidth: 40, minheight: 10})
" Wait for shell to start
@@ -2666,6 +2670,7 @@
" Cannot escape from terminal window
call assert_fails('tab drop xxx', 'E863:')
+ call assert_fails('help', 'E994:')
" Cannot open a second one.
let termbuf2 = term_start(&shell, #{hidden: 1})
@@ -2677,6 +2682,7 @@
" Wait for shell to exit
call WaitForAssert({-> assert_equal("dead", job_status(term_getjob(termbuf)))})
+ helpclose
call feedkeys(":quit\<CR>", 'xt')
call assert_equal(origwin, win_getid())
endfunc
diff --git a/src/version.c b/src/version.c
index a410167..daac372 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1807,
+/**/
1806,
/**/
1805,