summaryrefslogtreecommitdiff
path: root/src/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c
index 52d0a14ff..dd135afba 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -9042,14 +9042,17 @@ f_getwinvar(argvars, rettv)
{
if (*varname == '&') /* window-local-option */
{
- /* set curwin to be our win, temporarily */
+ /* Set curwin to be our win, temporarily. Also set curbuf, so
+ * that we can get buffer-local options. */
oldcurwin = curwin;
curwin = win;
+ curbuf = win->w_buffer;
get_option_tv(&varname, rettv, 1);
/* restore previous notion of curwin */
curwin = oldcurwin;
+ curbuf = curwin->w_buffer;
}
else
{