comparison src/testdir/test_quickfix.vim @ 22256:c3c9830c7cdc v8.2.1677

patch 8.2.1677: memory access errors when calling setloclist() in autocommand Commit: https://github.com/vim/vim/commit/4d170af0a9379da64d67dc3fa7cc7297956c6f52 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Sep 13 22:21:22 2020 +0200 patch 8.2.1677: memory access errors when calling setloclist() in autocommand Problem: Memory access errors when calling setloclist() in an autocommand. Solution: Give an error if the list was changed unexpectedly. (closes https://github.com/vim/vim/issues/6946)
author Bram Moolenaar <Bram@vim.org>
date Sun, 13 Sep 2020 22:30:03 +0200
parents b7cc5d8ea702
children 849c6f766b19
comparison
equal deleted inserted replaced
22255:8b74d01f1dd6 22256:c3c9830c7cdc
1428 func Test_quickfix_was_changed_by_autocmd() 1428 func Test_quickfix_was_changed_by_autocmd()
1429 call XquickfixChangedByAutocmd('c') 1429 call XquickfixChangedByAutocmd('c')
1430 call XquickfixChangedByAutocmd('l') 1430 call XquickfixChangedByAutocmd('l')
1431 endfunc 1431 endfunc
1432 1432
1433 func Test_setloclist_in_autocommand()
1434 call writefile(['test1', 'test2'], 'Xfile')
1435 edit Xfile
1436 let s:bufnr = bufnr()
1437 call setloclist(1,
1438 \ [{'bufnr' : s:bufnr, 'lnum' : 1, 'text' : 'test1'},
1439 \ {'bufnr' : s:bufnr, 'lnum' : 2, 'text' : 'test2'}])
1440
1441 augroup Test_LocList
1442 au!
1443 autocmd BufEnter * call setloclist(1,
1444 \ [{'bufnr' : s:bufnr, 'lnum' : 1, 'text' : 'test1'},
1445 \ {'bufnr' : s:bufnr, 'lnum' : 2, 'text' : 'test2'}], 'r')
1446 augroup END
1447
1448 lopen
1449 call assert_fails('exe "normal j\<CR>"', 'E926:')
1450
1451 augroup Test_LocList
1452 au!
1453 augroup END
1454 call delete('Xfile')
1455 endfunc
1456
1433 func Test_caddbuffer_to_empty() 1457 func Test_caddbuffer_to_empty()
1434 helpgr quickfix 1458 helpgr quickfix
1435 call setqflist([], 'r') 1459 call setqflist([], 'r')
1436 cad 1460 cad
1437 try 1461 try