patch 8.2.4814: possible to leave a popup window with win_gotoid()
Problem: Possible to leave a popup window with win_gotoid().
Solution: Give an error when trying to leave a popup window with
win_gotoid(). (closes #10253)
diff --git a/src/testdir/test_terminal3.vim b/src/testdir/test_terminal3.vim
index 9b5a02f..b798e9a 100644
--- a/src/testdir/test_terminal3.vim
+++ b/src/testdir/test_terminal3.vim
@@ -528,6 +528,18 @@
exe buf2 .. 'bwipe!'
endfunc
+func Test_escape_popup_terminal()
+ set hidden
+
+ " Cannot escape a terminal popup window using win_gotoid
+ let prev_win = win_getid()
+ eval term_start('sh', #{hidden: 1, term_finish: 'close'})->popup_create({})
+ call assert_fails("call win_gotoid(" .. prev_win .. ")", 'E863:')
+
+ call popup_clear(1)
+ set hidden&
+endfunc
+
func Test_issue_5607()
let wincount = winnr('$')
exe 'terminal' &shell &shellcmdflag 'exit'