From 632deedd0fe559b50d5292ef00e0241dc16d511c Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 27 Jun 2008 18:26:11 +0000 Subject: updated for version 7.2a-002 --- src/eval.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'src/eval.c') diff --git a/src/eval.c b/src/eval.c index fada51d646..67880cfb7d 100644 --- a/src/eval.c +++ b/src/eval.c @@ -10442,17 +10442,12 @@ f_getbufvar(argvars, rettv) if (buf != NULL && varname != NULL) { - if (*varname == '&') /* buffer-local-option */ - { - /* set curbuf to be our buf, temporarily */ - save_curbuf = curbuf; - curbuf = buf; + /* set curbuf to be our buf, temporarily */ + save_curbuf = curbuf; + curbuf = buf; + if (*varname == '&') /* buffer-local-option */ get_option_tv(&varname, rettv, TRUE); - - /* restore previous notion of curbuf */ - curbuf = save_curbuf; - } else { if (*varname == NUL) @@ -10461,10 +10456,13 @@ f_getbufvar(argvars, rettv) * find_var_in_ht(). */ varname = (char_u *)"b:" + 2; /* look up the variable */ - v = find_var_in_ht(&buf->b_vars.dv_hashtab, varname, FALSE); + v = find_var_in_ht(&curbuf->b_vars.dv_hashtab, varname, FALSE); if (v != NULL) copy_tv(&v->di_tv, rettv); } + + /* restore previous notion of curbuf */ + curbuf = save_curbuf; } --emsg_off; -- cgit v1.2.3