patch 8.2.4913: popup_hide() does not always have effect

Problem:    Popup_hide() does not always have effect.
Solution:   Add the POPF_HIDDEN_FORCE flag. (closes #10376)
diff --git a/src/testdir/dumps/Test_popup_prop_not_visible_01a.dump b/src/testdir/dumps/Test_popup_prop_not_visible_01a.dump
new file mode 100644
index 0000000..0b97cb8
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_prop_not_visible_01a.dump
@@ -0,0 +1,10 @@
+| +2&#ffffff0|2+2#e000e06&|++2#0000000&| |[|N|o| |N|a|m|e|]| | +1&&@60
+| +0&&@42||+1&&> +0&&@30
+|~+0#4040ff13&| @41||+1#0000000&|s+0&&|o|m|e| |t|e|x|t| @21
+|~+0#4040ff13&| @41||+1#0000000&| +0&&@30
+|~+0#4040ff13&| @41||+1#0000000&|o+0&&|t|h|e|r| |t|e|x|t|a+0#ffffff16#e000002|t@1|a|c|h|e|d| |t|o| |"|o|t|h|e|r|"| +0#0000000#ffffff0@1
+|~+0#4040ff13&| @41||+1#0000000&|~+0#4040ff13&| @29
+|~| @41||+1#0000000&|~+0#4040ff13&| @29
+|~| @41||+1#0000000&|~+0#4040ff13&| @29
+|[+1#0000000&|N|o| |N|a|m|e|]| @15|0|,|0|-|1| @9|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @2|1|,|0|-|1| @6|A|l@1
+|:+0&&|c|a|l@1| |p|o|p|u|p|_|h|i|d|e|(|g|:|s|o|m|e|_|i|d|)| @47
diff --git a/src/testdir/dumps/Test_popup_prop_not_visible_01b.dump b/src/testdir/dumps/Test_popup_prop_not_visible_01b.dump
new file mode 100644
index 0000000..e8a5c2e
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_prop_not_visible_01b.dump
@@ -0,0 +1,10 @@
+| +2&#ffffff0|2+2#e000e06&|++2#0000000&| |[|N|o| |N|a|m|e|]| | +1&&@60
+| +0&&@42||+1&&> +0&&@30
+|~+0#4040ff13&| @41||+1#0000000&|s+0&&|o|m|e| |t|e|x|t|a+0#ffffff16#e000002|t@1|a|c|h|e|d| |t|o| |"|s|o|m|e|"| +0#0000000#ffffff0@3
+|~+0#4040ff13&| @41||+1#0000000&| +0&&@30
+|~+0#4040ff13&| @41||+1#0000000&|o+0&&|t|h|e|r| |t|e|x|t|a+0#ffffff16#e000002|t@1|a|c|h|e|d| |t|o| |"|o|t|h|e|r|"| +0#0000000#ffffff0@1
+|~+0#4040ff13&| @41||+1#0000000&|~+0#4040ff13&| @29
+|~| @41||+1#0000000&|~+0#4040ff13&| @29
+|~| @41||+1#0000000&|~+0#4040ff13&| @29
+|[+1#0000000&|N|o| |N|a|m|e|]| @15|0|,|0|-|1| @9|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @2|1|,|0|-|1| @6|A|l@1
+|:+0&&|c|a|l@1| |p|o|p|u|p|_|s|h|o|w|(|g|:|s|o|m|e|_|i|d|)| @47
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 3e5373c..f58b159 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -4055,7 +4055,7 @@
       setline(1, ['', 'some text', '', 'other text'])
       prop_type_add('someprop', {})
       prop_add(2, 9, {type: 'someprop', length: 5})
-      popup_create('attached to "some"', {
+      g:some_id = popup_create('attached to "some"', {
           textprop: 'someprop',
           highlight: 'ErrorMsg',
           line: -1,
@@ -4076,6 +4076,12 @@
   let buf = RunVimInTerminal('-S XtestPropNotVisble', #{rows: 10})
   call VerifyScreenDump(buf, 'Test_popup_prop_not_visible_01', {})
 
+  " check that hiding and unhiding the popup works
+  call term_sendkeys(buf, ":call popup_hide(g:some_id)\<CR>")
+  call VerifyScreenDump(buf, 'Test_popup_prop_not_visible_01a', {})
+  call term_sendkeys(buf, ":call popup_show(g:some_id)\<CR>")
+  call VerifyScreenDump(buf, 'Test_popup_prop_not_visible_01b', {})
+
   call term_sendkeys(buf, ":vert resize -14\<CR>")
   call VerifyScreenDump(buf, 'Test_popup_prop_not_visible_02', {})