patch 8.1.1919: using window options when passing a buffer to popup_create()
Problem: Using current window option values when passing a buffer to
popup_create().
Solution: Clear the window-local options. (closes #4857)
diff --git a/src/option.c b/src/option.c
index 215d48a..19c89f7 100644
--- a/src/option.c
+++ b/src/option.c
@@ -3892,9 +3892,10 @@
/*
* Set all window-local and buffer-local options to the Vim default.
* local-global options will use the global value.
+ * When "do_buffer" is FALSE don't set buffer-local options.
*/
void
-set_local_options_default(win_T *wp)
+set_local_options_default(win_T *wp, int do_buffer)
{
win_T *save_curwin = curwin;
int i;
@@ -3909,6 +3910,7 @@
char_u *varp = get_varp_scope(p, OPT_LOCAL);
if (p->indir != PV_NONE
+ && (do_buffer || (p->indir & PV_BUF) == 0)
&& !(options[i].flags & P_NODEFAULT)
&& !optval_default(p, varp, FALSE))
set_option_default(i, OPT_LOCAL, FALSE);