patch 8.1.1457: cannot reuse a buffer when loading a screen dump
Problem: Cannot reuse a buffer when loading a screen dump.
Solution: Add the "bufnr" option.
diff --git a/src/channel.c b/src/channel.c
index 5ace071..c9bfd3e 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -4901,6 +4901,32 @@
opt->jo_set2 |= JO2_CURWIN;
opt->jo_curwin = tv_get_number(item);
}
+ else if (STRCMP(hi->hi_key, "bufnr") == 0)
+ {
+ int nr;
+
+ if (!(supported2 & JO2_CURWIN))
+ break;
+ opt->jo_set2 |= JO2_BUFNR;
+ nr = tv_get_number(item);
+ if (nr <= 0)
+ {
+ semsg(_(e_invargNval), hi->hi_key, tv_get_string(item));
+ return FAIL;
+ }
+ opt->jo_bufnr_buf = buflist_findnr(nr);
+ if (opt->jo_bufnr_buf == NULL)
+ {
+ semsg(_(e_nobufnr), (long)nr);
+ return FAIL;
+ }
+ if (opt->jo_bufnr_buf->b_nwindows == 0
+ || opt->jo_bufnr_buf->b_term == NULL)
+ {
+ semsg(_(e_invarg2), "bufnr");
+ return FAIL;
+ }
+ }
else if (STRCMP(hi->hi_key, "hidden") == 0)
{
if (!(supported2 & JO2_HIDDEN))