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/evalfunc.c b/src/evalfunc.c
index 01afa3d..f87fd1f 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1963,15 +1963,8 @@
 {
     buf_T	*buf = get_buf_arg(&argvars[0]);
 
-    if (buf != NULL && buf->b_ml.ml_mfp == NULL)
-    {
-	aco_save_T	aco;
-
-	aucmd_prepbuf(&aco, buf);
-	swap_exists_action = SEA_NONE;
-	open_buffer(FALSE, NULL, 0);
-	aucmd_restbuf(&aco);
-    }
+    if (buf != NULL)
+	buffer_ensure_loaded(buf);
 }
 
 /*
@@ -4905,7 +4898,7 @@
 		    return;
 		(void)mouse_comp_pos(win, &row, &col, &lnum);
 # ifdef FEAT_TEXT_PROP
-		if (bt_popup(win->w_buffer))
+		if (WIN_IS_POPUP(win))
 		    winnr = 0;
 		else
 # endif