f7e91e821f
Since 7.3.449 trying to :lclose inside BufWinLeave result in E855: $ vi -u /dev/null --noplugin -N :autocmd BufWinLeave * if empty(&bt) | lclose | endif :lexpr(':1:msg') | lopen | wincmd p | lclose E855: Autocommands caused command to abort $ vi -u /dev/null --noplugin -N :autocmd BufWinLeave * if empty(&bt) | lclose | endif :lexpr(':1:msg') | lopen | wincmd p | q E855: Autocommands caused command to abort Another issue with this autocmd is &bt in BufWinLeave may be different from the buffer being unloaded (this is documented behaviour for BufWinLeave). Replacing &bt with getbufvar(0+expand('<abuf>'), '&bt') solve this, but doesn't fix issue with E855 completely (first of above examples with :lclose is fixed, but second with :q is not fixed). So, to work around E855 I've changed way to close location-list: instead of closing it on BufWinLeave, it's closed on BufEnter into location-list window if it's only buffer in current window. |
||
---|---|---|
.. | ||
syntastic.vim |