Open j201 opened 9 years ago
:+1: Seconded.
Here is some relevant debug information.
One problem seems to be with indexing l:parts
.
line 10: let l:info["bufnum"] = l:parts[1] + 0
Error detected while processing function buffergator#UpdateBuffergator[7]..313[1]..278:
line 10:
E684: list index out of range: 1
E15: Invalid expression: l:parts[1] + 0
line 11: if l:parts[2][0] == "u"
line 11:
E684: list index out of range: 2
E15: Invalid expression: l:parts[2][0] == "u"
line 12: let l:info["is_unlisted"] = 1
line 13: let l:info["is_listed"] = 0
line 14: else
line 15: let l:info["is_unlisted"] = 0
line 16: let l:info["is_listed"] = 1
line 17: endif
line 18: if l:parts[2][1] == "%"
line 18:
E684: list index out of range: 2
...and so on...
Following the indexing errors are the following missing key errors:
E15: Invalid expression: l:parts[2][4] == "+"
line 52: let l:info["is_modified"] = 1
line 53: let l:info["is_readerror"] = 0
line 54: elseif l:parts[2][4] == "x"
line 55: let l:info["is_modified"] = 0
line 56: let l:info["is_readerror"] = 0
line 57: else
line 58: let l:info["is_modified"] = 0
line 59: let l:info["is_readerror"] = 0
line 60: endif
line 61: let l:info["bufname"] = parts[3]
line 61:
E684: list index out of range: 3
E15: Invalid expression: parts[3]
line 62: let l:info["filepath"] = fnamemodify(l:info["bufname"], ":p")
line 62:
E716: Key not present in Dictionary: bufname
E116: Invalid arguments for function fnamemodify(l:info["bufname"], ":p")
E15: Invalid expression: fnamemodify(l:info["bufname"], ":p")
line 63: " if g:buffergator_show_full_directory_path
line 64: " let l:info["filepath"] = fnamemodify(l:info["bufname"], ":p")
line 65: " else
line 66: " let l:info["filepath"] = fnamemodify(l:info["bufname"], ":.")
line 67: " endif
line 68: let l:info["basename"] = fnamemodify(l:info["bufname"], ":t")
line 68:
E716: Key not present in Dictionary: bufname
E116: Invalid arguments for function fnamemodify(l:info["bufname"], ":t")
E15: Invalid expression: fnamemodify(l:info["bufname"], ":t")
line 69: if len(l:info["basename"]) > self.max_buffer_basename_len
line 69:
E716: Key not present in Dictionary: basename
E116: Invalid arguments for function len(l:info["basename"]) > self.max_buffer_basename_len
function buffergator#UpdateBuffergator[7]..313[1]..278 aborted
I've also attached a complete logfile that contains this error: buffergator.log.txt
Hope this helps!
Steps to reproduce:
let g:buffergator_autoupdate = 1
:BuffergatorOpen
:BuffergatorClose
):bd
Result: The buffer isn't deleted. Instead, the window is split and the buffer appears in the top split.
I'm using version 7.4.778.
Here's a minimal vimrc that exhibits this problem (uses Vundle):