#653 - Always set loclist or quickfix in a timer callback, which prevents errors E924, E925, and E926

This commit is contained in:
w0rp
2017-08-22 21:19:36 +01:00
parent 47a8ebc8b9
commit 1a524ca63e
11 changed files with 107 additions and 176 deletions

View File

@@ -0,0 +1,38 @@
Before:
Save g:ale_set_lists_synchronously
Save g:ale_open_list
let g:ale_set_lists_synchronously = 0
After:
Restore
sleep 1ms
call setloclist(0, [])
lclose
Execute(The SetLists function should work when run in a timer):
call ale#list#SetLists(bufnr(''), [
\ {'bufnr': bufnr(''), 'lnum': 5, 'col': 5, 'text': 'x', 'type': 'E'},
\])
sleep 1ms
AssertEqual [{
\ 'lnum': 5,
\ 'bufnr': bufnr(''),
\ 'col': 5,
\ 'text': 'x',
\ 'valid': 1,
\ 'vcol': 0,
\ 'nr': 0,
\ 'type': 'E',
\ 'pattern': '',
\}], getloclist(0)
Execute(The CloseWindowIfNeeded function should work when run in a timer):
let g:ale_open_list = 1
lopen
call ale#list#CloseWindowIfNeeded(bufnr(''))
sleep 1ms
Assert !ale#list#IsQuickfixOpen(), 'The window was not closed!'