summaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2006-10-10 10:55:47 +0000
committerBram Moolenaar <Bram@vim.org>2006-10-10 10:55:47 +0000
commit69a7e430289835c443ba963b25e385ca1519745e (patch)
tree2529d25c5174d8d74318fff2207558371b74f253 /src/eval.c
parenta1b5aa52c480badce208a67f236005762e991329 (diff)
updated for version 7.0-124v7.0.124
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/eval.c b/src/eval.c
index d32efaa7b6..13c0bd618c 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -10432,20 +10432,14 @@ getwinvar(argvars, rettv, off)
if (win != NULL && varname != NULL)
{
- if (*varname == '&') /* window-local-option */
- {
- /* 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;
+ /* 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;
+ if (*varname == '&') /* window-local-option */
get_option_tv(&varname, rettv, 1);
-
- /* restore previous notion of curwin */
- curwin = oldcurwin;
- curbuf = curwin->w_buffer;
- }
else
{
if (*varname == NUL)
@@ -10458,6 +10452,10 @@ getwinvar(argvars, rettv, off)
if (v != NULL)
copy_tv(&v->di_tv, rettv);
}
+
+ /* restore previous notion of curwin */
+ curwin = oldcurwin;
+ curbuf = curwin->w_buffer;
}
--emsg_off;