patch 8.1.1908: every popup window consumes a buffer number

Problem:    Every popup window consumes a buffer number.
Solution:   Recycle buffers only used for popup windows.  Do not list popup
            window buffers.
diff --git a/src/vim.h b/src/vim.h
index 6d89f03..254d3ef 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -922,13 +922,14 @@
 #define GETFILE_UNUSED	    8
 #define GETFILE_SUCCESS(x)  ((x) <= 0)
 
-/* Values for buflist_new() flags */
-#define BLN_CURBUF	1	/* may re-use curbuf for new buffer */
-#define BLN_LISTED	2	/* put new buffer in buffer list */
-#define BLN_DUMMY	4	/* allocating dummy buffer */
-#define BLN_NEW		8	/* create a new buffer */
-#define BLN_NOOPT	16	/* don't copy options to existing buffer */
-#define BLN_DUMMY_OK	32	/* also find an existing dummy buffer */
+// Values for buflist_new() flags
+#define BLN_CURBUF	1	// may re-use curbuf for new buffer
+#define BLN_LISTED	2	// put new buffer in buffer list
+#define BLN_DUMMY	4	// allocating dummy buffer
+#define BLN_NEW		8	// create a new buffer
+#define BLN_NOOPT	16	// don't copy options to existing buffer
+#define BLN_DUMMY_OK	32	// also find an existing dummy buffer
+#define BLN_REUSE	64	// may re-use number from buf_reuse
 
 /* Values for in_cinkeys() */
 #define KEY_OPEN_FORW	0x101
@@ -977,12 +978,13 @@
 #define FM_BLOCKSTOP	0x04	/* stop at start/end of block */
 #define FM_SKIPCOMM	0x08	/* skip comments */
 
-/* Values for action argument for do_buffer() */
-#define DOBUF_GOTO	0	/* go to specified buffer */
-#define DOBUF_SPLIT	1	/* split window and go to specified buffer */
-#define DOBUF_UNLOAD	2	/* unload specified buffer(s) */
-#define DOBUF_DEL	3	/* delete specified buffer(s) from buflist */
-#define DOBUF_WIPE	4	/* delete specified buffer(s) really */
+// Values for action argument for do_buffer() and close_buffer()
+#define DOBUF_GOTO	0	// go to specified buffer
+#define DOBUF_SPLIT	1	// split window and go to specified buffer
+#define DOBUF_UNLOAD	2	// unload specified buffer(s)
+#define DOBUF_DEL	3	// delete specified buffer(s) from buflist
+#define DOBUF_WIPE	4	// delete specified buffer(s) really
+#define DOBUF_WIPE_REUSE 5	// like DOBUF_WIPE an keep number for reuse
 
 /* Values for start argument for do_buffer() */
 #define DOBUF_CURRENT	0	/* "count" buffer from current buffer */