comparison src/testdir/test_listdict.vim @ 21000:3b29ac3394dc v8.2.1051

patch 8.2.1051: crash when changing a list while using reduce() on it Commit: https://github.com/vim/vim/commit/ca275a05d8b79f6a9101604fdede2373d0dea44e Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jun 24 22:07:46 2020 +0200 patch 8.2.1051: crash when changing a list while using reduce() on it Problem: Crash when changing a list while using reduce() on it. Solution: Lock the list. (closes https://github.com/vim/vim/issues/6330)
author Bram Moolenaar <Bram@vim.org>
date Wed, 24 Jun 2020 22:15:04 +0200
parents 1fa0ace0ba65
children 6dc8625889fe
comparison
equal deleted inserted replaced
20999:0c32e18e0a19 21000:3b29ac3394dc
707 call assert_fails("call reduce(0z, { acc, val -> acc + val })", 'E998: Reduce of an empty Blob with no initial value') 707 call assert_fails("call reduce(0z, { acc, val -> acc + val })", 'E998: Reduce of an empty Blob with no initial value')
708 708
709 call assert_fails("call reduce({}, { acc, val -> acc + val }, 1)", 'E897:') 709 call assert_fails("call reduce({}, { acc, val -> acc + val }, 1)", 'E897:')
710 call assert_fails("call reduce(0, { acc, val -> acc + val }, 1)", 'E897:') 710 call assert_fails("call reduce(0, { acc, val -> acc + val }, 1)", 'E897:')
711 call assert_fails("call reduce('', { acc, val -> acc + val }, 1)", 'E897:') 711 call assert_fails("call reduce('', { acc, val -> acc + val }, 1)", 'E897:')
712
713 let g:lut = [1, 2, 3, 4]
714 func EvilRemove()
715 call remove(g:lut, 1)
716 return 1
717 endfunc
718 call assert_fails("call reduce(g:lut, { acc, val -> EvilRemove() }, 1)", 'E742:')
719 unlet g:lut
720 delfunc EvilRemove
712 endfunc 721 endfunc
713 722
714 " splitting a string to a List using split() 723 " splitting a string to a List using split()
715 func Test_str_split() 724 func Test_str_split()
716 call assert_equal(['aa', 'bb'], split(' aa bb ')) 725 call assert_equal(['aa', 'bb'], split(' aa bb '))