To: vim_dev@googlegroups.com Subject: Patch 8.2.0214 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.0214 Problem: A popup window with a terminal can be made hidden. Solution: Disallow hiding a terminal popup. Files: src/testdir/test_terminal.vim, src/popupwin.c, src/testdir/dumps/Test_terminal_popup_4.dump *** ../vim-8.2.0213/src/testdir/test_terminal.vim 2020-02-02 13:47:02.688673781 +0100 --- src/testdir/test_terminal.vim 2020-02-05 21:05:37.267386023 +0100 *************** *** 2337,2348 **** \ 'hi PopTerm ctermbg=grey', \ 'func OpenTerm(setColor)', \ " let buf = term_start('" .. cmd .. " Xtext', #{hidden: 1, term_finish: 'close'})", ! \ ' let winid = popup_create(buf, #{minwidth: 45, minheight: 7, border: [], drag: 1, resize: 1})', \ ' if a:setColor', ! \ ' call win_execute(winid, "set wincolor=PopTerm")', \ ' endif', \ 'endfunc', \ 'call OpenTerm(0)', \ ] call writefile(lines, 'XtermPopup') let buf = RunVimInTerminal('-S XtermPopup', #{rows: 15}) --- 2337,2351 ---- \ 'hi PopTerm ctermbg=grey', \ 'func OpenTerm(setColor)', \ " let buf = term_start('" .. cmd .. " Xtext', #{hidden: 1, term_finish: 'close'})", ! \ ' let s:winid = popup_create(buf, #{minwidth: 45, minheight: 7, border: [], drag: 1, resize: 1})', \ ' if a:setColor', ! \ ' call win_execute(s:winid, "set wincolor=PopTerm")', \ ' endif', \ 'endfunc', \ 'call OpenTerm(0)', + \ 'func HidePopup()', + \ ' call popup_hide(s:winid)', + \ 'endfunc', \ ] call writefile(lines, 'XtermPopup') let buf = RunVimInTerminal('-S XtermPopup', #{rows: 15}) *************** *** 2356,2361 **** --- 2359,2368 ---- call term_sendkeys(buf, "/edit\") call VerifyScreenDump(buf, 'Test_terminal_popup_3', {}) + call term_sendkeys(buf, "\:call HidePopup()\") + call VerifyScreenDump(buf, 'Test_terminal_popup_4', {}) + call term_sendkeys(buf, "\") + call term_sendkeys(buf, ":q\") call term_wait(buf, 100) " wait for terminal to vanish *** ../vim-8.2.0213/src/popupwin.c 2020-02-03 22:58:45.263138668 +0100 --- src/popupwin.c 2020-02-05 21:01:39.512635141 +0100 *************** *** 2371,2376 **** --- 2371,2380 ---- void popup_hide(win_T *wp) { + #ifdef FEAT_TERMINAL + if (error_if_term_popup_window()) + return; + #endif if ((wp->w_popup_flags & POPF_HIDDEN) == 0) { wp->w_popup_flags |= POPF_HIDDEN; *** ../vim-8.2.0213/src/testdir/dumps/Test_terminal_popup_4.dump 2020-02-05 21:06:53.782993684 +0100 --- src/testdir/dumps/Test_terminal_popup_4.dump 2020-02-05 21:04:03.755871297 +0100 *************** *** 0 **** --- 1,15 ---- + |3+0&#ffffff0| @12|╔+0&#a8a8a8255|═@44|╗| +0&#ffffff0@13 + |4| @12|║+0&#a8a8a8255|s|o|m|e| |t|e|x|t| @35|║| +0&#ffffff0@13 + |5| @12|║+0&#a8a8a8255|t|o| |e+0&#ffff4012|d|i|t| +0&#a8a8a8255@37|║| +0&#ffffff0@13 + |6| @12|║+0&#a8a8a8255|i|n| |a| |p|o|p|u|p| |w|i|n|d|o|w| @27|║| +0&#ffffff0@13 + |7| @12|║+0&#a8a8a8255|~+0#4040ff13&| @43|║+0#0000000&| +0&#ffffff0@13 + |8| @12|║+0&#a8a8a8255|~+0#4040ff13&| @43|║+0#0000000&| +0&#ffffff0@13 + |9| @12|║+0&#a8a8a8255|~+0#4040ff13&| @43|║+0#0000000&| +0&#ffffff0@13 + |1|0| @11|║+0&#a8a8a8255|/|e|d|i|t| @21|2|,|4| @10|A|l@1| |║| +0&#ffffff0@13 + |1@1| @11|╚+0&#a8a8a8255|═@44|⇲| +0&#ffffff0@13 + |1|2| @72 + |1|3| @72 + |E+0#ffffff16#e000002|r@1|o|r| |d|e|t|e|c|t|e|d| |w|h|i|l|e| |p|r|o|c|e|s@1|i|n|g| |f|u|n|c|t|i|o|n| |H|i|d|e|P|o|p|u|p|:| +0#0000000#ffffff0@23 + |l+0#af5f00255&|i|n|e| @3|1|:| +0#0000000&@64 + |E+0#ffffff16#e000002|8|6|3|:| |N|o|t| |a|l@1|o|w|e|d| |f|o|r| |a| |t|e|r|m|i|n|a|l| |i|n| |a| |p|o|p|u|p| |w|i|n|d|o|w| +0#0000000#ffffff0@24 + |P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35 *** ../vim-8.2.0213/src/version.c 2020-02-05 20:44:19.081959534 +0100 --- src/version.c 2020-02-05 21:06:43.759044862 +0100 *************** *** 744,745 **** --- 744,747 ---- { /* Add new patch number below this line */ + /**/ + 214, /**/ -- hundred-and-one symptoms of being an internet addict: 31. You code your homework in HTML and give your instructor the URL. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///