diff --git a/autoload/gitgutter/utility.vim b/autoload/gitgutter/utility.vim index ba4974a..7a2f105 100644 --- a/autoload/gitgutter/utility.vim +++ b/autoload/gitgutter/utility.vim @@ -9,25 +9,18 @@ endfunction function! gitgutter#utility#setbufvar(buffer, varname, val) let buffer = +a:buffer " Default value for getbufvar() was introduced in Vim 7.3.831. - let bvars = getbufvar(buffer, '') - if empty(bvars) - let bvars = {} - endif - let dict = get(bvars, 'gitgutter', {}) - let needs_setting = empty(dict) - let dict[a:varname] = a:val - if needs_setting - call setbufvar(buffer, 'gitgutter', dict) + let ggvars = getbufvar(buffer, 'gitgutter') + if type(ggvars) == type('') + let ggvars = {} + call setbufvar(buffer, 'gitgutter', ggvars) endif + let ggvars[a:varname] = a:val endfunction function! gitgutter#utility#getbufvar(buffer, varname, ...) - let bvars = getbufvar(a:buffer, '') - if !empty(bvars) - let dict = get(bvars, 'gitgutter', {}) - if has_key(dict, a:varname) - return dict[a:varname] - endif + let ggvars = getbufvar(a:buffer, 'gitgutter') + if type(ggvars) == type({}) && has_key(ggvars, a:varname) + return ggvars[a:varname] endif if a:0 return a:1