# HG changeset patch # User vimboss # Date 1214591171 0 # Node ID e1c7d0ea5dacf4184cf49c3d05d6ce77d944a367 # Parent 68f00510705229a9b8653612b806dbbcccd5aebf updated for version 7.2a-002 diff --git a/src/eval.c b/src/eval.c --- a/src/eval.c +++ b/src/eval.c @@ -10442,17 +10442,12 @@ f_getbufvar(argvars, rettv) if (buf != NULL && varname != NULL) { + /* set curbuf to be our buf, temporarily */ + save_curbuf = curbuf; + curbuf = buf; + if (*varname == '&') /* buffer-local-option */ - { - /* set curbuf to be our buf, temporarily */ - save_curbuf = curbuf; - curbuf = buf; - 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; diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -677,6 +677,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2, +/**/ 1, /**/ 0