mirror of
https://github.com/tpope/vim-fugitive.git
synced 2025-11-13 05:43:52 -05:00
Avoid empty string keys to prevent Vim 7 error
Closes https://github.com/tpope/vim-fugitive/issues/1113
This commit is contained in:
@@ -551,9 +551,9 @@ function! fugitive#Config(...) abort
|
|||||||
let dir = a:1
|
let dir = a:1
|
||||||
endif
|
endif
|
||||||
let name = substitute(name, '^[^.]\+\|[^.]\+$', '\L&', 'g')
|
let name = substitute(name, '^[^.]\+\|[^.]\+$', '\L&', 'g')
|
||||||
let key = len(dir) ? dir : '_'
|
let dir_key = len(dir) ? dir : '_'
|
||||||
if has_key(s:config, key) && s:config[key][0] ==# s:ConfigTimestamps(dir, s:config[key][1])
|
if has_key(s:config, dir_key) && s:config[dir_key][0] ==# s:ConfigTimestamps(dir, s:config[dir_key][1])
|
||||||
let dict = s:config[key][1]
|
let dict = s:config[dir_key][1]
|
||||||
else
|
else
|
||||||
let dict = {}
|
let dict = {}
|
||||||
let [lines, message, exec_error] = s:NullError([dir, 'config', '--list', '-z'])
|
let [lines, message, exec_error] = s:NullError([dir, 'config', '--list', '-z'])
|
||||||
@@ -571,7 +571,7 @@ function! fugitive#Config(...) abort
|
|||||||
call add(dict[key], strpart(line, len(key) + 1))
|
call add(dict[key], strpart(line, len(key) + 1))
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
let s:config[dir] = [s:ConfigTimestamps(dir, dict), dict]
|
let s:config[dir_key] = [s:ConfigTimestamps(dir, dict), dict]
|
||||||
lockvar! dict
|
lockvar! dict
|
||||||
endif
|
endif
|
||||||
return len(name) ? get(get(dict, name, []), 0, '') : dict
|
return len(name) ? get(get(dict, name, []), 0, '') : dict
|
||||||
@@ -2639,14 +2639,15 @@ endfunction
|
|||||||
|
|
||||||
let s:aliases = {}
|
let s:aliases = {}
|
||||||
function! s:Aliases(dir) abort
|
function! s:Aliases(dir) abort
|
||||||
if !has_key(s:aliases, a:dir)
|
let dir_key = len(a:dir) ? a:dir : '_'
|
||||||
let s:aliases[a:dir] = {}
|
if !has_key(s:aliases, dir_key)
|
||||||
|
let s:aliases[dir_key] = {}
|
||||||
let lines = s:NullError([a:dir, 'config', '-z', '--get-regexp', '^alias[.]'])[0]
|
let lines = s:NullError([a:dir, 'config', '-z', '--get-regexp', '^alias[.]'])[0]
|
||||||
for line in lines
|
for line in lines
|
||||||
let s:aliases[a:dir][matchstr(line, '\.\zs.\{-}\ze\n')] = matchstr(line, '\n\zs.*')
|
let s:aliases[dir_key][matchstr(line, '\.\zs.\{-}\ze\n')] = matchstr(line, '\n\zs.*')
|
||||||
endfor
|
endfor
|
||||||
endif
|
endif
|
||||||
return s:aliases[a:dir]
|
return s:aliases[dir_key]
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! fugitive#Complete(lead, ...) abort
|
function! fugitive#Complete(lead, ...) abort
|
||||||
|
|||||||
Reference in New Issue
Block a user