patch 8.2.0257: cannot recognize a terminal in a popup window
Problem: Cannot recognize a terminal in a popup window.
Solution: Add the win_gettype() function.
diff --git a/src/testdir/dumps/Test_terminal_popup_1.dump b/src/testdir/dumps/Test_terminal_popup_1.dump
index 0628eb0..8c2a54d 100644
--- a/src/testdir/dumps/Test_terminal_popup_1.dump
+++ b/src/testdir/dumps/Test_terminal_popup_1.dump
@@ -8,8 +8,8 @@
|7| @12|║+0#0000001#ffd7ff255|~+0#4040ff13#ffffff0| @43|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
|8| @12|║+0#0000001#ffd7ff255|~+0#4040ff13#ffffff0| @43|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
|9| @12|║+0#0000001#ffd7ff255|~+0#4040ff13#ffffff0| @43|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
-|1|0| @11|║+0#0000001#ffd7ff255|"+0#0000000#ffffff0|X|t|e|x|t|"| |3|L|,| |3|6|C| @11|1|,|1| @10|A|l@1| |║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|1|0| @11|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26|1|,|1| @10|A|l@1| |║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
|1@1| @11|╚+0#0000001#ffd7ff255|═@44|⇲| +0#0000000#ffffff0@13
|1|2| @72
|1|3| @72
-@57|0|,|0|-|1| @8|A|l@1|
+|t|e|r|m|i|n|a|l| |p|o|p|u|p| @42|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index a3d2d5a..27ebfbc 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -894,12 +894,14 @@
let g:cmd_wintype = ''
func CmdWinType()
let g:cmd_wintype = getcmdwintype()
+ let g:wintype = win_gettype()
return ''
endfunc
call feedkeys("\<C-c>a\<C-R>=CmdWinType()\<CR>\<CR>")
echo input('')
call assert_equal('@', g:cmd_wintype)
+ call assert_equal('command', g:wintype)
set cedit&vim
delfunc CmdWinType
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index 8c1d357..993498c 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -2333,6 +2333,7 @@
call writefile(text, 'Xtext')
let cmd = GetVimCommandCleanTerm()
let lines = [
+ \ 'set t_u7=',
\ 'call setline(1, range(20))',
\ 'hi PopTerm ctermbg=grey',
\ 'func OpenTerm(setColor)',
@@ -2346,6 +2347,9 @@
\ 'func HidePopup()',
\ ' call popup_hide(s:winid)',
\ 'endfunc',
+ \ 'sleep 10m',
+ \ 'redraw',
+ \ 'echo getwinvar(s:winid, "&buftype") win_gettype(s:winid)',
\ ]
call writefile(lines, 'XtermPopup')
let buf = RunVimInTerminal('-S XtermPopup', #{rows: 15})