patch 8.1.1612: cannot show an existing buffer in a popup window

Problem:    Cannot show an existing buffer in a popup window.
Solution:   Support buffer number argument in popup_create().
diff --git a/src/window.c b/src/window.c
index d40b060..b40aae6 100644
--- a/src/window.c
+++ b/src/window.c
@@ -4887,7 +4887,7 @@
     int
 win_unlisted(win_T *wp)
 {
-    return wp == aucmd_win || bt_popup(wp->w_buffer);
+    return wp == aucmd_win || WIN_IS_POPUP(wp);
 }
 
 #if defined(FEAT_TEXT_PROP) || defined(PROTO)
@@ -4898,7 +4898,10 @@
     void
 win_free_popup(win_T *win)
 {
-    win_close_buffer(win, DOBUF_WIPE, FALSE);
+    if (bt_popup(win->w_buffer))
+	win_close_buffer(win, DOBUF_WIPE, FALSE);
+    else
+	close_buffer(win, win->w_buffer, 0, FALSE);
 # if defined(FEAT_TIMERS)
     if (win->w_popup_timer != NULL)
 	stop_timer(win->w_popup_timer);
@@ -6605,7 +6608,7 @@
 	curbuf = curwin->w_buffer;
     }
 #ifdef FEAT_TEXT_PROP
-    else if (bt_popup(curwin->w_buffer))
+    else if (WIN_IS_POPUP(curwin))
 	// original window was closed and now we're in a popup window: Go
 	// to the first valid window.
 	win_goto(firstwin);