diff options
author | vimboss <devnull@localhost> | 2008-06-27 18:26:11 +0000 |
---|---|---|
committer | vimboss <devnull@localhost> | 2008-06-27 18:26:11 +0000 |
commit | 94c3369428f2ac00dc83b3a85c117d5302de0dc8 (patch) | |
tree | 82292b1f40cc87e3762494dc3298fdfdb8197179 | |
parent | ca7aa3ea9b9a29cfca78115e80393e0162346fc8 (diff) | |
download | vim-94c3369428f2ac00dc83b3a85c117d5302de0dc8.tar.gz |
-rw-r--r-- | src/eval.c | 18 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 10 insertions, 10 deletions
@@ -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; diff --git a/src/version.c b/src/version.c index c8565c44..6730cc0f 100644 --- 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 |