Mercurial > vim
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 |